EtherNet/IP node

Actief

Het probleem EtherNet/IP — waarbij IP staat voor Industrial Protocol, niet Internet Protocol — is de dominante industriële standaard in Noord-Amerika, ontwikkeld en beheerd door ODVA. Het bouwt op het Common Industrial Protocol (CIP), een objectgeoriënteerd applicatielaag-model dat veel verder reikt dan alleen PLC's: drives, sensoren, I/O-blokken, motorstarters en field devices van honderden vendors spreken CIP.Toch bestaat er geen volwassen open source Node-RED node voor EtherNet/IP. De beschikbare libraries (node-ethernet-ip, st-ethernet-ip) zijn vrijwel uitsluitend gericht op tag read/write naar Allen-Bradley Logix-controllers. Ze implementeren een fractie van het CIP-objectmodel, kunnen niet praten met generic CIP devices die geen Logix-tag-semantiek hebben, en missen de explicit messaging-primitieven (Get/Set Attribute, service requests op willekeurige class/instance/attribute) die nodig zijn voor échte device-interoperabiliteit. Dat is het gat dat deze node vult.

0 haltes ·Trekker: R&D Lab ·Bijgewerkt 6 juli 2026
Stakeholder R&D (eigen initiatief)
Studenten gezocht

Graduate student or open for an open internship developing an industrial protocol calles ETHERNET/IP for node red use.

Solliciteer op deze plek

Wat de node moet doen Een Node-RED node die het volledige CIP-objectmodel ontsluit via expliciete messaging, zodat je niet alleen Logix-tags leest maar met elk CIP-conform device kunt communiceren op het niveau van classes, instances, attributes en services. Kernfunctionaliteit

Generic CIP messaging: stuur willekeurige service-requests via het Class / Instance / Attribute adresseringsmodel (Get_Attribute_Single, Get_Attribute_All, Set_Attribute_Single, en custom service codes). Dit is wat een device-onafhankelijke node mogelijk maakt. Identity & device discovery: lees het Identity Object (Class 0x01) uit — vendor ID, device type, product code, serial, status — zodat de node onbekende devices kan herkennen en zelf-documenteert. Connection Manager (Class 0x06): opbouw en beheer van expliciete CIP-connecties met forward-open/forward-close, inclusief connection path routing door bridges en backplanes (slot-routing in een chassis). Tag-laag als bouwsteen, niet als grens: Logix tag read/write blijft volledig ondersteund, maar als één toepassing bovenop de generieke CIP-core — niet als de hele scope.

Datatype-handling: correcte encoding/decoding van CIP-datatypes (BOOL, SINT/INT/DINT/LINT, REAL, STRING, STRUCT, ARRAY) inclusief structured/UDT-decoding waar de device-profielen dat toelaten. EDS-bewustzijn (toekomstgericht): mogelijkheid om Electronic Data Sheets in te lezen voor automatische attribuut-mapping en human-readable namen.

De config-node houdt de EtherNet/IP-sessie en het route-path vast (inclusief backplane-slotrouting). De CIP Core is protocol-onafhankelijk binnen CIP: de Logix tag-node en de generieke service-node zijn beide consumers van dezelfde engine. Een aparte identity/discovery-node maakt onbekende devices zichtbaar. Technische uitgangspunten Bouw als standaard npm-package volgens de Node-RED node-conventies (package.json met node-red sectie, HTML editor-pane, JS runtime). De encapsulation layer (EtherNet/IP over TCP poort 44818, register/unregister session, SendRRData/SendUnitData) en de CIP-messaging daarbovenop bouw je bij voorkeur zelf of als dunne laag, omdat bestaande libraries de generieke service-laag niet schoon blootleggen — st-ethernet-ip kun je als referentie en deels als bouwsteen voor de Logix-tag-laag gebruiken, maar de generieke CIP-core is waar het eigen werk en de toegevoegde waarde zit.

Publiceer onder een permissieve licentie (Apache 2.0 of MIT) op de Node-RED flow library en npm, met een devicebibliotheek aan voorbeelden (Identity-readout, generic Get_Attribute, Logix tag-poll) zodat zowel je eigen OT-omgeving als de bredere community direct kan starten.

Waarom dit nieuw is: Het unieke zit niet in Logix-tags lezen — dat kan al — maar in het blootleggen van het volledige CIP-objectmodel via generieke explicit messaging, device-onafhankelijk, in één open source Node-RED node. Daarmee verschuift de node van "Allen-Bradley tag-reader" naar een echte CIP-client waarmee je elk EtherNet/IP-device kunt benaderen. Dat bestaat nu niet in het open source landschap, en is bruikbaar voor zowel een specifieke waterschap-OT-omgeving als voor de bredere Node-RED community.