Best Practice for Polling Fast-Updated PLC Tags in Node-RED

Hi all,

I’m fairly new to Node-RED and have been exploring its use in an industrial setting. So far, I really like how it works, but I’ve hit a snag and could use some advice from the community.

I’m trying to build an event logging system using Node-RED, which reads data from a ControlLogix PLC and stores it in a database. I’ve got 100+ structured PLC tags set up in Node-RED, and most of them are logging correctly to the database.

The issue: Some specific tags — like a message tag that updates rapidly — aren’t logging properly. It looks like Node-RED is missing quick updates, possibly because the messages change too fast to be picked up during the polling cycle.

I originally had the polling rate set to 2000ms, but that wasn’t fast enough. I changed it to 10ms to try to catch more updates. While this did help with capturing messages, it significantly affected performance— both Node-RED and the PLC started to slow down or hang.

I suspect the problem is that I have only one PLC connection node, and the polling rate affects all tags, even those that don’t need fast updates.

Would it be a good idea to create a second PLC connection node with a faster polling rate and use it only for the fast-changing tags like the message tag? Then I could keep the rest of the tags on the original node with the normal polling rate.

Has anyone dealt with something like this before? If so, how did you manage polling rates for tags with different update speeds?

Any tips, best practices, or examples would be really appreciated!

it depends on what you are really trying to achieve.

Are you trying to do something like a trace or just catch a signal that is occasionally fast acting?

You are never going to catch signals faster than the network can poll so a different approach may be required. For example, you could generate a FIFO in the plc that you populate with ID, timestamp and values then collect the bottom stage. Or, you could group values into an array of x amount and collect them less frequently.