Data collections from PLC`s

I have a SCADA system with 3-4 PLC`s and looking into building a data collector with Node-RED and push the data forward to AWS.

Is there any limitations on number of tags ? Is it only come down to the hardware?
Example 500tags x 3 PLC`s example, is that a issue?

Can I run these on a Raspberry PI?

Ethernet comms?
Serial Comms?

PLC make and model?
PLC protocol you are using?

Node-red-contrib nodes you are using?

how often will you read values?

What have you tried?

Do you read "tags" individually? or as a batch? (hint batch read is MUCH better)

Are you replacing the SCADA system with Node-red?

Does your SCADA currently connect to these PLCs?

Does your SCADA support writing to data AWS?

Will you be reading data from SCADA or PLCs?

We are researching different technology for data collection from PLC`s and pushing it forward to AWS.
My questions was meant to understand the performance and limitation in Node-RED.

Sampling will typical be per second.

Is Node-RED meant to be 10-50 tags total or can it handle 1000-2000 tags...

Looking forward to hear from you.

Ethernet comms? yes
Serial Comms?

PLC make and model? Can various but a example is AB CompactLogix Series
PLC protocol you are using? EtherNet/IP

Node-red-contrib nodes you are using? don`t know?

Are you replacing the SCADA system with Node-red?

Does your SCADA currently connect to these PLCs?

Does your SCADA support writing to data AWS?

Will you be reading data from SCADA or PLCs?

I currenty use Node-Red to gather Weather information from 7 different GPS locations (And 7 different Tags for each) every 3 minutes so that is 23,520 tags read every 24 hrs. and then publish back to my Scada system using Mqtt Sparkplug B protocol.

And on top of that I gather Stock Market Data 5 tags every 3 minute which equals 2400 tags every 24 hrs and this data also get publish back to my Scada Server using Mqtt Sparkplug B protocol.

I run this from a Raspberry Pi 4b that just runs on my VPN.

I have also wrote a program using Pycomm3 that will read tags from several on my Plc's and publish all of then back to my Scada Server using Mqtt Sparkplug B protocol. I have done this for 1000's of tags on a daily basis and had no problems. (However, I'm not currenty using this at the moment)

Just information that might help in your disicion making process.

1 Like

Here is another related thread that might help with your evaluation: Can we log 2000 tag data into MySQL - #6 by Steve-Mcl

From my experience node-red is not a bottle neck, main reason is PLC driver optimization.

As mentioned:

But also tag size is important: 16 tags of BOOL type will be equal in size of 1INT. So you should calculate size in bytes of your tag list.

Then comes sampling - 4000bytes of tags from Siemens PLC were read every ~3.5s. While 200bytes took ~200ms. I didn't investigate if dependency is linear.