Jump to content

Flex727

MVP 2023
  • Posts

    3,325
  • Joined

  • Last visited

  • Days Won

    241

Posts posted by Flex727

  1. And one other thing, and this is mostly my personal preference - others may feel differently - but I don't like any conditional subroutine calls. This includes subroutine calls from the HMI Link & Jumps tab. There can occasionally be specific requirements for this, but in my opinion it is poor programming practice. It can have unforeseen consequences by leaving coils in an uncontrolled state.

    And my final thought is that you are using Set & Reset coils everywhere. Yes, Set & Reset coils are often necessary, but see if you can program with Direct coils instead. It can sometimes take a little additional thought, but you have much less likelihood of something getting stuck unexpectedly. The way I do it is to work backward from output to input. Examine a coil and think about all the conditions that you want that coil energized, then put those all in a single ladder rung, using intermediaries as needed. Programming this way is cleaner to work with. Just my way of doing things - YMMV.

  2. Just to reiterate what Ausman said, if there was a single piece of advice I could place at the top of the forum in giant flashing red letters it would be:

    DO NOT PLACE MULTIPLE LOGIC NETWORKS IN A SINGLE LADDER RUNG!

    The whole point of having ladder rungs is to separate out your logic networks.

    That said, I did load your program into a V700 I have here in my office, and while I cannot attest to whether your logic is working as you expect it to, it did not create the "Fatal Error" you are seeing. You have a hardware or electrical noise issue causing your problem.

    • Like 1
  3. 44 minutes ago, Ausman said:

    this comes down to personal preferences as to how to do things.

    It's totally this. It helps you organize the subroutines into subcategories. I rarely use modules (other than the Main module, of course), but once a program gets extremely complex, grouping subroutines into modules can make program development and troubleshooting a bit easier. The PLC doesn't care.

    • Like 1
  4. Sounds like you are just interested in data transfer between all the PLCs, not handshaking. There are many ways to do this. I normally use MODBUS TCP when transferring data between PLCs over Ethernet. You need to assign one or more PLCs as the MODBUS Master. There are multiple ways to do this as well, but one way that allows all 4 PLC programs to be nearly identical would be to make PLC 1 Master to PLC 2, PLC 2 Master to PLC 3, PLC 3 Master to PLC 4, and PLC 4 Master to PLC 1. This daisy chains all the data around to all the PLCs. The drawback is if one of the PLCs goes down, then the chain is broken. Another option is to Make PLC 1 the Master to PLCs 2-4. PLC 1 would collect all the data and distribute it to the other 3 PLCs.

    • Like 1
  5. The V700 is 800x480, lower resolution in the vertical direction, but a much smaller size screen so it appears much sharper. My choice would be determined by how much screen real estate you need and whether the wide screen form factor of the V700 is more suitable to your application. Another consideration is that the V700 has a different Ethernet adapter and can accommodate 8 Ethernet Sockets simultaneously instead of only 4 for the V1210.

×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.