IO-Link (센서 마스터) 드라이버
개요
IO-Link (IEC 61131-9) 는 센서 / 액추에이터 ↔ master 사이를 연결하는 단일선 양방향 시리얼 통신 표준입니다. master 가 PROFINET / EtherNet/IP / Modbus TCP / OPC UA 등으로 상위 시스템 (PLC, SCADA, Edge) 과 연결되어 프로세스 데이터 (PD), 식별 데이터 (ISDU), 이벤트를 전달합니다.
| 항목 | 값 |
|---|---|
opc_type | IOLINK |
| 구현 클래스 | plantpulse.driver.protocol.iolink.IOLink_Driver |
| 라이브러리 | (없음 — stub) |
| read | ⛔ stub ("" 반환) |
| write | ⛔ stub |
| 보안 | 해당 없음 (master 측 인증 적용) |
IOLINK 는 형식상의 stub 만 존재합니다. 실제 데이터를 가져오려면 IO-Link master 의 상위 인터페이스
(PROFINET / Modbus TCP / EIP / REST) 를 PlantPulse 의 다른 드라이버로 등록하세요.
왜 native 구현이 어려운가
IO-Link 는 3-와이어 시리얼 (24V / GND / C/Q) 물리 계층을 사용합니다. PC 에서 직접 IO-Link 신호를 생성/디코딩하는 것은 전용 IC (예: Maxim MAX14819) 가 들어간 보드가 필요하고, 일반 산업용 PC / Linux 서버에는 그런 인터페이스가 없습니다.
따라서 모든 통합은 반드시 IO-Link master 하드웨어 를 거칩니다.
| 마스터 카테고리 | 대표 제품 | 상위 인터페이스 |
|---|---|---|
| 8 포트 PROFINET master | ifm AL1100/AL1xxx, Balluff BNI008x | PROFINET, OPC UA |
| 8 포트 EtherNet/IP master | Balluff BNI EIP, ifm AL13xx | EtherNet/IP, REST |
| 8 포트 Modbus TCP master | Pepperl+Fuchs ICE3-8IOL, Murr Cube67 | Modbus TCP |
| Hybrid (multi-protocol) | Turck TBEN-S2, Banner R90C | PROFINET / EIP / Modbus TCP / REST |
대안 운영 방법
상용 IO-Link master 는 거의 모두 PlantPulse 가 이미 지원하는 산업 프로토콜로 노출됩니다.
| Master 가 제공하는 인터페이스 | 사용할 PlantPulse 드라이버 | 페이지 |
|---|---|---|
| PROFINET | (PROFINET 시범 — 또는 master 의 OPC UA 동시 활성) | — / OPC-UA |
| EtherNet/IP | EIP | EIP |
| Modbus TCP | MODBUS | Modbus |
| OPC UA Companion Spec for IO-Link | OPCUA | OPC-UA |
| JSON REST | HTTP | HTTP |
권장 구성 예 (ifm AL1100 / Balluff BNI)
OPC Foundation 의 IO-Link Companion Spec 을 지원하는 master (ifm, Balluff 의 최신 펌웨어 등) 는 각 포트의 PD/ISDU 를 OPC UA 노드로 표현합니다. PlantPulse 의 OPCUA 드라이버로 그대로 등록하면 포트별 센서 값을 폴링할 수 있어 가장 깔끔한 통합 방식입니다.
자주 쓰는 ISDU 포트별 매핑 (참고)
IO-Link master 의 Modbus TCP 인터페이스를 사용할 때, master 매뉴얼의 register map 을 참고합니다. 각 master 마다 register layout 이 다르므로 벤더별 manual 필독.
| 데이터 | 일반적 위치 (예: ifm AL1100) |
|---|---|
| 포트 1 PD-In | Holding Register 0x1000+ |
| 포트 2 PD-In | 0x1100+ |
| 포트별 status | 0x0000 영역의 bit |
위 값은 예시이며, 실제 사용시 master 의 datasheet 의 register map 을 그대로 사용하십시오.
추후 native 구현 시 고려 사항
| 옵션 | 의존성 | 난이도 |
|---|---|---|
| 벤더 SDK (ifm IODD finder, Balluff IO-Link Device Tool) | Windows 전용, 자바 미지원 | 상 |
| IODD 파서 + master REST 조합 | XML IODD 파싱 + master REST 조합 | 중 |
| OPC UA companion spec wrapper | 이미 OPCUA 드라이버로 해결 | 낮음 |
IO-Link 는 본질적으로 master 하드웨어를 통한 통합 이 표준 모델입니다. PlantPulse 입장에서 native 드라이버를 새로 만들 필요성은 낮으며, OPCUA / Modbus / EIP / HTTP 드라이버 조합으로 거의 모든 master 를 커버할 수 있습니다.
stub 등록 (테스트 전용)
curl -X POST http://<edge-host>/api/v1/opc \
-H "Content-Type: application/json" \
-d '{
"opc_id": "OPC_IOLINK_STUB",
"opc_type": "IOLINK",
"opc_name": "IO-Link stub",
"opc_agent_ip": "192.168.0.0",
"opc_agent_port": "0",
"site_id": "SITE_00001",
"auto_collect": false,
"timecycle": 5000,
"tag_list": []
}'