cmseaton42 / node-ethernet-ip

A Lightweight Ethernet/IP API written to interface with Rockwell ControlLogix/CompactLogix Controllers.
MIT License
265 stars 106 forks source link

Support for base EtherNet/IP Commands and Discovering Devices #49

Open Penlane opened 5 years ago

Penlane commented 5 years ago

Hi, this PR aims at utilizing the ENIP-side of the communication to provide nice QoL features like retrieving asset-data via EtherNet/IP or discovering several devices

Description, Motivation, and Context

The EtherNet/IP features of this library are well separated, which means we can also add more support here.

How Has This Been Tested?

The ListIdentity / ListServices commands have been tested several times on a live PLC. Same with discovery. I'd like some feedback on how much information the discovery reply should contain. Only IP/Port/Slot? Or the whole listIdentity response?

Screenshots (if appropriate):

img

New Style of return:

img2

Types of changes

Checklist:

jhenson29 commented 5 years ago

I would vote for the entire reply.

Penlane commented 5 years ago

Alright, I extended the data that gets returned by the discovery-utility and adapted the format a little. You can see the new reply in the second screenshot above. We now know which interface the discovered devices are attached to.

cmseaton42 commented 5 years ago

I am incorporating these changes into the typescript conversion