Data Logging using node red

Hi team,

I am using Groov-Epic PR1 to read the modbus data over TCP/IP.

Right now i read total 20 tags from the 2 devices and my response is satisfactory and further to this i will logged my data in SQL Server with logging interval of 1 minute using node-red.

Now, my further requirement is to read 20 tags each from total 50 devices(total 1000 tags) with logging interval of 1 minute, can we achieve this using Epic PR-1 ??

Given that your logging interval is one minute and you’re not reading over 1000 tags, this should be doable with Node-RED – but if you start to pick up more tags or reduce the interval, then it’s pretty likely that performance will go down from there.

If you are expecting to add more tags down the line, log them more often, or need any features like store-and-forward when the network is down, check out Inductive Automation’s Ignition software. EPIC supports Ignition EDGE and with the 1.4 update you can enable the full Ignition Gateway to use their SQL bridge module to push tags straight into your database really cleanly. This might be a good option worth exploring for your project.

If you’re going to stick to the 1000 tags and 1 minute interval and want to use Node-RED, my advice would be to build up the SQL insert statement using one long string variable, then write them all at once at the 1 minute mark so that you can avoid opening and closing the database connection a thousand times every minute.

Do you know if the 20 tags from the 50 devices is the ultimate size of the application or could there be some changes down the line?


Thanks for the response…
This is my maximum limits of tags,there could be reduced some tags as well as reduce the time interval too…

Node-RED is capable of faster scan rates, but with hundreds up to a thousand tags every scan you’ll start to see it struggle to keep up with the volume of data, I’d recommend looking into how Ignition might work for you.

One other thing to keep in mind is the lag from the network when you write to the database, how quickly do you need the data to be available in the database and where is your SQL server running? an on-premise server or in the cloud?
Depending on your needs and the state of your network, you might benefit from running the database on the EPIC itself to avoid going out over the local / web connection at all. If that sounds like it has potential check out MariaDB on EPIC, if not, no worries you can always use whatever database you already have in place.

@torchard’s advice on making one insert statement is very valid.

Check out this thread for the pitfalls of opening and closing a lot of connections;

1 Like

Thank you and noted…

Seems this information is very helpful for me for my upcoming application…