メインコンテンツまでスキップ

Modbus RTU (シリアル)

Modbus RTU は Modbus の シリアル (RS-485 / RS-232) 方式です。インバータ、電力量計、環境センサなど、シリアルインタフェースしか持たない機器は RTU でのみ通信します。

このゲートウェイは TCP/IP ベース であるため、シリアルを直接扱わず、Modbus RTU-over-TCP ゲートウェイ (RS-485 → イーサネット変換器) を経由して通信します。

TCP ゲートウェイが必須

PlantPulse Edge 自体は RS-485 ポートを持ちません。シリアル機器を接続するには、次のいずれかが必要です。

  1. Modbus ゲートウェイ (変換器) — Moxa MGate、Advantech EKI、USR-TCP232、ICP DAS tGW など
  2. PLC のシリアルモジュール — PLC が RTU シリアルを受け取り、Modbus TCP として再公開

RTU と TCP の違い

項目Modbus TCPModbus RTU
物理層イーサネットRS-485 / RS-232
伝送単位TCP segmentシリアル frame
スレーブ識別IP + (Unit ID)Unit ID
ゲートウェイ経由のマッピング直接TCP IP 1個 + Unit ID 複数
応答速度高速ボーレートの制限 (通常 9600~115200 bps)

1本の RS-485 ライン(= 1台の変換器 IP)に複数のスレーブがぶら下がっている 構成が最も一般的です。各スレーブは Unit ID の異なる別々の接続 として登録してください。


登録フォームの入力値

入力欄何を入力するか
IP アドレスRTU-over-TCP ゲートウェイの IP192.168.0.55
ポートゲートウェイの TCP ポート502 (または 88994001 など変換器ごと)
Unit ID (slave-id)シリアルスレーブアドレス (1~247)1
応答タイムアウト (request-timeout)応答待ち時間 (ms)5000 (シリアルは TCP より長めに)
Unit ID が肝心

Modbus TCP と異なり、RTU は 同じ IP の背後に複数のスレーブ がぶら下がっています。Unit ID を間違えると「別の設備の値」が入ってきます。各スレーブのマニュアル / DIP スイッチ設定を確認してください。

変換器側の設定チェックリスト

項目推奨値
モードTransparent / Modbus TCP-RTU gateway
ボーレートスレーブと同一 (9600 / 19200 / 38400 など)
データビット / ストップビット / パリティスレーブと同一 (通常 8N1)
RTU response timeout1000~3000 ms
Inter-frame delay自動または 5~10 ms

タグの PLC アドレス表記

タグアドレスの形式は Modbus TCP と同一 です (Modbus TCP ページ参照)。

表記意味
holding-register:1Holding Register 1 (16-bit)
holding-register:1:REALHolding Register 1~2 (32-bit float)
coil:1Coil 1 (1 ビット)
input-register:1Input Register 1 (16-bit、読み取り専用)

5桁 / 6桁表記 (40001400001) もそのまま受け付けます。

5桁意味
1xxxxDiscrete Input
0xxxxCoil
3xxxxInput Register
4xxxxHolding Register

データ形式のマッチング

Modbus TCP の表をそのまま適用してください。RTU だからといって別の形式が必要になることはありません。


よくある問題と対処

症状考えられる原因対処
「Read timeout」RTU のボーレート / パリティ mismatch変換器とスレーブのシリアルパラメータを同一に
1台のスレーブだけ応答し、残りが「Slave not present」RS-485 終端抵抗 / 配線 / Unit ID 衝突ライン終端の終端抵抗 (120Ω)、Unit ID の重複を点検
すべてのスレーブが無応答変換器のモードが「TCP server」になっていない変換器設定で Modbus TCP-RTU gateway モードに
断続的な timeoutシリアル衝突 (multiple master)RS-485 master は1台のみ
32-bit 実数が化けるbyte/word 順序 (Modbus TCP と同じ問題):UDINT_LSWORD_FIRST などの変形を試す

次のステップ