Jump to content

Joe Tauser

MVP 2017
  • Content Count

    2,007
  • Joined

  • Last visited

  • Days Won

    187

Everything posted by Joe Tauser

  1. Modbus is a standard protocol. Unitronics just implements it, albiet starting the data address pointer at 0. Otherwise it's the same as everybody else's. I spent a day with a customer last week with a similar problem - he had 9 devices on an RS485 network and one of them just wouldn't talk to the Unitronics. I had no problem talking to it over the same network with my Modbus simulator program on my PC. My simulator allows monitoring the network traffic with time-stamping to .001 second resolution and I was eventually able to determine that the problem child was taking longer to respond than the other sensors. We fiddled with the timeout and retries on the Modbus config block in the program and got it to work. If you want to post your program we can have a look at how you've got Modbus set up. Also post a link to the Modbus table of the device you're trying to talk to with the program. Joe T.
  2. That's an easy one to overlook. I've gotten in the habit of assuming a new software revision includes a firmware revision, but you're not reminded by the software to check it. Joe T.
  3. Well that's irritating. Your solution, however, is clever. Pretty has nothing to do with it. I have done similar hackulations using the tools available to me to overcome the limitations of this and other brands of PLCs. All that really matters is it works. Make sure your add some comments to that ladder code before you save it off so you can remember what you did when you look at this a year from now. Good job! Joe T.
  4. When I opened this it says it was made with UniLogic v1.23.25. You need to update your UniLogic to v1.28.26 - this is what I saved it in and there have been some improvements to the Message Composer since your version. I edited your Message "test message" and embedded REAL data types with tag names T1 through T6. You already had the 20h spacers in there. Let me know if it works. I did not load and test it in a PLC, so I'll need you to report what happens with this code. Joe T. incubationSystemV4forum JT.ulpr
  5. I've always used Port 1 for OS updates. Any reason why you can't do this? Joe T.
  6. It looks like your delimiter is a space character (20h). You'll need to build your message to look for this. Post your code so we can see more. Joe T.
  7. You'll need the Ethernet port. If you have a router visible from the outside Internet you'll need to port forward port 20256 in the router to the IP address of the Samba. The USB port is for programming only. It's doesn't have the capability to be a master and drive an external device such as a WiFi stick. Joe T.
  8. The V700 has a different way of interfacing with Ethernet, as it has 8 sockets instead of the V1040's four. Open the Help and search for V700 - the first topic is how the Ethernet is different. You'll have to change how you monitor socket status. Take a look at this and let us know what questions you have. Joe T.
  9. Start simple. 1. Delete the "Coils Periodic" entries in your Modbus table. I'm not sure what this is doing. 2. In your "Registers Periodic" table, enter 43 as the address for your Speed tag, delete your Temperature SP entry, and add an INT tag for Motor reading address 34. Note that this will return the number 0 or 1, and you'll have to do something in your logic to change that into a coil for your display. 3. We'll worry about writing to the drive after you get this working. Post your code if you have more questions. If we can look at your program we can see things that aren't on the screen shots. Joe T.
  10. Be careful what you wish for.... Joe T.
  11. A "telegram" in SiemensSpeak is just a Modbus data packet. The UniStream will handle that for you. I think you're confusing coils and registers. The table you posted lists registers. A coil is a single bit and typically has an address of 0000x, while registers are numbers and have the format 4000x. FC 3 reads a register. FC 6 writes a value. Once again, the table in the UniStream will handle selecting the proper Function Code. Tell us exactly what you want to read and write from/to the VFD. I'm not sure what you mean by "ECHO" - does that mean write from the PLC to the VFD? Joe T.
  12. Looks like the USB-COMi-M is replaced by this- http://www.vscom.de/usb-com-plus-mini.html I don't, either. Whatever you find needs to say "isolated" somewhere. Joe T.
  13. Thank you for posting your code. There are many example projects that install with VisiLogic that will be helpful to you. Look at Help->Examples to see what's there. 1. In the Master you are continually calling the Modbus commands, which is like beating a kid with a stick to do the dishes. Every time he goes to pick up the brush you whack him with the stick again and knock it out of his hands. Use a positive transition and check the busy bit before calling the command, which will trigger it only once. 2. Command 5 (Force Coil) is exactly that; force the bit to a given state. The bit in the Slave doesn't turn itself off again unless you write logic to make it so. 3. Using SB1 (Always 1) when turning a bit on remotely and SB0 (Always 0) is more clear when you're trying to drive the bit to a known state. 4. There's no logic in the Slave to actually control O5. I added logic to drive the bit and to act on the bits from the Master to control the output and then turn themselves off after a short time. You've got to truly think like the PLC - it will only do what you tell it. I followed your lead with the separate ON and OFF bits in the attached files, but a better solution is to modify one bit in the Master and send that when either button is pressed. I'll leave this to you as an exercise. Your baud rate is pretty high, too, at 115200. I'd dial it down to 19200 on both sides. Load these programs into your PLCs and let us know what happens. Joe T. SLAVEMODBUSTEST JT.vlp MASTERMODBUSTEST JT.vlp
  14. What says? Externally, in Excel or something like that. This can be done in Excel but you'll have to brush up on your VBA to import three .csv files and format the cells automatically to get it to look like you want. Joe T.
  15. Don't do it serially if you can help it. Way too much pain. See if you can get a Sierra RV50x- https://www.sierrawireless.com/products-and-solutions/routers-gateways/rv50/ Connect to it via Ethernet and set up port forwarding in it for the Unitronics ports. In the US these work with any of the major carriers and we can get a static IP assigned to them, which not only allows email but gives us the ability to remotely log in to program and monitor the PLC. @Ausman - What do you do for this in your part of the world? Joe T.
  16. So what you're saying is the process pressure keeps rising after you shut the valve. Like its got a spring in it. I don't think this is a PLC problem, as the HMI and the gauge agree. If you observe the process when the valve closes, does the gauge say 80 or 90? What's probably happening is you have some stored energy in the system somewhere in the form of an air bubble or the valve isn't closing quickly enough to clamp the pressure at the setpoint you want. Without being there to look at it I can only guess. If the overshoot is always 10 bar or it's predictably linear in some way, I'd modify the logic to shut the valve sooner based on actual observed (empirical) process data. Joe T.
  17. Thank you for getting back to us - there appears to be an error in the Help on the Enhanced Series Slave Address table. @Cara Bereck Levy - can you verify this? Joe T.
  18. In real ModbusLand, there is no such function as an R/W MIX. Unitronics is doing some thread spooling under the hood with multiple separate operations for each line defined in the block. Also, it's not doing one Modbus operation per scan. You wisely put a Function in Progress bit in front of the block which keeps the operation from barfing and it will run as fast as its little legs will carry it, but that bit comes on and stays on until each Modbus operation in the block completes. That's what you're seeing on the remote screen. I am very tempted to set up a similar configuration in the Cigar Lab and look at the actual timestamped Modbus transactions using Wireshark, which will give me 0.001 sec resolution. If you want to play with Wireshark yourself, it is a free program but you need an old school Ethernet hub (not a switch) to plug your monitoring computer into along with both PLCs. The hub re-broadcasts all traffic out all ports, while the switch is aware of the IP address plugged into each port and will direct traffic accordingly. Joe T.
  19. Please elaborate - if you monitor the pressure online it lags the actual pressure? How can you tell and how much is it delayed? Joe T.
  20. Touch and hold the upper right corner of the screen. Joe T.
  21. Yes. You'll have to send them a text from within your ladder logic. Vision series Email blocks are not capable of using an email server that uses SSL, so you'll need to set up an account with a non-secure email server. The only public one we know of that can still do this is SMTP2GO. Look at the Example project for Email on how to set this up. Check out this post- Joe T.
  22. That converter is isolated. You'll need something like it. Go to byterunner.com and search for that part number. All the specs are there. Joe T.
  23. 1. Yes, all you need in the SM35 are a Modbus config and SCAN_EX blocks for it to be a slave. Is this serial or Ethernet? 2. Look in the Help for Slave Address Tables for the Enhanced Vision series. The offsets are given in hex, and your SCADA probably is looking for decimal values. If you can enter the addresses in hex it will be easier. MLs - 7000h or 28672 = ML 0 MFs - 4000h or 16384 = MF 0 You may also have a problem with the byte order, as these are 32 bit values. You may have to byte swap in Ignition to get the right value. Also, each register takes up two places in the SM35's memory. Don't forget this when you determine addresses, i.e. ML 2 = 28676. I'd start your testing by reading MIs, which are 16 bit and start at 0. If Ignition follows standard Modbus addressing, this will be holding register 1. Give us some examples of the exact addresses you're looking for and we can check the value you're reading. Also post a screenshot of the Modbus config table from Ignition, as I am not experienced with this package. Joe T.
  24. Do it with individual math blocks in the logic. Or you can cram it all into a formula block. When I'm first working out an equation I prefer the individual blocks all with separate MIs so I can see the results of each calculation. You've already worked out 50 pulses / inch, so one pulse = 0.02 inch. The frequency value in the MI is in units of pulses / sec. So.... f (pulse/sec) * 0.02 inch / pulse * 1 ft / 12 inch * 60 sec / min = feet / min. I'm not going to spell it out any further in this post - your exercise now is to try to program the above formula and post your code. Or try something that doesn't work right and post that code. This is how we learn. Joe T.
×
×
  • Create New...