Jump to content

Flex727

MVP 2023
  • Posts

    3,259
  • Joined

  • Last visited

  • Days Won

    236

Everything posted by Flex727

  1. Nice. Any reason you're running it so slow? If it's a direct wired Ethernet connection, you should be able to run at least 10 times faster, or more. I would be using SB 7 instead of SB 3.
  2. Post your program and someone will take a look. Also, please provide the Ethernet settings of the computer you're trying to connect with.
  3. I can't remember the last time I tried to count to 4,294,967,296, but I believe that's the case. It's simple enough to test in online mode.
  4. Are you talking about a DW or an ML operand? The value when the register overflows is slightly different (the ML will go to the max negative value since it is a signed 32-bit integer, and will count up from there). In either case, no error will be generated. −2,147,483,648 to 2,147,483,647 is the range for an ML (32-bit signed integer) 0 to 4,294,967,295 is the range for a DW (32-bit unsigned integer)
  5. Yes, indeed. I add the copy when needed. It's very simple to do and can be extremely useful. I'm still waiting on the Holy Grail of being able to copy/paste between them.
  6. This is what the top of my computer desktop looks like. I have all of the versions of VisiLogic that I have used in a row and I move the Version Swapper icon to be under the version currently registered (so I don't accidentally try to open an unregistered version). I NEVER update the firmware of a working PLC in the field. I also place a text box on an easily accessible screen in the PLC program that tells me which version of VisiLogic the program was written with,
  7. Get some training. Unitronics has an entire Youtube channel. There are numerous example projects that came with your VisiLogic installation. Study them. Read the Help file that came with VisiLogic. Think of ladder logic as one continuous series of instructions executed from top to bottom and endlessly repeating. Ladder Logic is not like regular computer programming where you are executing some instructions and go off to do a subroutine from time-to-time when conditions present themselves. Subroutines in Ladder Logic are to break up the code into manageable chunks for easy readability, but all of them should be executed on every scan. The Main Routine should merely be all the Power-Up conditions and then each subroutine is called in the order you want to execute them. Nothing else there. Regarding the MLs. An ML is a 32-bit signed integer. The range of values is −2,147,483,648 to 2,147,483,647. An MI is a 16-bit signed integer. Its range of values is -32768 to 32767. Like I said it's okay to use an ML when only an MI is needed - I just wondered why. One technique to help avoid the need for conditional subroutines is called the "State Machine". Our resident super genius, Joe Tauser has kindly written an example for us to learn from:
  8. 1) If you want "main display" at startup, rename the default "Start-Up Display" to "main display" and use that. Don't use SB 2 for your start-up display. 2) Do NOT have conditional subroutine calls. It is poor programming practice and will likely cause logic issues because coils will be left in limbo. 3) Do not place coils in the same ladder rung after a subroutine call. Place the coil at the end of the subroutine itself. 4) You're using MLs for numbers that shouldn't exceed 1000 (percentages). Not harmful, but why? 5) Do NOT do conditional returns in a subroutine! That is asking for a Watchdog Timer error. 6) Avoid using GoTos. This is poor programming practice in nearly all programming languages, but especially so in PLC Ladder Logic. These are just the immediate problems I see. I haven't attempted to evaluate the logic.
  9. Glad you solved your problem. If you get a chance try to describe your problem and solution so that others might benefit.
  10. If you can post your code, I would install it in my V1210 on my test bench and see if it does the same thing.
  11. Post your program, or at least the Ethernet, Socket, & MODBUS configuration in the PLC.
  12. I've never seen this happen, but have you tried any troubleshooting? I would place an increment function just after the Power-Up contact to see if it's really passing the power flow. If so, then I would create an additional line with just the Power-Up and Increment function to see if they both do it. If not, I would delete the troublesome line and re-create it.
  13. Or even a IO-DI8-RO4, which might be just a smidgen cheaper.
  14. While there may be someone on this board who can help you, this is a problem for your SCADA administrator and is not a Unitronics problem. If you read the help file I directed you to and are following that advice, then you need to be looking at your SCADA configuration.
  15. Assuming you haven't stepped on Socket 2, which defaults to Socket 502/Slave, then you will need a ScanEX FB in the Main Routine. If you have that, then open the Help file and search on MODBUS Slave Addressing to understand how the SCADA needs to address the MODBUS queries. There are also example programs in your VisiLogic installation to show you how to do this. I have used Unitronics PLCs with many SCADA systems, including GE Cimplicity with success.
  16. Multiply the number by 100, if necessary, then use the Numeric HMI display and set the format to 2 decimal places.
  17. I'm at a loss as to how peak value would be any different than what I showed you in the post above.
  18. It would be helpful if you answered the rest of Joe's questions. Read Coils is MODBUS function #1. Force Coils is MODBUS function #15. There are example programs that came with your VisiLogic installation.
×
×
  • Create New...