Jump to content

Joe Tauser

MVP 2023
  • Posts

    2,863
  • Joined

  • Last visited

  • Days Won

    308

Everything posted by Joe Tauser

  1. Yes, it is possible. The modems are supposedly transparent to communication. You'll need to turn your TCP packet timeout up (SI 101) to something longer than the modem time lag. Otherwise the PLC closes the socket on you without much explanation. The Help says this value maxes out at 10 (1 sec) but we have pushed it to 50 and it still works. Joe T.
  2. Yes, it should have turned it off but upscale burn is not built into the PID block. It may be something in how you have it configured - can you post your code? Joe T.
  3. It sounds like your cycle runs rather quickly if you're doing a one second poll. PLC model? Serial or Ethernet? I would buffer the data in the PLC itself while the cycle is running and read the data from there after the fact. You're going to have a hard time synchronizing a Windows box to a PLC at that speed. Joe T.
  4. First off, use COM Port 2 for Modbus unless you have no other choice. Port 1 is used for programming and OS updates - the PLC will stomp on your communication code if you need to log in while the program is running. You want to use the SCAN_EX block in new applications. The SCAN blocks are for legacy support. Be sure to read the Help on "Slave Address Tables" to see how Unitronics maps Modbus addresses. I modified your code a bit to show good programming practices. You had several logical statements in one net in several locations, which is generally a no-no. Look at what I've done and you'll understand. Additional nets cost nothing, but having too much going on in one network can cause unexpected behavior because of the compiler. I found this on the web for the Pi side: https://www.cooking-hacks.com/documentation/tutorials/modbus-module-shield-tutorial-for-arduino-raspberry-pi-intel-galileo/ Joe T. modbus car spray1 JT.vlp
  5. Thank you for the contribution! Joe T.
  6. You can do this, but you need a DC MOSFET SSR. A regular one won't turn off, as the triacs in it are waiting for the supply to cross zero volts. Which won't happen. http://www.crydom.com/en/products/panel-mount/perfect-fit/dc-output/ Your motor will draw 21 amps, so get a 40 amp unit. You'll need to mount it on a heatsink. Joe T.
  7. Does this problem bring back memories! Windows NT 4.0, no less. You have a memory leak. Unitronics programs were originally written in VB. I don't know if all them were ported to .NET; that is a question for the Creators. Start with this suggestion: https://superuser.com/questions/763651/how-to-find-source-of-memory-leak-in-windows-7 You'll have to determine if DataExport is growing larger as it runs, like The Blob from the 1958 classic movie. Let us know what you find. Joe T.
  8. I'd slow your timer down to 10 sec or more so you can see what's going on. I also always include a Copy Buffer block and select another MI area to look at the last buffer value. A little-know secret in Visilogic is the Memory tab at the bottom. Enter the beginning register of your copied buffer, set the length, Size 8 bit, and Format ASCII. You'll be able to see your buffer data in readable form. Troubleshoot your code from there. Joe T.
  9. A 1X is an input in Modbus land. If you're working with MBs you have to stay with 0x addresses. List some the addresses you're trying to write. Joe T.
  10. The string format in the Scan function block only works if the string is guaranteed to have the same format every time. Yours does not, so you need a different method. The proper way to do this is to use one massive stream variable and then strip off what you don't need using the string function blocks. If you'll post your .vlp code I'll make some modifications to get you started and put it up. Joe T.
  11. Going to Info Mode automatically indicates that your touch screen has shorted out. Joe T.
  12. Reviewing it today I realize that what I wrote won't work; it was late when I put it together. As I like to say, my code never works right the first time. Take a look at this Joe T.
  13. Both Aus and hotwires are correct in suggesting deadband control. Your output is going to chatter incessantly with one compare block, which is basically trying to hold 1 PSI. Here's some simple hysteresis logic for a Jazz: Feel free to critique my logic. I didn't have a Jazz handy to test it on. Joe T.
  14. The PLC clock is usually accurate to a minute a month. It should not drift as much as you are noticing. You did not state your frame of reference for observing time. Is it on the PLC screen, or are you communicating with the PLC? Serial or Ethernet? At the end of the day, the PLC clock can be counted on to 0.01 second. If you need better than this you need another device. Post your code so we can see what you're trying to do with synchronization. Joe T.
  15. Look at the existing Modbus examples to see how the function blocks go together. It looks like you can talk to the drive using Modbus rtu via RS 485. Look at this document starting on page C-2 - http://literature.rockwellautomation.com/idc/groups/literature/documents/um/22a-um001_-en-e.pdf Have you done any type of Modbus before? It's not the simplest thing to do in Unitronics if you don't have a firm grasp on the Modbus protocol . You may want to look at my post at the bottom of this thread: http://forum.unitronics.com/topic/3582-modbus-rtu-and-danfoss/ Joe T.
  16. Thanks for the update! It sounds like you've learned some of the secrets of Modbus troubleshooting. You can't beat an external program and a 485 converter to find the gremlins. Joe T.
  17. It's probably a hardware configuration problem. Post your code. Joe T.
  18. Security like that is not built in to Unitronics, as you've concluded. One thing I've done is to roll my own authentication code based on a collection of mathematical operations. Each Unitronics PLC with Ethernet has a unique MAC address located in SDW 22 and 23. You could keep track of these in your server an create a code to send along with your data. Put logic in that matches the reverse of your math operations and use the result to verfiy the proper data origin. You have not given the details of communication. If you are going through the Internet, there are already many security methods available to clamp down on unauthorized data transmissions. This may be a better question for a good IT person. Joe T.
  19. Afterall- What's a Modbus Poll license? This thread has run for a while and you've tried a lot of things. We still don't know which end the problem is on - the Unitronics side or the Danfoss side. Unitronics Vision series can be tricky to set up Modbus on as you have to write your own code to make sure the Modbus task isn't busy, as well as make sure the Rules of Modbus are being followed, as Ofir pointed out. I'm afraid you're going to have to set foot in advanced troubleshooting land and do some testing using known software on a PC to gather some known information. With this you can hook the two sides together. You want to use a PC because the addresses, lengths, and COM port parameters are super easy to change to try different things. 1. Go online and order a USB to RS485 converter for your computer. A quick Google search produced this: http://www.usbgear.com/GM-485422.html but any one with terminals will do. 2. Here are links to limited use Modbus Master and Slave programs that you can download for free: Master: http://www.simplymodbus.ca/RTUmaster.htm Slave: http://www.simplymodbus.ca/RTUslave.htm 3. Establish communication between Unitronics and the Slave PC program. 4. Poll the Danfoss with the Master program. 5. Let us know what happens. Post any code that works or doesn't with questions. I bought a PC-based Modbus program years ago and it remains one of my best troubleshooting tools. If anyone is interested I use this one - https://www.calta.com/mdbus.htm I get no compensation for this. I am just an extremely satisfied customer. Joe T.
  20. I have actually had this happen to me on another computer. It has something to do with file extension associations in Windows. Alas, my aging brain does not remember if it was fixable or just had to be tolerated. Creator input? Joe T.
  21. You can if you add a V200-18-E3XB to the back of it. The V700 does not come with an I/O module. The Samba series SM70-J-TA22 supports thermocouple inputs, but you can't expand it any farther than what it comes with. The amount of I/O you need for your application should help you decide which route to go. Joe T.
  22. Send it to support@unitronics.com to Saragani's attention. Joe T.
  23. If you're still having trouble here's a tip - take out 1 second pulse (SB 13) as the sequence starter and put your own start bit in for testing. Don't forget to reset it at the end of the sequence. Joe T.
  24. You've probably already deduced that a regular linear block can't handle this. You're going to have to go into floating point land. Convert ML 0 into a float an look at the functions available under Math->Float. To see how to convert it, search "float" in the Help and choose Float:Convert. Read the other Float topics while you're in there. Here's a page I found that may have the formula you need: http://stackoverflow.com/questions/19472747/convert-linear-scale-to-logarithmic Google is your friend if you need more insight on the math. It's been 30 years since I exercised the top buttons on my calculator. Have a go at it and post what code you come up with if you need more help. Joe T.
×
×
  • Create New...