본문으로 건너뛰기

드라이버 개요

PlantPulse Edge 가 지원하는 산업 프로토콜 일람.

각 드라이버는 plantpulse-edge-driver.jar 안의 plantpulse.driver.protocol.<proto> 패키지에 구현되어 있으며, ProtocolDriverFactory.createDriver(opc_type)APP_OPC.OPC_TYPE 문자열을 보고 인스턴스를 생성합니다.

구현 분류는 크게 두 갈래로 나뉩니다.

  • 자체 자바 구현 (대다수): LS, EIP, ADS, OP, FINS, MEWTOCOL, FATEK, NMEA, MBUS, HART, DNP3, IEC61850, SECSGEM 에 더해 Modbus 계열(TCP/UDP/RTU), PROFINET, AB-ETH, BACnet, KNXnet, CANopen 도 2026-07 에 네이티브로 재작성 완료(옛 Apache PLC4j 위임 전량 제거 — PLC4X 의존성 자체가 삭제됨). 외부 native/JNI 의존 없이 순수 Java socket 위에 프로토콜 프레이밍을 직접 작성.
  • HW master 의존 stub (가이드만 제공): DALI, IO-Link, DeltaV. 게이트웨이 내부 read 대신 상위 프로토콜(OPC UA / Modbus / PROFINET / DeltaV OPC UA) 로 브릿지하는 권장 구성을 문서화. (ROS 2 는 rosbridge WebSocket 실구현으로 졸업 — 연결 유형 참조.)

그 외 iot-communication (xingshuangs) 라이브러리를 그대로 활용하는 GE/MELSEC/S7, Eclipse Milo 기반의 OPC UA, 그리고 자체 HTTP 클라이언트가 보조 트랙을 구성합니다.


지원 프로토콜 일람

범용 PLC / 일반 프로토콜

opc_type프로토콜라이브러리상태페이지
LSLS XGI/XBC/XBM (FEnet)자체 자바안정LS
GEGE SRTP / GE Fanuciot-communication (xingshuangs)안정(준비)
MELSECMitsubishi MELSEC (MC)iot-communication (xingshuangs)안정MELSEC
S7Siemens S7-300/400/1200/1500iot-communication (xingshuangs)안정S7
MODBUSModbus TCP자체 자바안정 (read+write)Modbus
MODBUSUDPModbus UDP자체 자바 (MBAP-over-UDP)안정 (read+write)Modbus
MODBUS_RTUModbus RTU자체 자바 (RTU-over-TCP)안정 (read+write)Modbus RTU
OPCUAOPC Unified ArchitectureEclipse Milo안정OPC-UA

미국 PLC 계열

opc_type프로토콜라이브러리상태페이지
EIPEtherNet/IP CIP (Allen-Bradley Logix)자체 자바 (etherip 디자인 참고, 순수 자바)안정 (read+write)EIP
AB-ETHAllen-Bradley PLC-5/SLC-500자체 자바 (CSP/PCCC)안정 (read-only, TCP/2222)AB-ETH

유럽 / 빌딩 자동화

opc_type프로토콜라이브러리상태페이지
ADSBeckhoff TwinCAT/ADS자체 자바 (AMS/ADS)안정 (read+write)ADS
PROFINETPROFINET (acyclic record)자체 자바 (DCE/RPC Read-Implicit)안정 (read-only, UDP/34964 — 사이클릭 RT 미지원)PROFINET
BACNETBACnet/IP (HVAC/빌딩)자체 자바 (ReadProperty)안정 (read-only, UDP/47808)BACnet
KNXNETKNXnet/IP (조명/차양)자체 자바 (UDP tunneling)안정 (read+write, UDP/3671)KNXnet

일본 PLC 계열

opc_type프로토콜라이브러리상태페이지
FINSOMRON FINS over TCP자체 자바안정 (1차 read)(준비)
MEWTOCOLPanasonic MEWTOCOL자체 자바안정 (1차 read)(준비)
FATEKFATEK FBs자체 자바안정 (1차 read)(준비)

산업통신 / 도메인 특화

opc_type프로토콜라이브러리상태페이지
OPAtlas Copco Open Protocol (체결 결과)자체 자바 (OpenProtocolJavaDriver)안정 — Node.js runner 대체 완료(준비)
NMEANMEA 0183 (해양/선박)자체 자바안정 (read-only, sentence 캐싱)(준비)
MBUSM-Bus (EN 13757, 미터)자체 자바안정 (1차 read)(준비)
HARTHART-IP (HCF, 4-20mA + digital)자체 자바안정 (1차 read, cmd 0/1/3/13)(준비)
DNP3DNP3 (IEEE 1815, 전력 utility)자체 자바안정 (1차 read, G1/G30)(준비)
IEC61850IEC 61850 MMS (변전소)자체 자바 (full ISO stack)안정 (read+write + BRCB/URCB 리포트)IEC 61850
SECSGEMSECS/GEM HSMS (반도체)자체 자바1차 (HSMS handshake — SECS-II body 차후 phase)(준비)
CANOPENCANopen (기계장비)자체 자바 (SDO expedited, CAN-over-TCP)안정 (read-only, TCP/20200)CANopen
DALIDALI (조명, 빌딩)(HW master 의존 — stub)가이드만 (OPC UA / Modbus 브릿지 권장)DALI
IO_LINKIO-Link (센서 master)(HW master 의존 — stub)가이드만 (PROFINET/EtherNet-IP 브릿지)IO-Link

기타 / 외부 인터페이스

opc_type프로토콜라이브러리상태페이지
HTTPHTTP (외부 push 또는 폴링)자체안정, write 지원HTTP
MOTOR_SENSEKOPENS Motor Sense자체 (별도 jar, reflection 로드)안정HTTP / Motor Sense
ROS2ROS 2 (로봇/AGV)rosbridge_suite (JSON over WebSocket)토픽 구독 read (실구현)ROS 2
DELTAVEmerson DeltaV (DCS)(proprietary — stub)가이드만 (DeltaV OPC UA 경유 필수)DeltaV

카테고리 요약 — 범용 PLC 8 / 미국 2 / 유럽·빌딩 4 / 일본 3 / 산업통신·도메인 10 / 기타 4 = 29 opc_type. "(준비)" 페이지는 추후 별도 드라이버 문서로 분리 예정이며, 현재는 plc_address / format 규칙을 개발자 노트 와 소스의 protocol/<proto>/ 패키지 javadoc 으로 대체합니다.


공통 OPC 등록 폼

화면 또는 POST /api/v1/opc 로 등록 시 모든 프로토콜이 공유하는 필드:

필드의미예시
opc_id게이트웨이 내 고유 IDOPC_UA_Kepware
opc_name화면 표시명Kepware OPC-UA
opc_type프로토콜 타입 (위 표 참고)OPCUA
opc_agent_ip대상 호스트 IP192.168.0.40
opc_agent_port대상 포트49320
site_id사이트 IDSITE_00001 (자동 채움)
auto_collect부팅 시 자동 시작true/false
timecycle수집 주기 (ms)1000
options프로토콜별 추가 옵션 (Map){"username":"kopens","password":"***"}

options 의 키 이름은 프로토콜별로 다릅니다. 각 드라이버 페이지에서 상세 키 표를 제공합니다.


공통 태그 등록 폼

tag_list[] 또는 POST /api/v1/opc/{opcId}/tag 의 단건 등록 필드:

필드의미예시
tag_id태그 고유 ID (보통 <OPC_ID>_TAG_<n>)OPC_LS_XBM_0001_TAG_00001
tag_name표시명Pump1.RPM
plc_address실제 PLC 주소 (프로토콜별 형식)D00309 (LS) / ns=2;s=Sine1 (OPCUA)
data_typeedge 자유 문자열 (Float, Integer, Boolean, String 등)Integer
format메모리 폭 / 표현 형식 (선택)DW (LS) / STR[10]
description설명펌프 회전수
fomula후처리 수식 (선택, 예: x * 0.1)x / 10

자세한 plc_addressformat 규칙은 각 드라이버 페이지에서 다룹니다.


등록 흐름 (REST)