Redundant PLC Troubles


I’m attempting to connect Ignition to a AB L74 Control Logix PLC, EN2TR Ethernet card with redundancy enabled. The PLC is heavily loaded (running a 250ms scan) and I’m having trouble getting a good connection to it.

I’m using Ignition purely for reporting services so I can keep my scan rates fairly slow(I want to keep it 5s and under). I’ve got 3 scan classes to the PLC. 1 @1000ms with ~100 tags, 1@2000ms with ~200 tags and 1@5000ms with 1000 tags. I tried separating the scan class out to 4 separate scan classes but that didn’t seem to help.

I’m able to connect Ignition to the PLC, but the server seems to be working way too hard (4 cores running 50-75% CPU for 1300 tags). I tried reducing my tag count to ~200 tags to debug and the server is still working very hard. When I disconnect from the PLC the server goes back to idling.

When Ignition loses the connection to the PLC, it seems to really have trouble reconnecting to it and my console is full of the following error messages:

Unexpected or unmatched EipPacket: EipPacket(code=111, sessionHandle=1006633984, senderContext=5729, command=Some(SendRRData(packet=CpfPacket(items=List(NullAddressItem(), InboundUnconnectedDataItem(buffer=Swapped(SlicedByteBuf(ridx: 0, widx: 22, cap: 22/22, unwrapped: UnpooledUnsafeDirectByteBuf(ridx: 62, widx: 62, cap: 1024)))))), interfaceHandle=0, timeout=0)), status=EipSuccess)

Do you guys have any ideas how I can make this better?

I think if you use the latest Logix v21 release candidate the resource usage problem should subside. Give it a shot and report back?

You can download it here (I think this is the correct version… I’ll have to verify)

Hey that worked perfectly thanks!

I noticed one other thing that I think is very strange. When I was connecting and things weren’t working quite right, the OPC syntax was different than it is now. So for example a normal AB syntax that I would expect from Ignition would be:


and when things were’t working the syntax for tags that I got off the OPC server was:

So it omitted the program name? Also I don’t remember the device connection every saying “EIP-Run Mode” I only remember it saying “Connected”.

Was I messing something else up as well?

When we released v21 support we did so by releasing an entirely new driver - you’re thinking about the syntax from the old driver.

The old driver syntax had a few ambiguities that were resolved in the new one; most noticeable is that you don’t prefix global tags with ‘Global.’. The program prefix also changed, I believe, to be ‘Program:prog1’ vs just ‘prog1’. This syntax accurate reflects the way the symbols are named and organized in the control.

Awesome. Thanks for your help Kevin!