# Data collections from PLC\`s

**URL:** <https://discourse.nodered.org/t/data-collections-from-plc-s/84643>\
**Category:** General\
**Created:** [17 January 2024 11:41 UTC](https://discourse.nodered.org/t/data-collections-from-plc-s/84643 "2024-01-17T11:41:54Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![gordone](https://avatars.discourse-cdn.com/v4/letter/g/43a26b/32.png) [@gordone](https://discourse.nodered.org/u/gordone)\
**Post date:** [17 January 2024 11:41 UTC](https://discourse.nodered.org/t/data-collections-from-plc-s/84643/1 "2024-01-17T11:41:54Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [17 January 2024 11:48 UTC](https://discourse.nodered.org/t/data-collections-from-plc-s/84643/2 "2024-01-17T11:48:27Z")

</div>

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)

> [@gordone](#):
>
> have a SCADA system

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?

---

<div class="post-metadata">

**Author:** ![gordone](https://avatars.discourse-cdn.com/v4/letter/g/43a26b/32.png) [@gordone](https://discourse.nodered.org/u/gordone)\
**Post date:** [17 January 2024 12:11 UTC](https://discourse.nodered.org/t/data-collections-from-plc-s/84643/3 "2024-01-17T12:11:15Z")

</div>

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?**

> [@gordone](#):
>
> have a SCADA system

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?

---

<div class="post-metadata">

**Author:** ![damica51](https://avatars.discourse-cdn.com/v4/letter/d/eb8c5e/32.png) [@damica51](https://discourse.nodered.org/u/damica51)\
**Post date:** [17 January 2024 14:06 UTC](https://discourse.nodered.org/t/data-collections-from-plc-s/84643/4 "2024-01-17T14:06:25Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [17 January 2024 14:12 UTC](https://discourse.nodered.org/t/data-collections-from-plc-s/84643/5 "2024-01-17T14:12:48Z")

</div>

Here is another related thread that might help with your evaluation: [Can we log 2000 tag data into MySQL - #6 by Steve-Mcl](https://discourse.nodered.org/t/can-we-log-2000-tag-data-into-mysql/84638/6)

---

<div class="post-metadata">

**Author:** ![KarolisL](https://avatars.discourse-cdn.com/v4/letter/k/a4c791/32.png) [@KarolisL](https://discourse.nodered.org/u/KarolisL)\
**Post date:** [17 January 2024 19:07 UTC](https://discourse.nodered.org/t/data-collections-from-plc-s/84643/6 "2024-01-17T19:07:09Z")

</div>

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

As mentioned:

> [@Steve-Mcl](#):
>
> Do you read "tags" individually? or as a batch? (hint batch read is MUCH better)

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.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [17 March 2024 19:07 UTC](https://discourse.nodered.org/t/data-collections-from-plc-s/84643/7 "2024-03-17T19:07:23Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
