<< Click to Display Table of Contents >> 演算式構文 |
演算式構文とは
演算式構文は、演算式を表現するための構文です。
以下は、使用例です。
■Panel Browserのバインド書式の「IN: / OUT: / INOUT:」以降の書式
例)
INOUT : U01.F01.T01 IN: U01.F01.T01 * 100 + 50 IN:CNumStr((#D0 + #D1) / 2, 2) IN: {$M0}{"ON"},{default}{"OFF"} |
■アラームアクションのメール送信条件
例)
[CM0] == "重故障" [CM0] > 10 && [CM1] == 1 |
■リモートアラームグリッドのアラームレイアウト設定
例)
[ALARMID] AlarmID, 80, center
[OCCURDATESTR] 発生, 140, center
[ARDATESTR] 確認/復帰, 140, center [CM0] == "重故障" [CM0] > 10 && [CM1] == 1
{[CM3]==T}{[CM0] & "(" & [CM2] & ")"},{default}{[CM0]} メッセージ, 120, left |
■サマリアクションの計算フィールドマスタのExpressionに定義する演算式
例)
T001 + T002 + T003 / 3 |
構文
演算式構文には値(T/F、123、"abc"など)、オペレータ(+ - / & | など)、変数(U01.F01.T01、[CM0]など)及び関数(CNumStrなど)が使用できます。
演算式構文の書式は以下のとおりです(※本マニュアルでは抽象化のため、変数をVAR1、VAR2、VAR3、、と表現します)。
■構文1
演算式
構文1では演算式のみを記述します。
例)
VAR1 * 100 VAR2 * VAR3 + 100 CNumStr((VAR1 + VAR2) / 2, 2) |
■構文2
{条件式1}{条件値1},{条件式2}{条件値2 }, … ,{default}{デフォルト値}
構文2は条件式とその条件が成立したときの条件値を記述することができます。この構文により、条件分岐を行う事ができます。
条件式を左から順番に評価し、条件が満たされたときの値(条件値)が結果値になります。もしどれにも当てはまらない場合は、右端のデフォルト値が結果値となります。
例)
{VAR1}{"ON"},{default}{"OFF"} {VAR1>=80}{"High"},{VAR2>20}{"Normal"},{default}{"Low"} {VAR1>=80}{"#FFFFFF"},{VAR3>20}{"#FF0000"},{default}{"#0000FF"} |
FA-Panelのバインド専用関数(「B.In」「B.BF」など)は、バインド以外から呼び出すことはできません。 |
変数
演算式構文は様々な場面で利用されますが、演算式の中に変数を指定することができます。
変数に何を指定するかは、タグパスであったり、フィールド名であったり、構文を記述する機能により異なります。Panel Browserのバインド書式の場合、タグパス(U01.F01.T01など)を変数として指定します。あるいは、アラームアクションのメール送信条件の場合、フィールド名([CM0]、[CM1]など)を変数として利用できます。
■禁則文字について
演算式構文で使用される変数に以下の文字を含めることはできません。
1)「オペレーター(演算子)」にて定義されているオペレーター記号と同じ文字は使用してはならない(+、-、*、/ など)。
但し、下記の例のように、変数の前後を「'」(シングルクオーテーション)で囲む事によって使用する事も可能です。
例)
'U01.F01.TAG-01' //「-」記号が含まれる場合 'U01!Alive' //「!」記号が含まれる場合 'U01.F01.#SD0000+FIL=LIN:0|1|0|100' // アクティブタグのフィルタを使用した場合 |
2)空白文字。 例:「TAG 01」
3)「"」ダブルクオーテーション及び「'」シングルクオーテーション 例:「TAG"02"」
4)先頭の文字には数値は使用できない。 例:「123TAG」
5)演算式構文の変数の先頭文字にアンダーバーは使用できない。
例:「_TAG01」
6)全角文字。 例:「U01.F01.ポンプ1」 ※すべての全角文字が使用できないわけではありませんが、文字コードにより使用できない場合があるため、全角文字はなるべく避けてください。
データ型
演算式構文で扱える値のタイプ(型)は以下の4種類です。
データ型 |
説明 |
ブール |
ブール値(T or F)です。“T”はOnの状態を表し、“F”はOffの状態を表します。 |
数値 |
数値です。小数点も扱えます。 |
文字 |
文字列です。 |
時刻 |
時刻(日時)です。 |
各値の仕様ついてはSC2構文のデータ型と同様です。
オペレーター(演算子)
演算式構文で扱えるオペレータは以下の通りです。
オペレーター |
|||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
算術演算子 |
|
||||||||||||||||||
比較演算子 |
|
||||||||||||||||||
論理演算子 |
|
||||||||||||||||||
ビット演算子 |
|
関数の呼び出し
演算式構文から関数(ルートメソッド)を呼び出すことができます。ルートメソッド一覧の「演算式構文」に「○」が指定されているメソッドがご利用頂けます。