式エバリュエーター

整数、小数点、数値変数、文字列比較用の文字列変数、算術演算子とブール値演算子、または一連の関数を使用して、式の結果を計算します。

プロパティ

プロパティ
説明
計算する式。
式には、正しく開かれた括弧と閉じられた括弧をいくつでも含めることができます。式が正しい構文に従っていない場合、コンバータは計算を実行しません。
モード
ダイナミックリンクの方向:
  • ソース ノードから親ノードに読み取ります。
  • 親ノードからソース ノードに書き込みます。
  • ソース ノードから親ノードに読み取り、親ノードからソース ノードに書き込みます。

ソース

以下によって識別される 1 つ以上の変数:
{
index_number
}
プレースホルダ
0 以上の累進整数。例:
{1}
{#
placeholder_identifier
}
プレースホルダ
#
を先頭に付けた文字列。例:
{#speed}
ヒント: プレースホルダの任意の組み合わせを任意の順序で使用します。式では任意の数のプレースホルダを使用します。

リテラル

  • ブール値。
  • 整数。
  • 小数点以下の区切りはポイントである必要があります。
  • 接頭辞
    0x
    が付いた 16 進数。
  • 二重引用符で区切られた文字列などのテキスト。
    ヒント: ダブルクォーテーションを 2 回繰り返す (
    ""
    ) と、エスケープ シーケンスとして解釈されます。
  • 日時。たとえば、
    2017-06-28T15:26:06.0790910

オペレーター

カテゴリー
オペレーター
結合
コメント
単項
単項マイナス:
-
ビット単位 NOT:
~
キャスト演算子:
(type)
右から左
キャスト演算子
(type)
は、すべての数値データタイプとブール値のみに適用されます。
乗算
*
/
%
左から右
加法
+
-
左から右
シフト
<<
>>
左から右
シフト演算子と関係演算子は、次のデータタイプに適用されます。
  • Numeric
  • DateTime
  • Duration
関係
<
,
<=
,
>
,
>=
左から右
等価
==
!=
左から右
等価演算子は、次のデータタイプに適用されます。
  • Numeric
  • DateTime
  • Duration
  • String
  • LocalizedText
ビット単位 AND、XOR、OR
&
^
|
左から右
論理 AND
&&
左から右
論理 OR
||
左から右

データタイプ

式エバリュエーターのデータタイプ規則:
  • リテラル整数は Int32 です。
  • 10 進リテラルは Double です。
  • 数値は Int32 と見なされます。
  • リテラル値の真と偽は Boolean 値として解釈されます。
  • / 演算子は、常に Double 値を返します。
  • % 演算子は、剰余ゼロによる除算がある場合に例外を生成します。
  • % 演算子は、Float と Double のオペランドを受け入れます。
  • Int32 値を返す符号を除き、すべての関数は Double 値を返します。
単項キャスト演算子の
type
には、次のデータタイプを指定することができます。
  • bool、Boolean
  • sbyte、SByte
  • short、Int16
  • int、Int32
  • long、Int64
  • byte、Byte
  • ushort、UInt16
  • uint、UInt32
  • ulong、UInt64
  • float、Float
  • double、Double
特定のデータタイプに適用される演算子:
オペレーター
Operand1
Operand2
説明
プラス
DateTime
積分数
Operand2
はミリ秒として解釈されます。
プラス
積分数
DateTime
Operand1
はミリ秒として解釈されます。
プラス
DateTime
TimeZone (Struct)
Operand2
は分 (TimeZone.Offset) として解釈されます。
プラス
TimeZone (Struct)
DateTime
Operand1
は分 (TimeZone.Offset) として解釈されます。
プラス
TimeZone
積分数
Operand1
は分 (TimeZone.Offset) として解釈されます。
Operand2
は分として解釈されます。
プラス
積分数
TimeZone
Operand1
は分として解釈されます。
Operand2
は分 (TimeZone.Offset) として解釈されます。
マイナス
DateTime
積分数
Operand2
はミリ秒として解釈されます。
マイナス
DateTime
TimeZone (Struct)
Operand2
は分 (TimeZone.Offset) として解釈されます。
マイナス
TimeZone
積分数
Operand1
は分 (TimeZone.Offset) として解釈されます。
Operand2
は分として解釈されます。

関数

式エバリュエーターで使用する関数:
関数
構文
説明
返されるデータタイプ
max
max(
value1
,
value2
,
value3
, ...)
最大値を返します。
Double
min
min(
value1
,
value2
,
value3
, ...)
最小値を返します。
Double
avg
avg(
value1
,
value2
,
value3
, ...)
指定された値の平均を返します。
Double
abs
abs(
value
)
指定された数値の絶対値を返します。
Double
trunc
trunc(
value
)
10 進数の整数部分を返します。
Double
ceil
ceil(
value
)
excess による近似値を返します。
Double
floor
floor(
value
)
欠陥別の近似値を返します。
Double
round
round(
value
)
最も近い整数への近似値を返します。
Double
sqrt
sqrt(
value
)
指定された数値の平方根を返します。
Double
sign
sign(
value
)
指定された浮動小数点数が負であるかどうかを確認します。真の場合は
[0]
を返し、偽の場合は
[1]
を返します。
Int32
like
like(
string_value
,
pattern
)
String、QualifiedName、および LocalizedText
データタイプにのみ適用されます。
[真]
を返すのは
string_value
パラメータが
pattern
パラメータと一致する場合です。
この
[パターン]
は、先頭または末尾で
%
ワイルドカードを受け入れます。
例:
  • like("motor23", "motor%")
    [真]
    と評価します
  • like("machine_2", "motor%")
    [偽]
    と評価します。
Boolean
isempty
isempty(
variable
)
指定された NodeID、String、LocalizedText または DataTime が空であるかどうかを確認します。
Boolean
if
if(
condition
,
value_if_true
,
value_if_false
)
condition
が [真] であるかどうかを確認し、
value_if_true
または
value_if_false
のいずれかを返します
構文は、次の要件を満たす必要があります。
  • value_if_true
    value_if_false
    には、同じデータタイプのパラメータを使用します。
  • ブール値には、小文字の
    true
    または
    false
    を使用します。
  • 色には、色の値に紐付けるか
    0x
    AA
    RR
    GG
    BB
    構文を使用します。
    • 0x
      は 16 進数表記です
    • AA
      はアルファチャンネル (透明度) です
    • RR
      は赤のチャンネルです
    • GG
      は緑のチャンネルです
    • BB
      は青のチャンネルです
value_if_true
データタイプ
left_of
left_of(string, pattern)
正規表現パターンが最初に出現する部分文字列の左側にある部分文字列を返します。
重要: パターンではワイルドカードを使用しないでください。
String
right_of
right_of(string, pattern)
正規表現パターンが最初に出現する部分文字列の右側にある部分文字列を返します。
重要: パターンではワイルドカードを使用しないでください。
String
like(string_value, pattern)
String
QualifiedName
、および
LocalizedText
データタイプにのみ適用されます。
string_value
パラメータが指定された
パターン
と一致する場合に [真] を返します。
この
[パターン]
は、先頭または末尾で
%
ワイルドカードを受け入れます。
  • like("motor23", "motor%")
    [真]
    と評価します
  • like("machine_2", "motor%")
    [偽]
    と評価します。

出力

式の結果の値。

変数の絶対値を返します
変数値が 40 より大きい場合、グラフィックオブジェクトの表示/非表示を切り替えます
変数値が 50 より大きい場合は、グラフィックオブジェクトの背景色を青に変更します
変数値が 30 〜 40 の場合、アクティブなときに緑色の LED オブジェクトが点滅します
テキストボックスの境界線の色が赤の場合は、ボタンが有効です
ラベルテキストが「WARNING」と等しい場合は、ラベルテキストの色を赤に変更します
ご質問やご意見
このドキュメントに関するご質問やご意見は、こちらまでお寄せください。 こちらからご意見をお寄せください。
Normal