4–20mAの信号を温度や圧力へ換算するとき、4mAを引いて16で割るという手順だけを覚えても、表示値の確認はできません。先に決めるのは、4mAと20mAがそれぞれ何の値に対応しているかです。PLCの画面で整数値を読む場合は、その整数と電流の対応も必要になります。

ここでは、直線的な出力を前提にした換算式と、設定を照合していく順番を示します。

まず、電流と測定範囲の両端をそろえる

4mAが測定範囲の下限、20mAが上限に対応する設定を考えます。この下限は、必ずしも物理量のゼロではありません。温度範囲を−50〜150℃と設定した送信器なら、4mAは0℃ではなく−50℃に対応します。

次の項目を、送信器側の設定と受信側の設定の両方から拾います。カタログに載っている最大測定範囲と、いま設定されている出力範囲は別物なので、区別して記録してください。

確認項目 例・読み取る内容
出力範囲 4–20mAか、別の電流・電圧範囲か
物理量の下限・上限 圧力、温度、液位などの設定値と単位
出力の関係 直線か、開平演算などを含むか
PLCへ渡る値 電流の実数値か、A/D変換後の生値か、換算済みの物理量か
診断情報 断線・範囲外・通信異常時の値と状態フラグ

スケーリングは、信号の値を目的の単位へ換算することです。NIの4–20mAスケーリング解説では、通常4mAを0%、20mAを100%として、対応する2点から直線の式を求める方法を示しています。

以下はその線形関係を使った計算です。流量の開平演算など、出力が非線形の場合はそのまま適用できません。

電流から物理量を求める

電流をI[mA]、下限をL、上限をU、求める物理量をXとすると、次の式になります。L・U・Xは同じ単位でそろえて扱います。

X = L + (I − 4) / 16 × (U − L)

割合 = (I − 4) / (20 − 4)

式の16は、20mAと4mAの差です。ここをI÷20としてしまうと、下限であるはずの4mAが20%として扱われます。入力をA単位で受けている場合は、4と16ではなく0.004と0.016を使います。

説明用に、0〜1.0MPaを4–20mAで送る設定を仮定します。

電流I 範囲内の割合 換算値X
4mA 0% 0MPa
8mA 25% 0.25MPa
12mA 50% 0.50MPa
16mA 75% 0.75MPa
20mA 100% 1.00MPa

12mAなら、0+(12−4)÷16×1.0=0.50MPaです。ここで表示が0.60MPaになっているなら、最初に見るのは電流と物理量の設定端点、単位、そして換算処理が二重に掛かっていないかです。この相違だけでセンサ故障とは判定できません。

下限がゼロでない場合も同じ式で計算する

−50〜150℃の仮定例では、範囲の幅は150−(−50)=200℃です。12mAの換算値は、−50+(12−4)÷16×200=50℃になります。上限の150に50%を掛けた75℃ではない点が、下限がゼロでない設定でつまずきやすいところです。

希望する物理量から電流へ戻す式も、検算に使えます。

I = 4 + 16 × (X − L) / (U − L)
条件:UとLが異なること

この例で100℃なら、I=4+16×{100−(−50)}÷200=4+12=16mAです。求めた16mAを元の式へ戻し、100℃に一致することまで確かめると、端点の取り違えに気づけます。

計算途中は必要な桁を保ち、表示桁に合わせる丸めは最後に行います。なお、表示桁数を増やしても測定精度は上がりません。

PLCの生値を使うときは、もう一組の端点を確認する

生値は、ここでは入力モジュールから渡される換算前の数値を指します。電流と物理量の対応に加えて、生値と電流の対応という二組目の端点が必要になります。

生値をR、4mAに対応する値をR4、20mAに対応する値をR20とすると、次の式で物理量へ換算できます。

X = L + (R − R4) / (R20 − R4) × (U − L)
条件:R20とR4が異なること

説明用に、ある仮想の入力設定で4mA→4000、20mA→20000とします。生値12000なら割合は(12000−4000)÷(20000−4000)=0.5で、前節の−50〜150℃設定では50℃になります。4000と20000は仮定値であり、共通のPLC仕様ではありません。

実機では、モジュール型式・入力レンジ・データ形式ごとの対応表を確認します。入力機能がすでに工学単位へ換算している場合は、同じ換算をもう一度掛けないでください。整数演算では途中の除算で小数部が失われる可能性があるため、演算型、変換順序、オーバーフローの扱いも使用するPLCの仕様で確認します。

端点・中点と異常状態を分けて検算する

設定確認表には、入力値、換算前の値、計算上の期待値、実際の表示を並べます。下限・中点・上限の3点で、同じ入力に同じ単位を対応させます。

記録例(−50〜150℃、生値4000〜20000という仮定例での期待値。実際の表示は実機で記入します)。

電流I 生値R 期待値(計算) 実際の表示
4mA 4000 −50℃ (記入)
12mA 12000 50℃ (記入)
20mA 20000 150℃ (記入)

これは換算式を確認するための例で、校正や設備全体の受入試験を完了する条件ではありません。

期待値とずれた場合は、ずれ方から見る場所を絞れます。

見えた相違 先に照合するところ
全体に一定量ずれる 下限値、オフセット、別処理での加算
下限は合うが上限側でずれる 上下限の幅、電流と生値の対応
値が極端に大きい・小さい AとmA、PaとMPa、倍率
計算値が段階的に変わる 整数除算、丸め、入力値の分解能
範囲外で端の値に張り付く クランプ処理、範囲外フラグ、入力側の飽和

4mA未満や20mA超を式へ入れれば、数式上は範囲外の物理量が計算できます。しかし、その値を有効な測定値として扱えるかは別の判断です。送信器の異常出力、入力モジュールの検出範囲、診断フラグと制御側の扱いを照合し、単に0〜100%へ丸めて異常を隠さないようにします。

検算は、まず保存済みの設定とログで進めます。信号の印加や配線変更が必要になる場合は、担当者が設備の安全手順に従って行ってください。期待値との相違が入力経路と処理のどこから生じたかを切り分ける段階は、PLCデバッグの手順へ引き継げます。