Industrial I/O
The bridge between a pipeline and the tag namespace. It reads tags on demand, writes values back, or — in subscribe mode — becomes the trigger that starts the pipeline.
Type: industrial-io · Category: Realtime · Ports: one input · one output


When to use it
- Reading several tags at once on a schedule, behind an Inject
- Running a pipeline whenever a tag changes (
subscribe) - Writing a computed result or a setpoint back to a device
Settings
| Setting | Key | Purpose |
|---|---|---|
| Operation | operation | read, write or subscribe. |
| Tag source | tagSource | static (picked in the node) or dynamic from the message. |
| Tag | tagId / path | Which tag. |
| Value | value / valuePath | For write: a literal, or where to find it in the message. |
Example A — read on a schedule
Operation: read
Tags: Line1/Filler/Motor1/Speed, Line1/Filler/Motor1/Current
Out
{
"payload": {
"Line1/Filler/Motor1/Speed": { "value": 2840, "quality": "Good", "source_timestamp": "2026-08-12T07:00:00Z" },
"Line1/Filler/Motor1/Current": { "value": 12.4, "quality": "Good", "source_timestamp": "2026-08-12T07:00:00Z" }
}
}
Example B — write back
Operation: write
Tag: Line1/Filler/Setpoint
Value path: payload.newSetpoint
In
{ "payload": { "newSetpoint": 2750 } }
Example C — subscribe, as the trigger
Operation: subscribe
Tags: Line1/Filler/Motor1/Speed
With subscribe the node is the trigger — it has no upstream, and the pipeline runs on every
qualifying change.
Gotchas
- Always check
qualitybefore acting onvalue. A stale or bad reading still arrives with a number in it — often the last good one — and treating it as current is how a pipeline writes yesterday's value into today's report. - Put an RBE after a subscribe unless you want every sample. A chatty tag can run a pipeline hundreds of times a minute.
- One multi-tag read beats a loop of single reads — the round trip dominates, not the tag count.