Joe Tauser

MVP 2016
  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by Joe Tauser

  1. The EX-RC1 is actually it's own little "blind" PLC without battery backed memory. You write a separate program for it and then query it via CANbus. They are listed under "Remote I/O" in the hardware config dialog. You can hang eight modules off the V1040, but I would split them up for panel space savings. The modules are about 4" wide. The first module in the local chain connected to the V1040 must be an EX-A2X, which doesn't show up on the config picture. You don't have to write any code to access these modules. I've attached sample hardware configuration base programs and assigned the first few channels. I'll let you try your hand at assigning addresses to the modules. Post your code when you're done so we can see you did. Look at the examples under the Help menu to see how to do CANbus. The analog modules I used are AI8's which don't do thermocouples (that's an ATC8). They are lower cost. Joe T. P. S. - I'm going to be offline starting next Tuesday for almost three weeks. There are other moderators who are extremely considerate that will be able to help you. Post your code with your questions to make our job easier. V1040 base program.vlp RC1 Base program.vlp
  2. Um... Unilogic is for the UniStream products. A V1040 uses Visilogic. Joe T.
  3. You didn't say what kind of analog inputs you have, but let's guess they are process type 0-10 V or 4-20 mA. We do not have a high-density analog module - you would need 9 IO-AI8 modules. For this configuration you would need to utilize a CANbus network with one of the strings of modules connected to an EX-RC1. Joe T.
  4. You could do this using the Protocol block to talk directly to the module. I looked at the manual for this and it seems fairly straightforward. Look at the example called "V130_Baldor_Flex_Drive" in the FB protocol directory to get a feel for what you'll need to do. Joe T.
  5. 100 ms may not be enough time for the token to go around. I've had other experiences with Unitronics function blocks requiring a bit of "cool-down time". Have you tried making your own request timer and varying the setpoint to see where it fails? Joe T.
  6. You're going to need a Modbus to Profibus converter. Here's one we sell: $312.00 US Joe T.
  7. You're going to have to make a cable, but it should work. On the Unitronics side- 3 - TX 4 - RX 5 - COM (0V) Search the Help for "RS232" and choose the RS232 topic for a picture. Cross TX and RX in your cable: GE M91 2 4 3 2 5 5 Joe T.
  8. Post your code. Joe T.
  9. First, are you using the load cell in AC or DC mode? I'd recommend AC. i have not done it this way but I can set up some hardware and fiddle with it if needed. The loadcell input is a 24 bit A/D, which translates to 16,777,216 counts. Try Mode 6, which is uV/V. The Help talks about mV/V but you have to have a way to enter the decimal places so it's really uV/V. What do you get when you use this mode? Post your code, too. Joe T.
  10. First, thank you for posting your code in your initial post. The V260 is an older model using the Standard Instruction set. It's like a V230 or V280. The V560 uses the Enhanced Instruction set and can be a different animal, especially on motion control. I looked at the code you posted on May 30 and saw O0 on the E5B is configured for PWM as well as O 96 on the TO16 module. You are powering up your duty cycle on both to 0 and then storing 900 to them in net 10 of the outputs subroutine. I'm surprised this works at all. Set the power-up value for MI 17 and MI 27 to 500 (50%) and delete net 10. You may want to read the Help on the Stepper Control tab for the E5B. It was not available on the V260 and is actually much easier to use if you are using the stepper for positioning. Joe T.
  11. UniCAN is supposedly token based. I don't even bother with timing - I just call SEND blocks and let the controller take care of it. Can you post what you have for both programs with the proprietary stuff removed? Of course you could just upgrade the V120 to a V130, too. Joe T.
  12. 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.
  13. 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.
  14. 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.
  15. 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: Joe T. modbus car spray1 JT.vlp
  16. Thank you for the contribution! Joe T.
  17. 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. Your motor will draw 21 amps, so get a 40 amp unit. You'll need to mount it on a heatsink. Joe T.
  18. 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: 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.
  19. 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.
  20. 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.
  21. 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.
  22. Going to Info Mode automatically indicates that your touch screen has shorted out. Joe T.
  23. 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.
  24. Calorie free. Enjoy! Joe T.
  25. 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.