品質の悪いデータをIO参照に書き込まないようにする
- Last UpdatedOct 08, 2024
- 1 minute read
任意のスクリプトで外部IO値を計算するために変数が必要な場合は、[GraphicCustomProperties]を使用して値を計算します。スクリプト化されたDIM変数は使用しないでください。
産業用グラフィックスは、外部IO参照への不良値の書き込みを防ぐのに役立ちます。IndustrialGraphicスクリプトのDIM変数には、品質情報が含まれていません。常に良好な品質と見なされます。DIM変数の値が不良品質を持つIO参照から計算された場合、SystemPlatformは、DIM変数には品質がなく、常に正常であるため、不良値の書き込みを防止しません。
外部参照(複合など)への接続を行う場合。Block.Parameter、SystemPlatformは、それが文字列、ブール値、またはアナログ値であるかどうかを認識しません。接続するまで、参照には値がありません。この値の品質は、不正な初期化です。値がなく、NotaNumber(NaN)と見なされます。
悪いプラクティス
以下の場合、スクリプトが設定値を急上昇しています。新しい設定値を計算するためにDIM変数を使用しています。IOタグに接続されているカスタムプロパティがいくつかあります。オペレータがランプボタンを押すと、HiScale接続は初期化中です。
カスタム プロパティ
|
SPT |
OPCClient_001.port.plc.i01 |
接続が良い |
|
LSC |
OPCClient_001.port.plc.LSC |
接続が良い |
|
/HS=c |
OPCClient_001.port.plc.HSC |
接続が初期化中で、値がない |
Rampスクリプト
|
温度を浮動小数点として暗くします。 |
|
|
Temp = SPT + ((HSC-LSC) *0.05); |
HSCはまだ初期化中で、値はまだありません。しかし、HSCが不正初期化中であっても、TempはカスタムプロパティではなくDIM変数であるため、Tempの値は初期化されませんが、品質は良好です。 |
|
[Temp]<100の場合 |
|
|
SPT=温度 |
初期化されていない値は常にSPTに書き込まれる |
|
ENDIF; |
推奨されるプラクティス
IO参照を使用して一時的な値を計算し、結果を別の値に書き込む場合は、カスタムプロパティを使用します。前の例を使用して、[DIMTemp]変数は[カスタムプロパティ温度]に置き換えられます。
カスタム プロパティ
|
SPT |
IADAS.CMP.BLK.SPT |
接続が良い |
|
LSC |
IADAS.CMP.BLK.LSCI1 |
接続が良い |
|
/HS=c |
IADAS.CMP.BLK.HCSI1 |
接続が初期化中で、値がない |
|
Temp |
浮動小数点型 |
0.0 |
DIMTemp変数をカスタムプロパティのTempに置き換える
|
Temp = SPT + ((HSC-LSC) *0.05); |
HSCは悪い品質を持っています。計算により、HSCの不良データ品質がカスタムプロパティTempに渡されます。 |
|
[Temp]<100の場合 |
|
|
SPT=温度 |
Tempの値は、Tempが不良品質の場合、SPTには書き込まれません。 |
|
ENDIF; |