defcon.klaxon
Lifetime Supporting Member
Hi all,
Hopefully this is a somewhat quick question:
A few of the loops in my system have physical I/O at two different PLCs. My water filter valves, for example, are in one CompactLogix PLC and some pumps in the same loop are in a ControlLogix PLC. I've set up UDTs for all the hardware.
So let's say the CompactLogix PLC's sequence (valve control) waits for a pump running status before it opens a valve, and the control is interrupted by a pump failure alarm at the ControlLogix PLC. Would it be reasonable to create the pump tag at both PLCs, and then produce at the ControlLogix and consume at the CompactLogix? I would ignore all the other data produced by the CompactLogix, save for the Pump Running bit, Fail to Start Alarm bit and Fail to Stop alarm bit. My worry is that moving that much data when I only new a few bits might eat up bandwidth in the Ethernet/IP connection, but I don't know if that's me worrying way too much. I just don't know at what point my RPi would be adversely affected and maybe that's a standard way to do things and I'm worrying too much. The other way I could do things is to move/copy the data from the needed bits into standalone tags, and then produce/consume those specifically. That would be a good amount of add'l work though, and I'd rather not do it if I can help it.
My guess is that my system (a water treatment plant for a somewhat rural community) isn't going to push the limits of Ethernet/IP but I don't really have a good idea for how much data I should be passing back and forth, and if sending everything is going to be bad practice. I'd love to hear what more experienced people would say, thanks a bunch.
EDIT: the UDT for the Pump is 292 bytes, which happens to be the largest UDT I have; some are as small as 4 bytes.
Hopefully this is a somewhat quick question:
A few of the loops in my system have physical I/O at two different PLCs. My water filter valves, for example, are in one CompactLogix PLC and some pumps in the same loop are in a ControlLogix PLC. I've set up UDTs for all the hardware.
So let's say the CompactLogix PLC's sequence (valve control) waits for a pump running status before it opens a valve, and the control is interrupted by a pump failure alarm at the ControlLogix PLC. Would it be reasonable to create the pump tag at both PLCs, and then produce at the ControlLogix and consume at the CompactLogix? I would ignore all the other data produced by the CompactLogix, save for the Pump Running bit, Fail to Start Alarm bit and Fail to Stop alarm bit. My worry is that moving that much data when I only new a few bits might eat up bandwidth in the Ethernet/IP connection, but I don't know if that's me worrying way too much. I just don't know at what point my RPi would be adversely affected and maybe that's a standard way to do things and I'm worrying too much. The other way I could do things is to move/copy the data from the needed bits into standalone tags, and then produce/consume those specifically. That would be a good amount of add'l work though, and I'd rather not do it if I can help it.
My guess is that my system (a water treatment plant for a somewhat rural community) isn't going to push the limits of Ethernet/IP but I don't really have a good idea for how much data I should be passing back and forth, and if sending everything is going to be bad practice. I'd love to hear what more experienced people would say, thanks a bunch.
EDIT: the UDT for the Pump is 292 bytes, which happens to be the largest UDT I have; some are as small as 4 bytes.
Last edited: