ドライバ概要
PlantPulse Edge がサポートする産業プロトコルの一覧。
各ドライバは plantpulse-edge-driver.jar 内の
plantpulse.driver.protocol.<proto> パッケージに実装されており、
ProtocolDriverFactory.createDriver(opc_type) が APP_OPC.OPC_TYPE 文字列を参照してインスタンスを生成します。
実装の分類は大きく 2 系統に分かれます。
- 独自 Java 実装(大多数): 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 の実装完了により stub を卒業 — 接続タイプ を参照。)
そのほか、iot-communication (xingshuangs) ライブラリをそのまま活用する GE/MELSEC/S7、Eclipse Milo ベースの OPC UA、および独自 HTTP クライアントが補助トラックを構成します。
サポートプロトコル一覧
汎用 PLC / 一般プロトコル
opc_type | プロトコル | ライブラリ | 状態 | ページ |
|---|---|---|---|---|
LS | LS XGI/XBC/XBM (FEnet) | 独自 Java | 安定 | LS |
GE | GE SRTP / GE Fanuc | iot-communication (xingshuangs) | 安定 | (準備中) |
MELSEC | Mitsubishi MELSEC (MC) | iot-communication (xingshuangs) | 安定 | MELSEC |
S7 | Siemens S7-300/400/1200/1500 | iot-communication (xingshuangs) | 安定 | S7 |
MODBUS | Modbus TCP | 独自 Java | 安定 (read+write) | Modbus |
MODBUSUDP | Modbus UDP | 独自 Java (MBAP-over-UDP) | 安定 (read+write) | Modbus |
MODBUS_RTU | Modbus RTU | 独自 Java (RTU-over-TCP) | 安定 (read+write) | Modbus RTU |
OPCUA | OPC Unified Architecture | Eclipse Milo | 安定 | OPC-UA |
米国 PLC 系
opc_type | プロトコル | ライブラリ | 状態 | ページ |
|---|---|---|---|---|
EIP | EtherNet/IP CIP (Allen-Bradley Logix) | 独自 Java (etherip の設計を参考、純 Java) | 安定 (read+write) | EIP |
AB-ETH | Allen-Bradley PLC-5/SLC-500 | 独自 Java (CSP/PCCC) | 安定 (read-only, TCP/2222) | AB-ETH |
欧州 / ビルオートメーション
opc_type | プロトコル | ライブラリ | 状態 | ページ |
|---|---|---|---|---|
ADS | Beckhoff TwinCAT/ADS | 独自 Java (AMS/ADS) | 安定 (read+write) | ADS |
PROFINET | PROFINET (acyclic record) | 独自 Java (DCE/RPC Read-Implicit) | 安定 (read-only, UDP/34964 — サイクリック RT 非対応) | PROFINET |
BACNET | BACnet/IP (HVAC/ビル) | 独自 Java (ReadProperty) | 安定 (read-only, UDP/47808) | BACnet |
KNXNET | KNXnet/IP (照明/ブラインド) | 独自 Java (UDP tunneling) | 安定 (read+write, UDP/3671) | KNXnet |
日本 PLC 系
opc_type | プロトコル | ライブラリ | 状態 | ページ |
|---|---|---|---|---|
FINS | OMRON FINS over TCP | 独自 Java | 安定 (第 1 次 read) | (準備中) |
MEWTOCOL | Panasonic MEWTOCOL | 独自 Java | 安定 (第 1 次 read) | (準備中) |
FATEK | FATEK FBs | 独自 Java | 安定 (第 1 次 read) | (準備中) |
産業通信 / ドメイン特化
opc_type | プロトコル | ライブラリ | 状態 | ページ |
|---|---|---|---|---|
OP | Atlas Copco Open Protocol (締付結果) | 独自 Java (OpenProtocolJavaDriver) | 安定 — Node.js runner の置き換え完了 | (準備中) |
NMEA | NMEA 0183 (海洋/船舶) | 独自 Java | 安定 (read-only, sentence キャッシュ) | (準備中) |
MBUS | M-Bus (EN 13757, メーター) | 独自 Java | 安定 (第 1 次 read) | (準備中) |
HART | HART-IP (HCF, 4-20mA + digital) | 独自 Java | 安定 (第 1 次 read, cmd 0/1/3/13) | (準備中) |
DNP3 | DNP3 (IEEE 1815, 電力ユーティリティ) | 独自 Java | 安定 (第 1 次 read, G1/G30) | (準備中) |
IEC61850 | IEC 61850 MMS (変電所) | 独自 Java (full ISO stack) | 安定 (read+write + BRCB/URCB レポート) | IEC 61850 |
SECSGEM | SECS/GEM HSMS (半導体) | 独自 Java | 第 1 次 (HSMS handshake — SECS-II body は次フェーズ) | (準備中) |
CANOPEN | CANopen (機械装置) | 独自 Java (SDO expedited, CAN-over-TCP) | 安定 (read-only, TCP/20200) | CANopen |
DALI | DALI (照明、ビル) | (HW master 依存 — stub) | ガイドのみ (OPC UA / Modbus ブリッジ推奨) | DALI |
IO_LINK | IO-Link (センサ master) | (HW master 依存 — stub) | ガイドのみ (PROFINET/EtherNet-IP ブリッジ) | IO-Link |
その他 / 外部インターフェース
opc_type | プロトコル | ライブラリ | 状態 | ページ |
|---|---|---|---|---|
HTTP | HTTP (外部 push またはポーリング) | 独自 | 安定、write 対応 | HTTP |
MOTOR_SENSE | KOPENS Motor Sense | 独自 (別 jar、reflection ロード) | 安定 | HTTP / Motor Sense |
ROS2 | ROS 2 (ロボット/AGV) | rosbridge_suite (JSON over WebSocket) | トピック購読 read (実装済み) | ROS 2 |
DELTAV | Emerson 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 | ゲートウェイ内で一意の ID | OPC_UA_Kepware |
opc_name | 画面表示名 | Kepware OPC-UA |
opc_type | プロトコルタイプ (上表を参照) | OPCUA |
opc_agent_ip | 対象ホスト IP | 192.168.0.40 |
opc_agent_port | 対象ポート | 49320 |
site_id | サイト ID | SITE_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_type | edge 自由文字列 (Float、Integer、Boolean、String など) | Integer |
format | メモリ幅 / 表現形式 (任意) | DW (LS) / STR[10] |
description | 説明 | 펌프 회전수 |
fomula | 後処理の計算式 (任意、例: x * 0.1) | x / 10 |
詳細な plc_address と format の規則は各ドライバのページで扱います。