본문으로 건너뛰기

드라이버 개요

PlantPulse Edge 가 지원하는 산업 프로토콜 일람입니다. 제품 기준 opc_type 44개 (드라이버 43종 + 별칭 1)입니다.

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

구현 갈래​

  • 자체 자바 구현 (대다수) — 순수 Java 소켓 위에 프로토콜 프레이밍을 직접 작성합니다. 외부 native·JNI 의존이 없습니다. 2026-07 에 Modbus 계열·PROFINET·AB-ETH·BACnet·KNXnet CANopen 을 네이티브로 재작성하면서 Apache PLC4X 의존성을 통째로 제거했습니다.
  • 외부 라이브러리 — MELSEC·S7 은 iot-communication, OPC UA 는 Eclipse Milo 를 씁니다.
  • 네이티브 브릿지 — FOCAS 는 C++ collector 를 자식 프로세스로 띄우고 TCP/JSON 으로 읽습니다.
  • stub 4종 — CC-Link IE · DALI · IO-Link · DeltaV. 게이트웨이가 직접 읽지 않고 상위 프로토콜로 브릿지하는 구성을 안내합니다. AbstractStubDriver 를 상속하는지가 판정 기준입니다.
쓰기 지원은 드라이버마다 다릅니다

아래 표의 쓰기 열이 정본입니다. 쓰기를 지원하지 않는 드라이버에 쓰기를 시도하면 거부됩니다.


지원 프로토콜 일람​

범용 PLC / 일반 프로토콜​

opc_type프로토콜 / 장비구현쓰기기본 포트페이지
LSLS XGI/XBC/XBM (FEnet)자체 자바✅—LS
MELSECMitsubishi MELSEC (MC)iot-communication✅—MELSEC
S7Siemens S7-300/400/1200/1500iot-communication✅—S7
MODBUSModbus TCP자체 자바✅502Modbus
MODBUSUDPModbus UDP자체 자바 (MBAP-over-UDP)✅502Modbus
MODBUS_RTUModbus RTU자체 자바 (RTU-over-TCP)✅502Modbus RTU
OPCUAOPC UAEclipse Milo 1.1.8✅—OPC UA

미국 PLC 계열​

opc_type프로토콜 / 장비구현쓰기기본 포트페이지
GEGE SRTP / GE Fanuc자체 자바 (순수 소켓)✅18245GE
EIPEtherNet/IP · CIP (심볼릭 태그)자체 자바 (ENIP/CIP)✅44818EtherNet/IP
LOGIXAB ControlLogix / CompactLogixEIP 별칭 — 같은 드라이버✅44818EtherNet/IP
AB-ETHAllen-Bradley CSP/PCCC (SLC·PLC-5)자체 자바❌2222AB-ETH

유럽 / 빌딩 자동화​

opc_type프로토콜 / 장비구현쓰기기본 포트페이지
PROFINETPROFINET (acyclic Read-Implicit)자체 자바❌34964PROFINET
ADSBeckhoff TwinCAT ADS자체 자바✅48898ADS
BACNETBACnet/IP (ReadProperty)자체 자바❌47808BACnet
KNXNETKNXnet/IP (tunneling)자체 자바✅3671KNXnet
CANOPENCANopen (SDO)자체 자바❌20200CANopen
MBUSM-Bus (계량기)자체 자바⚠10001M-Bus
IEC61850IEC 61850 MMS (전력)자체 자바 (full ISO stack)✅102IEC 61850
DALIDALI 조명stub❌—DALI
IO_LINKIO-Link 마스터stub❌—IO-Link
DELTAVEmerson DeltaVstub❌—DeltaV

⚠ M-Bus 의 쓰기는 계측값이 아니라 슬레이브 선택 명령만 처리합니다.

일본 · 대만 PLC 계열​

opc_type프로토콜 / 장비구현쓰기기본 포트페이지
FINSOmron FINS자체 자바✅9600FINS
MEWTOCOLPanasonic MEWTOCOL자체 자바✅9094MEWTOCOL
FATEKFatek자체 자바✅500Fatek
KEYENCE_KVKeyence KV-7500/8000 상위링크자체 자바 (ASCII)✅8501연결 유형
CCLINK_IECC-Link IE Fieldstub❌—CC-Link IE
Keyence KV 는 실장비 검증 전입니다

와이어 포맷이 문서 기준으로 구현돼 있고 실제 장비로 확인되지 않았습니다. 현장 적용 전에 시험 연결로 값을 대조하세요.

산업통신 / 도메인 특화​

opc_type프로토콜 / 장비구현쓰기기본 포트페이지
SECSGEMSEMI SECS/GEM (HSMS)자체 자바✅5000SECS/GEM
HARTHART-IP자체 자바✅5094HART
DNP3DNP3 (unsolicited 지원)자체 자바✅20000DNP3
IEC104IEC 60870-5-104 전력 텔레컨트롤자체 자바❌2404연결 유형
FOCASFANUC CNC (FOCAS)네이티브 브릿지 + C++ collector❌8193FOCAS
MTCONNECTMTConnect CNC / 공작기계자체 자바 (HTTP/XML)❌5000연결 유형
OPOpen Protocol (체결 공구)순수 자바✅4545Open Protocol
NMEANMEA 0183 (선박·GPS)자체 자바❌10110NMEA
IEC61162_450해양 선교 NMEA over UDP 멀티캐스트자체 자바❌60004 (UDP)연결 유형
MOTOR_SENSE모터센스 진동·전류 센서HTTPS REST (별도 jar)❌—연결 유형

메시징 / 외부 인터페이스​

opc_type프로토콜 / 장비구현쓰기기본 포트페이지
HTTPHTTP 수신 (캐시 bind)자체 자바(bind 경유)—HTTP
WEBSOCKETWebSocket자체 자바✅80 / 443WebSocket
MQTT_CLIENTMQTT 클라이언트Eclipse Paho✅1883 / 8883MQTT Client
SPARKPLUG_BSparkplug B자체 protobuf✅1883Sparkplug B
KAFKAApache Kafkakafka-clients 4.1.2✅9092Kafka
COAPCoAPCalifornium 3.13.0✅5683 / 5684CoAP
ROS2ROS 2 (rosbridge WebSocket)자체 자바❌9090 / 9443ROS 2
SNMPSNMP v2c (네트워크 장비·UPS)자체 자바 (BER)❌161 (UDP)연결 유형

공통 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_address 와 format 규칙은 각 드라이버 페이지에서 다룹니다.


등록 흐름 (REST)​