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

HART-IP — 4-20mA + デジタル通信

HART (Highway Addressable Remote Transducer) は、4-20mA アナログ信号にデジタル情報を重畳して伝送する産業計測の標準規格です。本ゲートウェイは、HART をイーサネットでカプセル化した HART-IP (TCP/UDP) で通信します。

化学 / 石油精製 / 発電 / 上下水など プロセス産業 の圧力・流量・温度・レベル伝送器で最も多く使われています。


登録フォームの入力値

入力欄何を入力するか
IP アドレスHART-IP ゲートウェイ / マルチプレクサの IP192.168.0.110
ポートHART-IP ポート5094 (標準)
応答タイムアウト (request-timeout)応答待ち時間 (ms)5000
ポーリングアドレス (polling-address)HART デバイスアドレス (0~63)0 (point-to-point) / 115 (マルチドロップ)
マルチドロップ環境

1 台の HART-IP ゲートウェイの配下に複数の伝送器がマルチドロップで接続されている場合は、デバイスごとに異なるポーリングアドレスを指定し、個別の接続として登録するのが最もすっきりします。


タグの PLC アドレス表記

HART は コマンド (Command) で値を取得します。よく使われるコマンド:

HART コマンド意味
Cmd 0デバイス識別 (メーカー/モデル/タグ — メタ情報用)
Cmd 1一次変数 (Primary Variable, PV) — 最も使用頻度が高い
Cmd 2PV の mA 値
Cmd 3動的変数 4 種 (PV, SV, TV, QV) を一括取得
Cmd 13デバイスタグ / 単位 / 上限・下限

ゲートウェイでは cmd:<number>:<field> 形式で入力します。

表記意味
cmd:1:PV一次変数 (圧力・流量など)
cmd:3:PVCmd 3 応答のうち PV のみ
cmd:3:SV二次変数 (Secondary Variable)
cmd:3:TV三次変数
cmd:3:QV四次変数
cmd:2:CURRENT4-20mA の実 mA 値
cmd:13:TAGデバイスタグ (文字列)
cmd:13:UNIT単位コード
PV は圧力か、流量か?

HART では 変数そのもの (4-20mA が何を意味するか) はデバイス側の設定で決まります。ゲートウェイは単に「PV」を受け取るだけなので、その PV がどの物理量であるかは伝送器の形式補助 (Cmd 13 unit)、またはユーザーがタグ名で明示してください。


データ形式のマッチング

HART の値データ形式形式補助
PV / SV / TV / QV (Float)FloatREAL
mA (Cmd 2)FloatREAL
デバイスタグ / 単位名StringSTR[8] など
ステータスコード / Field Device StatusInteger(空欄)

HART は IEEE 754 32-bit ビッグエンディアンで実数を送信します。ゲートウェイが自動でデコードするため、ユーザーは REAL を指定するだけで済みます。


書き込み (Write) のサポート

HART の書き込みコマンドは危険 (伝送器の レンジ / 単位 / ダンピング / ゼロ点 を変更する) ですので、慎重に使用してください。

コマンド意味
Cmd 6ポーリングアドレス変更
Cmd 17デバイスメッセージ (32 文字)
Cmd 18デバイスタグ / ディスクリプタ / 日付
Cmd 35PV の上限 / 下限 (レンジ) 変更

書き込み表記の例: cmd:18:TAG、値は文字列で送信します。


よくある問題と対処

症状考えられる原因対処
「No response from device」HART ゲートウェイのみ応答し、デバイスが無応答マルチドロップのポーリングアドレスを確認 (0 vs 1~15)
Cmd 1 の値が 0 に固定伝送器が fail-safe モード4-20mA ラインの断線 / 短絡を点検
「Cmd 3 not supported」旧型 HART デバイス (rev 5 未満)Cmd 1 のみ使用。SV/TV/QV は使用不可
単位コードが数値で表示されるHART の単位は enum (1=°C, 32=Pa, …)計算式 / マッピング表で人間が読みやすい単位に変換

よく使われるデバイス別の実マッピング例

Rosemount 3051 (圧力伝送器)

最も広く使われている差圧 / ゲージ圧伝送器。4-20mA の PV を圧力 (kPa, bar, psi など) にマッピング。

タグ名アドレス形式備考
圧力 (PV)cmd:1:PVFloatREAL
mAcmd:2:CURRENTFloatREAL — ライン点検用
デバイスタグcmd:13:TAGStringTT-201 など
単位コードcmd:13:UNITInteger1=in H2O, 7=kPa, 13=bar
デバイスステータスcmd:48:STATUSIntegerself-test 結果

Endress+Hauser Promass 80 (コリオリ流量計)

タグ名アドレス形式備考
流量 (PV)cmd:3:PVFloatkg/h
密度 (SV)cmd:3:SVFloatkg/m³
温度 (TV)cmd:3:TVFloat°C
積算流量 (QV)cmd:3:QVFloatkg

Yokogawa EJX910A (多変数伝送器)

タグ名アドレス形式備考
差圧cmd:3:PVFloatkPa
静圧cmd:3:SVFloatkPa abs
プロセス温度cmd:3:TVFloat°C
補正後流量cmd:3:QVFloat(デバイス内部演算)

よく使われる運用パターン

パターン 1. マルチドロップ多点構成 (1 ゲートウェイに 8 台の伝送器)

タグ名アドレス備考
TT-101 PVcmd:1:PV(ポーリングアドレス 1 で個別の接続として登録)
TT-102 PVcmd:1:PV(ポーリングアドレス 2 で個別の接続として登録)

ポーリングアドレス 1~15 ごとに PlantPulse 側で個別に OPC 登録します (host:port は同じで、polling-address のみ変える)。

パターン 2. 単位の自動表示

cmd:13:UNIT (単位 enum) も併せて収集し、表示側で mapTable(unit) = "kPa" / "bar" / ... 変換します。伝送器の単位を変更しても、PlantPulse の登録内容を修正せずに表示単位が自動追従します。

パターン 3. ライン断線の検出

cmd:2:CURRENT (mA) が 4 未満または 20 超の場合は fail-safe または断線の疑いがあります。アラームルールに追加してください。


次のステップ