Allen-Bradley / Rockwell — EtherNet/IP
EtherNet/IP (CIP, Common Industrial Protocol) 는 Allen-Bradley / Rockwell 의 ControlLogix / CompactLogix 시리즈 PLC 가 사용하는 통신 규약입니다.
심볼릭 태그 (Logix Tag) 한계
현재 이 게이트웨이의 EIP 드라이버는 CIP 속성 (class / instance / attribute) 만 읽습니다. ControlLogix 의 흔한 심볼릭 태그 (예: MyController:Pump1.RPM) 는 별도의 “Read Tag Service” 가 필요하며 추후 버전에서 지원 예정입니다. 그때까지 심볼릭 태그가 필요하다면 Kepware 같은 게이트웨이를 거쳐 OPC-UA 로 가져오시는 방법을 권장드립니다.
등록 폼 입력값
| 입력 칸 | 무엇을 적나요 | 예시 |
|---|---|---|
| IP 주소 | PLC 의 IP | 192.168.0.90 |
| 포트 | EtherNet/IP 포트 | 44818 (표준) |
| Backplane (backplane) | 백플레인 번호 | 1 |
| Slot (local-slot) | CPU slot 번호 | 0 |
PLC 측에는 RSLogix / Studio5000 에서 EtherNet/IP 모듈이 활성화되어 있어야 합니다.
태그의 PLC 주소 표기
EIP CIP 좌표를 <class>,<instance>,<attribute> 형식으로 입력합니다. 10진 또는 0x 로 시작하는 16진 모두 가능.
| 표기 | 의미 |
|---|---|
0x01,1,1 | Identity Object → Vendor ID |
0x01,1,2 | Identity Object → Device Type |
0x01,1,7 | Identity Object → Product Name (문자열) |
0x6B,1,1 | Symbol Class instance 1 attribute 1 |
0x6C,1,1 | Template Class |
CIP 좌표를 어떻게 알아내나요
- Studio5000 의 Tag Browser 에서 attribute 정보 확인
- Wireshark 등으로 기존 EIP 통신 패킷을 캡처해 확인
- 제조사 / 통합 파트너의 매핑표 활용
심볼릭 태그가 더 익숙하시다면 위에서 언급한 Kepware 경유 방식 이 훨씬 간단합니다.
데이터 형식 매칭
| PLC 의 값 | 데이터 형식 | 형식 보조 |
|---|---|---|
| 문자열 (제품명, 상태 등) | String | (비움) |
| 정수 (Vendor ID, DeviceType 등) | Integer | (비움) |
| 실수 | Float | (비움) |
| Boolean | Boolean | (비움) |
EIP 드라이버는 응답 raw 바이트를 그대로 문자열로 받아온 다음 [데이터 형식] 에 따라 후처리에서 캐스팅합니다. 큰 정수 / 실수 변환이 필요하면 계산식 적용 으로 후처리하세요.
흔한 문제와 해결
| 증상 / 메시지 | 가능한 원인 | 해결 |
|---|---|---|
| “Connection timeout” | 포트 44818 차단, EtherNet/IP 모듈 비활성 | RSLogix / Studio5000 에서 EtherNet/IP 모듈 활성화 |
| “Forward Open failure” | rack/slot 또는 backplane 불일치 | 위 표 참고하여 backplane / slot 정정 |
| “Class/Instance not found” | 잘못된 CIP 좌표 | Studio5000 의 Tag Browser 또는 Wireshark 로 좌표 검증 |
| 값이 깨져 보임 | raw 바이트를 그대로 String 으로 받기 때문 | 계산식으로 little-endian 해석 또는 Kepware 경유 권장 |
더 자세한 예제 / 자동화 등록
고급 — REST API 의 EIP 예제를 참고하세요.