cmseaton42 / node-ethernet-ip

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

Error: TIMEOUT occurred while reading Controller Props. - Micrologix 1100 #79

Closed paolodenti closed 3 years ago

paolodenti commented 3 years ago

I cannot connect to a Micrologix 1100

Current Behavior

Any operation after connect fails. Failure happens in connect.then() (therefore apparently upon successful connection).

Message is Error: TIMEOUT occurred while reading Controller Props. happening in await this.readControllerProps() on controller/index.js, line 125

Changing the slot number does not modify the result.

Port 44818 is open

$ nmap -Pn -p 44818 192.168.150.44
Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-26 19:01 PDT
Nmap scan report for 192.168.150.44
Host is up (0.0044s latency).

PORT      STATE SERVICE
44818/tcp open  EtherNetIP-2

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

Steps to Reproduce

const { Controller } = require("ethernet-ip");

const PLC = new Controller();

PLC.connect("192.168.150.44", 0)
    .then(() => {
        console.log(PLC.properties);
    })
    .catch((error) => {
        console.log(error);
    });

Environment

ethernet-ip@1.2.5 Node Version v14.13.1 MacOS Micrologix 1100 1763 L16AWA B/14.00

jhenson29 commented 3 years ago

Micrologix isn’t supported with this library at this time. Only Compact and ControlLogix processors.

paolodenti commented 3 years ago

@jhenson29 Thank you. My bad of course but I would suggest to explicitly write somewhere "No Micrologix" in the README.

Closing the issue.

jhenson29 commented 3 years ago

The top of the readme says:

A simple and lightweight node based API for interfacing with Rockwell Control/CompactLogix PLCs.

Also, this is an EtherNet/IP library. EtherNet/IP is a specific application layer protocol which I don’t think is used by MicroLogix. I believe MicroLogix uses a different protocol similar to the SLC 5/05.

jhenson29 commented 3 years ago

You may want to look at the below package. I haven’t used it, so I can’t comment on how well it works.

https://www.npmjs.com/package/nodepccc

paolodenti commented 3 years ago

Thanks, I tried it yesterday, just a connection to the micrologix 1100, and it works flawlessly. I will update here after I will really try it heavily in the next days