Hello,
Looking for guidance with a starting point. In short, I'd like to be able to use Node-Red to read select PLC tags, initiated by some sort of trigger that isn't time. Specifically, AB/Rockwell CompactLogix tags, both reals and strings for data types.
Computer is a RaspberryPi with touchscreen for viewing, with Bookworm OS.
I admit there are a number of similar posts here, and those posts generally point to using nodes such as:
node-red-contrib-cip-st-ethernet-ip, node-red-contrib-cip-st-ethernet-ip (node) - Node-RED
or
node-red-contrib-cip-ethernet-ip, node-red-contrib-cip-ethernet-ip (node) - Node-RED
with the former seemingly being an expansion on the latter.
The problem I have with these, is that the "read" node in a flow, named "eth-ip in" appears to be ONLY timer based. Or, using this node, every x seconds read a tag.
I want to pull data that correlates with a part in a machine. Something like:
Wait for a PLC "trigger" tag to go high
When trigger high, read plc string data type tag and one or two real data type tags.
Maybe a handshake back to the PLC
PLC "trigger" tag goes low
Reset to Step 1.
So the piece I'm missing is a way to programmatically poll the tags, instead of just time-based.
So I guess that is 3 ways of possibly accomplishing my goal, and I don't know node-red or Linux enough yet to guess which is most likely to be successful. If anyone has guidance in this regard, or any tidbits to anything I've said here, I would be most grateful.
I've been reading documentation on these things for days, and feel thoroughly stuck. Currently trying to break things down into smaller steps and test along the way.