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

計算式(数式)の適用

英語名称で フォーミュラ (Formula) と呼ばれることもあります。

PLC が送ってくる raw 値をそのまま使わずに、単位変換 / ゼロ点補正 / スケール調整 を行いたい場合に使用します。

よくある事例:

  • 圧力センサーが整数 1638 を送ってくるが、実際には 163.8 kPa である場合 → ${VALUE}*0.1
  • 摂氏 → 華氏 変換 → ${VALUE}*1.8+32
  • mV → V 変換 → ${VALUE}/1000

どこに入力しますか

タグ登録 / 修正フォームの [計算式] 欄に数式を記述します。登録すると直後の収集周期から変換後の値が画面に表示されます。

  • 空欄にすると raw 値がそのまま使用されます。
  • 一度入力しておけば、以降は収集ごとに自動的に適用されます。

基本の使い方

${VALUE} は PLC から読み取ったばかりの raw 値を意味します。

やりたいこと計算式入力 → 出力
そのまま使う(空欄)100100
10 倍にする${VALUE}*10550
10 分の 1 にする (整数→小数)${VALUE}*0.11638163.8
1000 で割る (mV → V)${VALUE}/100033003.3
加算 (摂氏 → ケルビン)${VALUE}+273.1525298.15
減算 (ゼロ点補正)${VALUE}-1001024924
華氏変換${VALUE}*1.8+322577.0
二乗${VALUE}*${VALUE} または ${VALUE}^2525
平方根sqrt(${VALUE})14412.0
毎分回転数 → Hz${VALUE}/60180030.0

他のタグの値を参照

他のタグの最終値を ${태그ID} の形式で取得できます。ゼロ点値を別タグで管理する場合や、補正係数を別に持たせるパターンで便利です。

やりたいこと計算式
他のタグをゼロ点として減算${VALUE}-${TAG_ZERO}
2 つのタグを合算${VALUE}+${TAG_OFFSET}
補正 (gain × x + offset)${VALUE}*${TAG_GAIN}+${TAG_OFFSET}

ここで TAG_ZEROTAG_OFFSETTAG_GAIN は他のタグの タグ ID です。あらかじめ別のタグとして登録されている必要があります。

参照タグがまだ存在しない場合

${TAG_ZERO} と記述したものの、そのタグが一度も収集されていない場合は計算に失敗します (当該タグのステータスに「計算式変数値なし」といったエラーが表示されます)。ゲートウェイが一巡すれば自動的に正常化しますので、しばらくお待ちください。


使用可能な関数

四則演算だけでなく、よく使う数学関数も使用できます。

種類表記
四則演算+, -, *, /${VALUE}+1
べき乗^${VALUE}^2 (= 二乗)
括弧(, )(${VALUE}+10)*2
平方根sqrt(...)sqrt(${VALUE})
立方根cbrt(...)cbrt(${VALUE})
自然対数ln(...)ln(${VALUE})
常用対数 (底10)log(...)log(${VALUE})
サイン/コサイン/タンジェント (ラジアン)sin, cos, tansin(${VALUE})
逆三角関数asin, acos, atanatan(${VALUE})
双曲線関数sinh, cosh, tanhtanh(${VALUE})
定数pi, e${VALUE}*pi/180 (角度 → ラジアン)

角度(degree)入力をラジアンに変換するには *pi/180 を掛けてください。例: sin(${VALUE}*pi/180)


適用されるデータ形式

計算式は 数値型 (Float, Double, Integer, Long) のタグにのみ適用されます。

  • StringBoolean タグでは計算式が無視され、raw 値がそのまま出力されます。
  • 補正後の結果が整数範囲を超える場合は、データ形式を Float または Double に変更してください。

間違いやすい点

誤ったパターン何が問題か正しいパターン
VALUE * 0.1${...} 表記が抜けている${VALUE}*0.1
${VALUE}*0,1カンマの使用 (韓国語キーボードでの入力ミス)${VALUE}*0.1 (ピリオドを使用)
if(${VALUE}>0, ...)条件文は非対応条件が必要な場合は別システムで処理
${VALUE} & 0xFFビット演算は非対応算術で表現できる形に変更

よくある質問

Q. 計算式が適用されたかどうかはどう確認しますか?

タグの [現在値] 欄に表示される値が 変換後の値 です。raw 値を確認したい場合は、同じアドレスを計算式なしで別のタグとして登録し、比較してください。

Q. 単位変換を 2 種類 (例: 摂氏と華氏) 同時に送信したいです

同じ PLC アドレスを指すタグを 2 つ作成し、一方はそのまま、もう一方に ${VALUE}*1.8+32 のような変換式を入力してください。

Q. 結果が NaN / Infinity になります

  • 0 で除算した場合 → Infinity
  • 負数の平方根 → NaN

PLC の raw 値の範囲が想定と異なる可能性が高いです。まず計算式なしで raw 値を確認してみてください。

Q. さらに複雑な加工が必要です (条件分岐 / 多変数 / 外部データ)

計算式のみでは困難です。PlantPulse プラットフォームの後処理段、または別のデータ加工ツール (Node-RED など) を併用することを推奨します。アプリケーション管理 ページの Node-RED 項目を参照してください。

関数 / 変数の全リファレンスが必要な場合は 高度な設定 — Formula リファレンス ページを参照してください。