Studio 5000 · Track 05 · controller-to-controller

Two ways to share

Big plants run many Logix controllers that must swap data, and Logix gives you two tools for it. With Produced/Consumed tags, a producer publishes a tag and consumers see it update automatically every cycle. The MSG instruction is a one-shot read or write you trigger on demand. One pushes data continuously; the other fetches it only when you ask. Try both.

📤 produced📥 consumed✉️ MSG
01 · Continuous vs on-demand

The line speed both ways

Controller A (the line master) produces LineSpeed; Controller B consumes it. In Produced/Consumed mode, change A's value and B mirrors it automatically each cycle, with no code on either side beyond the tag configuration. Switch to MSG mode and B only updates when you fire a message: explicit, triggered, one packet at a time.

Controller A
🧠
producer · line master
LineSpeed
1200
·
Controller B
🧠
consumer · packaging
LineSpeed (copy)
1200
mode

In Produced/Consumed mode, B is always in step, because A's change flows over the connection at the configured RPI. In MSG mode B holds the old value until you fire a message; bump A without sending and you can see the gap open. Use produced/consumed for fast, repetitive sharing and MSG for occasional, on-demand transfers.

02 · When to use which

Connection vs message

📤📥 Produced/Consumed is a standing connection that pushes a tag every RPI. It is deterministic and low-overhead, which suits data that many controllers need continuously (line speed, e-stop status). It costs a connection on each side.

✉️ The MSG instruction is a triggered, one-shot read/write (CIP) with no standing connection, so you control exactly when it happens. Use it for recipes, occasional commands, or reaching a device you rarely talk to, and watch its .EN/.DN/.ER bits.

Both ride CIP over EtherNet/IP (next track). Produced/consumed is "implicit" cyclic messaging; MSG is "explicit" on-demand messaging. You'll meet the same two kinds again when you add I/O.

03 · Check yourself

Pick the mechanism

Twelve controllers all need the master's live line-speed, updated continuously with minimal code. What do you use?