Reading array tags from a Rockwell PLC with node-red-contrib-cip-st-ethernet-ip

Hi!

I'm trying to use this node: node-red-contrib-cip-st-ethernet-ip and would like to read an array from the PLC. I've already successfully established communication and are able to read individua tags. But since you have to provide the given tag's name and data type before accessing the data, how could I be able to grab an array? There's no array/object data type I believe in the tag list chart.

Also, tag browser doesn't work. I saw another post about this but has no clear answer, just reinstalling everything? There must be another way maybe?

Thanks for all the help!

1 Like

Are you working with large arrays?

I don't have a rockwell plc to test, but is it possible to directly address with something like this:

myArray[0]

It would be unfortunate if you had to map out 100s of array tags, but it is an option if that works.

Hi @gdziuba and thank you for your reply!

I'm trying to read batches of arrays, these come as array[*], where * is a number that changes throughout the day. The arrays aren't that big, about 20 values inside. But the contents inside the array do come in different data types, some strings and some dint.

For example, right now the PLC sends an Array[123] with the 20-ish tags and current values, we would like to grab it through nodered and do something with the data inside. After some values change in the PLC a few seconds later, it proceeds to send the array again with same tags but new values but now it comes as Array[124]. And so on...

Is it possible through the mapping to grab whatever current batch is available in a flexible way? and, to have the array hold inside different data type values?

Thank you!

Hey @JuanG,

I did some more research to see if what you are asking is possible with a function node. In my digging, I came across documentation that the underlying npm module doesn't currently support capturing arrays.

I will dig into other npm modules to see if any support.

Grey

Looking into it, I am not finding any other libraries. I did reach out to the author though.

Grey

1 Like

Hi @gdziuba ,

I'm still unable to access array data, tried the mapping method you mentioned but apparently it only changes de name of the tag being read.

I've been looking around with the library the node uses 'st-ethernet-ip' and there should be tools to allow reading array data. But can't seem to find how with the node itself.

Also, the node reads global tags by default, but when adding another scope to the tag list, to enable reading local tags, it doesnt work either, I'm unable to read local tags.

Sida note: The PLC browser still doesnt work and dont know how to fix that.

Was able to access local tags, and by looking into the library it seems it doesnt support Arrays.

Only thing left to figure is how to make the PLC browser work..