Ethernet Ip communication protocol master / slave?

Let me start by saying : I am a very big fan of node-red and love its capabilities. I have started an R&D lab for functionality tests and am activally spreading the good word.

Concerning my problem :
For our R&D lab I have ordered PROMAG W400 E&H flow meters. They spit out data using the Ethernet/ip protocol.

I saw there was allread a node-red-contrib-cip-ethernet-ip but specifically designed to read from an existing master (allen bradly PLCs).

Using this node I figured it could also read from ethernet/ip slaves but have no such luck. The node see's that there are ip adresses ( the meters).
But upon selection and deployment I get the following feedback

Blockquote

Error communicating with the PLC: {"generalStatusCode":8,"extendedStatus":,"ext":[{"func":"getControllerTags","instanceID":0,"program":null,"cipReq":{"type":"Buffer","data":[85,3,32,107,37,0,0,0,2,0,1,0,2,0]}}]}

Blockquote

So I geuss I have 2 questions.

1 -> Can this node contribution read slaves or was it designed to always pass through an allen bradly / rockwell PLC? If not then what am I doing wrong to read from a " slave " / sensor and what slot number should I take?

2- > If above isnt the way forward what is ? My knowledge of both Ethernet/ip as the way this data buffering is done is way to limited to help out on writing a new node for it. If I could help I would for sure. So if the answer would be to write a new node this is well worth it considering the US market / ethernet ip protocol represents somewhat 25% of this entire market.

Thanks for your expert guidance!

  1. No - node-red-contrib-cip-ethernet-ip is used to read data from Allen Bradley PLC.
  2. You need information about Eth protocol support by PROMAG W400 E&H.

2 > I thougth ethernet ip was an open standard why would i need specific information about a certain product?

Ethernet is a wire standard. IP is a standard but it only covers 1 layer of the model.

This post may help. TCP/IP Model: What are Layers & Protocol? TCP/IP Stack (guru99.com)

The device you want data from is using IP but overlays its own Application standards on top.

So Frank is absolutely correct of course, you do indeed need to know what communications settings the device is using. That should be available from the manufacturer.

Yeah ive been down that road. The manufacturer tells me to get an allen bradley plc and says that will be able to read it or an anybus ethernet ip converter to tcp ip modbus.
Just to make it clear im looking for the way ehternet ip ( industrial protocol) works.

See also the manual:
https://www.google.com/url?sa=t&source=web&rct=j&url=https://portal.endress.com/wa001/dla/5001081/5374/000/00/SD01814DEN_0116.pdf&ved=2ahUKEwjHpYzI9_n7AhWSQuUKHb1-C6UQFnoECBgQAQ&usg=AOvVaw2k3G6cPa7VfT1oGHZ7CZPw

I do appreciate your help on this.

That manual does not seem to give any indication that it provides a data feed over IP. It has a web interface that only allows a single connection at any time. And it has an RS432 service interface.

It might be possible to scape data from the web interface using Node-RED.

Ah, I see: "Via Ethernet-based fieldbus" - clearly old-school and designed to work with 3rd-party enterprise stuff.

I've no idea about the systems mentioned there I'm afraid.

Haha damn. Me neither... i can see something coming in on the udp port 44818 but it clearly expects some kind of :handshake: handshake. Because im only seeing very small buffer.

It also has a http webserver built in but has the same issue and no objects i can parse. So couldnt fix it with a http node either.

You would have to put wireshark or another protocol analyser between the device and a valid controller to see if you could decode the data. But I would suspect that some old-school trickery is used to obfuscate the connection.

Yeah I geuss I could try sniffing it out. In the meanwhile Im still hoping someone that built the ethernet-cip-ip node on node red would extend their node also including a functionality to read it other than from a plc.

The EtherNet/IP (capitalisation is important due to the worst possible name you could give a protocol) as I think you now realise is a common industrial protocol that runs over Ethernet (IEEE 802.3)

It is an object based protocol (services, classes, instances) that is a really complex beast so will be hellish to sniff and figure out.

The best solution I can think of until a nodejs based scanner (master) exists is to use a basic PLC with EtherNet/IP master built in (e.g. OMRON CJ2-CPU31) OR an Anybus kinda convertor.


The npm package st-ethernet-ip - npm recently added experimental support for scanner

New I/O Scanner - ALPHA - NOT FOR PRODUCTION

You could give it a go by adding an import of st-ethernet-ip in a function node (setup tab)


Another solution if you are up to speed with interfacing C with NodeJS is a C++ implementation (Welcome to EIPScanner’s documentation! — EIPScanner 1.0.0 documentation)

1 Like