Jump to content

Joe Tauser

MVP 2023
  • Posts

    2,855
  • Joined

  • Last visited

  • Days Won

    308

Everything posted by Joe Tauser

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Going to Info Mode automatically indicates that your touch screen has shorted out. Joe T.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. It's probably a hardware configuration problem. Post your code. Joe T.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. Send it to support@unitronics.com to Saragani's attention. Joe T.
  18. 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.
  19. 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.
  20. I have more time so I looked carefully at the program and with the silence termination the termination characters don't matter. I turned the silence up to 20 ms. I made your stream variable bigger to allow a little more room in case the scan is larger than you think. I also reset the Session Complete bit MB 1 in Net 4. You have to do that to cock the block for the next scan. This is probably the main problem. Let us know if it works. Joe T. 120-barcode-scanner2 JT.vlp
  21. In the COM INIT block, turn off Flow Control and Ignore Break. The RS485 signal is on the two outer pins of the com cable - try swapping them. Joe T.
  22. There may be a missing termination character in the barcode stream. Terminal programs are a lot more forgiving than Unitronics serial ports are. Does your terminal program have a hex mode where you can see ALL the characters coming in? If not, use this one: https://sites.google.com/site/terminalbpp/ You'll see it has a little radio button for HEX and ASCII selection. In hex mode, you will see all the characters including the non-printing ones such as CR and LF. This will allow you to really tell the difference between the outputs of the barcode readers. Joe T.
  23. It's your turn to beat on it. This is a learning opportunity. If you're still having problems tomorrow I'll load it into a control on my end. Joe T.
  24. Thank you for posting. We appreciate it! The problem is you are calling the all the Modbus reads with the same trigger and you're not checking to see if the Modbus task is busy. When you call a Modbus read block it actually spins off a separate process that takes a while to complete. It also really helps to put a little breathing room via timer between reads. I've modified your code to make a state machine cycle through the reads in order and slow it down to let the read function reset. I know the examples show chaining read blocks one after another, but my experience has been this doesn't work. You're probably going to have to update your version of Visilogic to open my file. You can fiddle with the delay times to make it go faster. You'll find that when you set them too low the blocks will hang up. Let us know how it works. Joe T. Thermofisher JT.vlp
×
×
  • Create New...