Hello all. Two machines on our line share status over produced and consumed tags, both 1756-L81E with an EN2T in each chassis. It's run for about a year.
Last week we added a member to the status UDT on the upstream machine, a REAL for line speed, downloaded, and now the downstream machine shows the consumed tag faulted in the tree. Module Properties says (16#0127) Connection Request Error: Invalid connection size. I changed the RPI from 20ms to 50ms and back and power cycled the upstream chassis, same 0127.
Do I need to delete and recreate the consumed tag on the downstream side? I'd rather not, there are 40 aliases hanging off it. Or could someone explain what actually has to line up at both ends once the UDT grows by one REAL?
Did you download the new UDT to the downstream controller too, or only upstream? Both on 32.011 or whatever you're on?
Only upstream. The downstream project still has the old UDT. Both on 32.012. So the consumer is expecting the old size. I think that's what 0127 is, isn't it.
> the consumer is expecting the old size
Yes. A produced tag and its consumer have to be the same type and the same size, byte for byte, and the connection is opened with that size. You made the producer 4 bytes bigger, the consumer still asks for the old size, and the EN2T rejects the request with 0127. Same thing as a mismatched I/O length in TIA, different name.
No need to delete anything. Open the downstream project, edit the UDT to match exactly, same members, same order, same types, then download. The consumed tag and its 40 aliases stay put, only the type behind them grows. Someone did a decent article on the connection side of it: https://plctr.com/utilizing-ethernet-ip-in-plc-communication/
Edited the UDT downstream, member on the end, same name and type. Downloaded on the break. Still 0127. Both sides show the new member in the tag. What did I miss.
Same order? You said on the end. Was it on the end upstream too, or did you put it in the middle there so it sat next to the other REALs? The size matches now but the layout has to as well. Also check the produced tag's Connection tab upstream, if you ticked include status or touched the RPI there it needs to match downstream.
In the middle upstream, at the end downstream. I put line speed next to the other REALs on the upstream side for tidiness and forgot by the time I did the downstream one. Moved it, downloaded, connection came up green on the next RPI.
So I changed the UDT on the producer only, then changed it differently on the consumer. Identical UDT both sides, same member order, download both, and the 0127 goes away.
What I should have done is export the UDT as L5X and import it at the other end instead of typing it twice. Adding that to our checklist.
Thanks jcasey and mikko.