-
Notifications
You must be signed in to change notification settings - Fork 446
Open
Description
What happened?
Description
We are currently working on integrating a Rockwell PLC using the PLC4J library with the Ethernet/IP Protocol. While our implementation successfully communicates with a Rockwell CompactLogix PLC, we are encountering issues when attempting to connect to a Rockwell ControlLogix PLC.
Observations
During our analysis with Wireshark, we observed the following:
- The initial
GetAttributesAll
call to the ControlLogix PLC fails, returning the error: 'General Status: Service not supported (0x08).' - In contrast, the same call works without issues on the CompactLogix PLC, where we receive responses with attributes for: 'Class: Message Router (0x0002)' and 'Class: Connection Manager (0x0006)'
Current Understanding
If the GetAttributesAll
call fails, then the useConnectionManager
and useMessageRouter
boolean values are set to false
in the EipProtocolLogic
class. As a result, PLC4X is attempting to perform single requests.
Issues Identified
- Sending single requests sequentially is causing issues related to the PLC4X library.
- Sending single requests when
useMessageRouter
anduseConnectionManager
are not active has also been problematic in the past in the PLC4X library, based on my understanding of the code. Therfore I would prefer the way via Message Router / Connection Manager.
Idea
- The
GetAttributeSingle
method may serve as a potential workaround instead of using GetAttributesAll, in order to get the attributes 'Class: Message Router (0x0002)' and 'Class: Connection Manager (0x0006)' one after the other. However, if the Message Router and Connection Manager are not functioning correctly, implementing this workaround may not solve the issue and we have also not tried to use GetAttributeSingle (just seen it in some documentation).
Questions
- Does anyone know why the
GetAttributesAll
call may be failing with the ControlLogix PLC? - Any ideas on potential workarounds or solutions would be greatly appreciated.
Thank you
Version
v0.12.0
Programming Languages
- plc4c
- plc4go
- plc4j
- plc4net
- plc4py
Protocols
- AB-Ethernet
- ADS /AMS
- BACnet/IP
- C-Bus
- CANopen
- EtherNet/IP
- Firmata
- IEC-69870
- KNXnet/IP
- Modbus
- OPC-UA
- Profinet
- S7
- S7-light
Metadata
Metadata
Assignees
Labels
No labels