Jump to content


Popular Content

Showing content with the highest reputation since 05/22/2018 in all areas

  1. 3 points
    Hi All I purchased this device on ebay. The model number is "VAP11G Bridge Cable Convert RJ45" (probably many alternatives available) Cost around €15.00 Works a treat on unistream. Plug in the ethernet and power via the USB port. PLC can now be programmed with the panel door closed over wifi. Should also work with Vision but you would need a power bank or 5v power supply.
  2. 2 points
    @chay Seriously, dude, you are going to catch nothing but grief asking questions like this on the forum. This forum is maintained by unpaid volunteers. If somebody posts code showing that they have put the time in and tried to learn themselves we will bend over backwards trying to help them. Put the time in yourself. Then ask questions. Joe T.
  3. 2 points
    LOL!!! I love you guys. If I ever win the lottery, I'm flying you all to headquarters for beer and burgers! Here is an even older logo...
  4. 2 points
    Something tells me that @Joe Tauser's troubleshooting face is the same as his regular one.
  5. 1 point
    Hi, On the 15 August we got a few complaints that customers get this run time error 5 when they are trying to download application via U90Ladder. We investigated more and found that this is an issue caused by the latest Microsoft update. In order to solve this issue until Microsoft will release new update - Please try to uninstall the update via "New installed updates" or roll back before the update. Please see below link to Microsoft update and known issues: https://support.microsoft.com/en-us/help/4512508/windows-10-update-kb4512508 *For other version of Windows Microsoft KB article number will be different. Article can be found in the below link: https://support.unitronics.com/index.php?/selfhelp/view-article/u90-ladder-and-runtime-error-5 Best Regards,
  6. 1 point
    Just for clarity to everyone following this saga. The EXL-CAB295 is for the EX-A2X, NOT the EX-A1!
  7. 1 point
    Update firmware before first program download
  8. 1 point
    I've recently been teaching myself Unilogic after using Visilogic for about a year and the thing that sticks out to me the most is that while Unilogic definitely looks more "modern" the UI is absolutely horrible and wastes so much space. To the point where I'm having issues using the program on a single screen compared to Visilogic's much more condensed and less cluttered style. Is there a theme or setting that I'm missing that could lower the entire UI scale or something along those lines?
  9. 1 point
    Just a few comments regarding the Ewon Cosy VPN router and its integration with Unistream controllers. I have used the Cosy to remotely connect to a Unistream 10.4" HMI via VNC through internet and it works great. I also used the NAT 1:1 function, so that the user won't need to use internet when connected in the same LAN. Connection is 100% reliable and response is relatively quick, there is a bit of lag but it is fairly acceptable. It takes approx. 15 min to set it up and get it working, only very basic networking knowledge needed. Connection is achieved via Ewon's M2WEB cloud service and requires to have a valid TALK2M account. Unit price for a COSY 131 is quite high (490 Euro), but in my opinion it is worth as connection security is number 1 priority.
  10. 1 point
    #1 - Do NOT place multiple logic threads in a single ladder rung. #2 - It appears that you are not using the Timer correctly. Here is the Help entry for the On Delay Timer you are using. You must use the Out bit. If you are still not understanding, ask a specific question and we will help you.
  11. 1 point
    For what you want I wouldn't be going to too much trouble. The unit uses about 12W max so I'd find yourself a little enclosure like my pic I found. Plastic lids are very easy to work with, and if you don't have precise machinery to machine the hole, you can easily do it carefully with a jigsaw. Put some duct tape on where you're cutting to protect the surface that will remain. For power I'd simply use an external plug pack, and run the lead through a nylon gland on the side of the box. Same goes for your ethernet connection, use a gland big enough to let you run a standard ready made patch lead through of the right length. Your location will dictate where you get this stuff, all of it can normally be found at any decent electricians' supplies store, or a hobby electronics type place. cheers, Aus
  12. 1 point
    Did you look at the Help file? The example is for an older PLC, but the basics are the same. When you place the Timer HMI element on the screen, link to the timer operand you want, check the Preset box, and the Keypad Entry box. Also, set up the Format and other niceties for your HMI element. That's all there is.
  13. 1 point
    Hi all, I'm sure lots of you know about these things that make life much easier using com ports. But in case you don't, here are 2 links to different sources amongst many: https://www.aliexpress.com/i/32860271754.html https://www.amazon.com/fosa-Ethernet-Terminal-Splitter-Connector/dp/B07D355PDX cheers, Aus
  14. 1 point
    Please post the make and model of the CT. A link to a data sheet would be even better. Joe T.
  15. 1 point
    I like your way, too! It demonstrates that you can think in terms of bits, which are the foundation of all the other data types. There's a cat being skinned multiple ways somewhere.... 😁 Joe T.
  16. 1 point
    Justin, Thank you for posting your code with your question. For starters, download the examples and take a look at them. Also look at the Help under Contents->Tags->Data Types. I've looked at your code and have a couple of suggestions- 1. Your tag names are way too long - you can't easily see what you're doing in the code and selecting them when you drop a contact becomes cumbersome. I know UniStream allows these long names but the Creators didn't give us a method of displaying more text on the display so it's easy to get lost with overly verbose names. 2. Similarly, use short names in the "Alias Name" in the IO tags tab. "URB Adapter1_O..." means nothing. I see you have three four output modules, so I'd suggest "Out1" to "Out12" as I don't know what these really are. The alias tag is set at the bit level, and you can use that name when writing your code. 3. An easy thing to be confused about is thinking that timer function blocks act the same as a contact themselves. They do not. A timer is an object that has .Preset, .Current, and .Out properties. The .Out is what you assign to your contact elsewhere in your logic. 4. You do understand that a TE timer is a pulse, right? Usually people use TD (delay) timers. Always start a TE with a positive transitional, unless you want it to keep pulsing. I hacked on the first few rungs of your code, renaming things per the above suggestions for the East Lane DDA In. You'll see I shortened the tag names considerably and aliased the outputs. Let us know what further questions you have. Joe T. P.S. - You may want to ask your local friendly distributor to help with some initial training on the product. I do this for my people. EIDSpeedLanes_modified1 JT.ulpr
  17. 1 point
    It's 16383. There are 2^14 counts, but it starts at zero, so the highest number is 2^14-1 (all 14 bits on would be 2^14-1, or 16383). This is what goes into your linearization block, though you would likely never notice it in the real world if your linearization was off by 1 part in 16384.
  18. 1 point
    I have found the Vect. Linearization block most useful in Visilogic for dealing with applications involving temperature. For example, how do you get rid of that pesky decimal point on a whole thermocouple module in one fell swoop? Here's how- So when I'm translating this application to UniStream I discover this block is missing. The Help on the UniLogic describes how an array can be passed as a parameter, but it doesn't mention that only one element of the array can be passed. I spent a fair amount of time trying to specify my thermocouple structure as the input argument to the Linearize block to no avail and eventually contacted support. No, you can't pass a whole array. So having learned my lesson from the PWM block I went looking in the examples. Sure enough, one of the Creators had wisely made an example app containing the "Linearize Array" UDFB, which is set up to handle a 16 element array. Make sure all your variable structures and data types match when you're using any UDFB. On top of removing the decimal, my customer made the totally unreasonable request of being able to convert all the temperatures from F to C from a button on the screen. Fahrenheit rules the world! No, wait a minute, it doesn't. Anyway, here's what I came up with using the UDFB- Remove the decimal. Notice that the convert F to C block does it automatically- Now the first time I did this, I realized that all the user setpoints were still in the units entered. So we have to convert all those, too. I do like how the input parameters are easily recognizable and editable using the UDFB. And good times where had by all. Joe T. Linearize Array.ulle
  19. 1 point
    It's totally this. It helps you organize the subroutines into subcategories. I rarely use modules (other than the Main module, of course), but once a program gets extremely complex, grouping subroutines into modules can make program development and troubleshooting a bit easier. The PLC doesn't care.
  20. 1 point
    Sounds like you are just interested in data transfer between all the PLCs, not handshaking. There are many ways to do this. I normally use MODBUS TCP when transferring data between PLCs over Ethernet. You need to assign one or more PLCs as the MODBUS Master. There are multiple ways to do this as well, but one way that allows all 4 PLC programs to be nearly identical would be to make PLC 1 Master to PLC 2, PLC 2 Master to PLC 3, PLC 3 Master to PLC 4, and PLC 4 Master to PLC 1. This daisy chains all the data around to all the PLCs. The drawback is if one of the PLCs goes down, then the chain is broken. Another option is to Make PLC 1 the Master to PLCs 2-4. PLC 1 would collect all the data and distribute it to the other 3 PLCs.
  21. 1 point
    Every time I got corrupted file, it was because I had to add new font because default fonts can't display č. I learned this lesson once, but still remind myself from time to time. Did you ever lose any critical data?
  22. 1 point
    Another meaning. Maybe it's "Push this button, stupid".
  23. 1 point
    Hi Nahum, Thanks for the advice. I also did some testing using a PC based Modbus master simulator (ModScan) and confirmed the situation as well. I also found that there was an offset of 1 between the internal UniLogic address value (in the Modbus Slave configuration) and the external Modbus address. For example coil register 9472 appears as 09473 (Read Coils (1)) or 19473 (Read Discrete Inputs (2)) I think it would be a valuable addition to have an explanation of this in the UniLogic help file under Modbus Slave. For example: Coil values can be read using either Read Coils (1) or Read Discrete Inputs (2). For example coil address 4444 can be accessed as either 04445 (Read Coils (1)) or 14445 (Read Discrete Inputs (2)) Register values can be read using either Read Holding Registers (3) or Read Inputs Registers (4). For example Register address 1111 can be read as either 41112 (Read Holding Registers (3)) or 31112 (Read Inputs Registers (4)) Maybe add a configurable offset value to UniLogic, so this offset can be corrected in future applications, without destroying backward compatibility?? It has always been a common "gotcha" with Modbus, to discover who counts from "0" and who counts from "1". Thanks, Simon
  24. 1 point
    On the screen issue, in theory it can't happen with Visi not letting you do it, but sometimes it does and needs an extra pixel clearance on what Visi lets you do as minimum etc. I know this is a bit convoluted explain, but its the best I can do! cheers, Aus
  25. 1 point
    Hi, I have confirmed that compiling Remote Operator so it would target .Net framework 4.0, while .Net 4.8 is installed fixes the problem. Luckily, there is a workaround that can help you run Remote Operator with .Net Framework 4.0 and newer without getting a new Exe. Go to where Remote Operator is installed, usually at: C:\Program Files (x86)\Unitronics\Remote Operator\ You should find a file called: Remote Operator.exe.config Open this file with Notepad or Notepad++ while it runs as Administrator (since you are going to change a file located in Program Files, and Windows will not let you do that unless the change is being done by a program that has Admin rights). Just replace the entire content of that file (it should be a text file in an XML format, so make sure you don't accidentally open the exe file instead), and save the file. <?xml version="1.0"?> <configuration> <configSections> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <section name="Remote_Operator.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> </sectionGroup> </configSections> <appSettings> <add key="EnableLogger" value="False"/> </appSettings> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="Libraries;StartupLib"/> </assemblyBinding> </runtime> <userSettings> <Remote_Operator.Properties.Settings> <setting name="RdpVncMode" serializeAs="String"> <value>False</value> </setting> <setting name="AutoRun" serializeAs="String"> <value>False</value> </setting> <setting name="ProjectLoadOption" serializeAs="String"> <value/> </setting> <setting name="SelectedProjectToLoad" serializeAs="String"> <value/> </setting> <setting name="StartWithWindows" serializeAs="String"> <value>False</value> </setting> <setting name="FullScreenMode" serializeAs="String"> <value>False</value> </setting> <setting name="AutoRefreshInterval" serializeAs="String"> <value>100</value> </setting> </Remote_Operator.Properties.Settings> </userSettings> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> The line that was added to the config is just after the </userSettings> and before the </configuration>. It's the: <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> which tells it to target .Net framework 4. Please tell me if it helped. Thanks.
  26. 1 point
    By the way... in future... Do not rename the main display when you start a new project. Never wipe the main display out of the project - this leads to incorrect order of display on the screen. And this can not be fixed by creating a new main display. This feature was studied by my students. After wiping the main display, they were not able to restore the normal sequence of opening display at startup and must to completely redesign the project from an empty project. P.S. In your project this isue not appear.
  27. 1 point
    Well...you could always do a test of more than 32 on your testbench and see if it works! But in this case I think it will be correct. However, I get the feeling that what you are essentially doing is a BAS. Futher to my suggestions, you could retain all your current infrastructure by having my "sub-masters" plcs on each building level/major location, gathering data via the existing 485 network on that level, then holding that collated data until read by the Unistream via another 485 port on the subs. This way you would not need significant changes to the exisiting wiring topology. It would almost be a case of a few cuts and splices on each building level. (And it sounds like a bit of a hodgepodge wiring setup anyway, with the topology being "non-standard"! 🤣 It is surprising how tolerant 485 can be at times. I've seen all sorts of odd connections that work. And I've also seen the ones that are perfect and have issues! Go figure. ) The only real difference would be the need to have the collating plcs having 2 x 485 ports, the ability to poll all the other the little plcs on that level and collate that data ready for transmission to Earth Central. Edit PS.....And something else is a Winner, you lose the need for so many 02RSCs. Hmmmm!!! That might pay for the different Subs! cheers, Aus
  28. 1 point
    The third post in this thread provided your answer which you either missed, ignored, or didn't understand. To be clear, NEVER call an HMI screen with a direct contact. You MUST use a transition contact - always. Also, please restrict your ladder rungs to only a single logic thread. One logic thread = one ladder rung. Do not stack them up. They will often work, but it can be unpredictable. Avoid conditional subroutine calls. Avoid HMI screen calls or subroutine calls with other logic in a ladder rung (i.e. other coils or FBs).
  29. 1 point
    I tested it with a struct, and it works. Can you try to "Build-All" and then download the project to the PLC? (It should say that the project is identical, if you have not changed any thing). If the project was downloaded (meaning, no identical project message), then check if the Reset Numeric now works correctly.
  30. 1 point
    Hi Try using a positive transition contact on "Video Timer Out" on net 2 You may be calling the screen continuously with the direct contact. Regards Denis
  31. 1 point
    We need to see inside those function blocks to provide any meaningful help. Post your .vlp file. Alternatively, you can review the example projects that came with your VisiLogic installation. They show the proper way to set up MODBUS TCP communications.
  32. 1 point
    @Saragani FIXED! Thank you very much for this, I tested the file and it works perfectly. See the snapshot, one is with the file, the other is not. What was the bug? running out of memory somewhere? Again, thank you all for your help and Saragani for fixing the problem. Cheers!
  33. 1 point
    @stembera, the problem was also reported here: If the issue still reproduces on your computer, can you please check it with the DLL on that thread, and update me? Thanks
  34. 1 point
    This is a user forum. While Unitronics employees occasionally weigh in, this forum is mostly populated by users who are not directly affiliated with Unitronics. I recommend that you send an email to support@unitronics.com to get an answer directly from the source.
  35. 1 point
    https://unitronicsplc.com/Download/SoftwareUtilities/DataXportSetup_3_1_Build22.exe Found under the listings at the bottom of this page: https://unitronicsplc.com/software-visilogic-for-programmable-controllers/ cheers, Aus
  36. 1 point
    Items of note: - There are no subroutine calls. - You are still unnecessarily combining too much logic into a single ladder rung. - Your alarm comparisons should be "</=" or ">/=" instead of just "=", and perhaps should be latched. - You have multiple instances of comparison blocks with no coil following, so they do nothing.
  37. 1 point
  38. 1 point
    I've used Motorola (bought by Zebra) with Vision products and had good luck. Haven't tried this with UniStream yet. Joe T.
  39. 1 point
    Is this another solution? Just learned to use the copy byte function in the logic menu.
  40. 1 point
    Perhaps the timeout and retries on the missing slave are upsetting whatever intervals you have set for the sequential reads from all the others. Carefully go through the total possible timing per read and ensure that you have allowed sufficient "overlap clearance". cheers, Aus
  41. 1 point
    Hi again all, In setting up a new little computer that I'll talk about soon in another post, I persevered with an issue I could see arising. Discussed this with Saragani and eventually arrived at this simple solution. I was worried that if the tablet was ever lost or stolen, the device had all my ethernet links and passwords to remote sites on it, essentially embedded into Visilogic. Not really a good thing to have all the client's websites and plc access readily available to the crooks! I wanted a simple way to have that info somewhere else, like the TF card that I could remove as necessary. I considered installing the entire program onto the card, but this would then lead to lag as it was accessed for everything. Instead, I eventually found out about Symbolic Links. Those of you more into puters than me likely know of them already, but they were news to me, even though I've been using puters from when you ran them by burning a stick! They work like a shortcut that Windows itself uses. If Visilogic is being correctly run as Admin, it stores all the ethernet settings in C:\Program Files (X86)\Common Files\Unitronics as a file called Eth_Favorites.evb. What the link does is leave a "redirection" at that location to the location of the "real" Eth_Favorites.evb. In my learning curve, I found lots of info, with this site being the best explanation: https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/ and the little program that I found easiest to use and doesn't install is here: http://www.softpedia.com/get/PORTABLE-SOFTWARE/System/System-Enhancements/Portable-Symbolic-Link-Creator.shtml We now come to how to use it all, so have a look at the attached screenshot. It is all pretty self-explanatory. The Real info is at E:\Unitest\Eth_Favorites.evb whilst the link is in the correct folder. If you do it correctly, it all works and is totally transparent. To make sure of full operation, do a test address to ensure that the real .evb is updated correctly. Using Notepad++ or similar, you should see the test address has been correctly added after you close the program. cheers, Aus
  42. 1 point
    Under System.SD Files you have a bit called "Date DT Busy". If I understand correctly, then you need to use it. If you have 2 writes happening at the same time, then you will cause problems. In every file system, a file can have multiple readers, but only one writer. You can also use the status of the Store DTI. 0 means success (or no errors), 1 means in progress, and any negative number means error. As soon as you call the Store DTI to file, the status changes from 0 to 1, so you can check the value before trying to execute another write. When loading a DTI from file, you should also check the status (so no read is in progress, because either the file might be in use, or the table is currently being loaded from file.
  43. 1 point
    I think he also wants the tank to fill up. In this case, he should have a transparent hole in the image, and put a bar graph (meter) behind the image.
  44. 1 point
    Timers are good until you need to extract information, like machine down time. Then it's time to make your own so you can do whatever you want with it. Unitronics doesn't have a built in stopwatch picture, so I Googled "stopwatch image" so I had something to put on the screen. Then I put my time calculation registers on top of it. Take a look at the attached program. Joe T. Stopwatch.vlp
  45. 1 point
    Hi all, I thought I'd share a little trick I've had for many years...in case I get hit by a bus. Hate to see it wasted. Much of my stuff is machines that plug into normal General Purpose 10A outlets (Aus = 240V). As such, years ago I had a lot of trouble with DC motor drives pulling way too much current when they were powered up, and they would routinely trip the breaker on that circuit. A normal solution would be a different curve breaker, but in these locations this was not possible. Most Inrush limiting devices are designed to be on the load's PCB, but back then there was little around for me to use anyway. I had to come up with a bullet-proof but simple way of doing it. As usual the brain got the washing machine going and out came this idea at the end of the cycle. I ended up with 2 variations of the theme on the attached pdf. 1). The pdf version uses a relay and normal light globe. The globe reduces the inrush to minimal levels because initially it is running at it's "normal" conditions. But there is enough voltage still getting through to the load that it charges up it's capacitors with hardly any higher current at all and the globe's brilliance decreases as this happens. It's essentially working as a simple resistor. Once voltage at the load reaches the relay's trip threshold, the relay turns on and supplies full power until the main source is switched off. You vary the globe's wattage to find the ideal compromise time, in most instances I work on 0.5 to 1 second. You will be surprised how well it works if you do an experimental lashup. 2). In many cases I have multiple drives to power and I use the PLC to control the initial powerup. They all go through a master safety contactor when running directly, with a further individual relay/contactor downstream for each. In this case I initially run them sequentially through a link to a globe in the same manner. ie the globe "neutral" is on the downstream side of the master contactor but before the individual switching. The PLC runs them all through a sequential power up via the globe and then closes the main contactor once all the routines finish. Thus I have a single globe that glows brightly, dims, next drive turned on and globe brightens again, dims etc etc with all drives eventually being powered direct. Once it is all finished, I then do the motor control necessary. I know that most of the time this is not necessary. But I still encounter moments when this method has proven itself time and time again. The beauty is the inherent simplicity and also the ease of replacing the restrictive mechanism...the globe. Not that I have had to do it. I first implemented it over 20 years ago and on ALL devices it is still working on the same drives....and the same globe! Globes must, of course, be nasty "environmentally unfriendly" old fashioned filament types. Not modern, "full of mercury and electronics" flourescents, or "specific frequency hard on the eyes" LEDS, which are all sooooooo much better for the environment...ha! But that's another discussion along the lines of a Prius vs a Hummer! cheers, Aus INRUSH LIMITER.pdf
  46. 1 point
    Hi MattP_Mac, 1.Make ping from your PC to PLC IP. Does PLC answers? 2.Open DOS prompt at your PC and enter "telnet 20256". DOS display will blink, clean and stay black. Is this what you see? 3.Enter PLC info mode and check Socket 1 status. Is it connected? Share test results. B.R.
  47. 1 point
    First, all you can do in Unitronics is put in a DF1 scan block to make it a slave. It can't trigger any writes. You'll have to do all the legwork in the the AB PLC with MSG blocks. You don't get to be that specific. If you look at the Unitronics Help, the Allen Bradley B files are mapped directly to the Unitronics MB file starting at 0. The only problem is B0, B1, and B2 don't exist in Allen Bradley and the B3 file is the default bit file, which will start mapping at MB 768. To further confuse things, Unitronics assumes that all AB files are 256 words long so you have to take that into account. So Allen Bradley B11:0/0 starts at MB 2816 (11 x 256) and B10:0/0 starts at MB 2560 (10 x 256). These locations are hard-coded with the Unitronics DF1 scan block Clear as mud, I know. Your best bet is to connect the two together and start playing with AB MSG blocks in their software while you're watching the Unitronics MB memory to verify where things land. It would actually be easier to get an external DF1 to Modbus converter, which would give you more address control and allow the V570 to initiate communications. Just my personal opinion. Joe T.
  48. 1 point
    Hello, SAMBA doesn't have the same memory specification like V350/V570. As you understand SAMBA is 1/10 memory capabilities compare to V350. Samba is especially suited for small machine applications. Like Jazz, Samba is designed to give an optimal price/performance for low-end PLC and even to Smart Relay customers. These are OEMs who make small machines that have low I/O requirements. Samba is a step up for them – allowing OEMs to offer a color touch screen instead of their current text display. Most of the memory is occupied by the HMI variables, HMI variables with more properties can take more memory. Please note that converting projects from V350/V570 to SAMBA may cause to incompatibilities between operands. I hope it helps…
  49. 1 point
    Ah, the classic toggle coil conundrum. This is the first thing I teach in my PLC class and is a lot harder than it looks until you've seen it done. It takes a while to get a real feel for the way a PLC solves it's program and the power of bits. I'd highly recommend taking an hour or so with the Help file and going through each function in the first couple of menus - Boolean, Compare, Math, etc. It really helps to know what tools you have available and how they work. Joe T. plciolatches JT.vlp
  50. 1 point
    Hi, this option was made in order to remove the Splash Screen Fade in/out. With RDP (Not in VNC or Logmein), each time a frame need to be rendered, it will send it to client and only then will render the next frame. This caused the splash screen to take forever since each time the opacity got changed, instead of taking like 20ms or 100ms for the next opacity value to show, it had to wait for the client to get the splash screen image and only then change the opacity. This option only removes the fade-in/out.
  • Create New...