<< Click to Display Table of Contents >> マニュアル > サーバ作成ガイド > タグ編 > 機能解説 > タグフィルタ |
タグフィルタについて
タグフィルタはリアルタイムに生値を変換する機能です。
タグフィルタはタグごとに定義され、フィルタ番号順に実行されます。タグフィルタを実行すると値が型変換される場合があり、最終的に実行されたフィルタによる変換結果が、タグフィルタとしての最終型になります。タグフィルタによる変換の後、最終的には「型変換」の設定で指定した型に変換されます。
例) |
左記の例では、
「01 傾きとオフセットを変換する」 「02 移動平均する」
の順に実行されます。
また、「型変換」の設定が「デフォルト」であるため、移動平均フィルタの型、つまり数値タグになります。 |
タグフィルタには以下のものがあります。
ビットを反転する |
|
実行後の型 |
ビット型
|
解説 |
TRUEをFALSE、FALSEをTRUEに変換します。値の書き込み時も逆変換が行われます。
|
設定画面 |
なし
|
工学値変換(範囲を指定) |
||||||||||
実行後の型 |
数値型
|
|||||||||
解説 |
PLC側とPC側の値の範囲を指定することにより工学値変換を行います。 変換後に最大値を超えないようにするには、「最大値より大きい値にしない」をチェックします。最小値についても同様です。 小数点移動のみ行いたい場合、工学値変換だと誤差がでる可能性があるため、「小数点の移動と切り捨てを行う」を使用して下さい。
|
|||||||||
設定画面 |
【例】
上の設定の場合、PLCから値を読み込んだときには、タグの値はPLCの値の20/4096になります。 反対に、アプリケーションによってタグの値が変更された場合には、その値を4096/20倍した値がPLCに書き込まれます。 |
工学値変換(傾きとオフセットを指定) |
|
実行後の型 |
数値型
|
解説 |
PLC値に傾きとオフセット値を指定することにより工学値変換を行います。 変換後に最大値を超えないようにするには、「最大値より大きい値にしない」をチェックします。最小値についても同様です。 小数点移動のみ行いたい場合、工学値変換だと誤差がでる可能性があるため、「小数点の移動と切り捨てを行う」を使用して下さい。
|
設定画面 |
|
小数点の移動と切り捨てを行う |
|
実行後の型 |
数値型
|
解説 |
小数点を移動させます。
|
設定画面 |
|
リミット補正(範囲) |
|||||||||||||||||
実行後の型 |
数値型
|
||||||||||||||||
解説 |
リミットを超えた際に一定値に補正します。
上補正
下補正
|
||||||||||||||||
設定画面 |
|
移動平均 |
|
実行後の型 |
数値型
|
解説 |
過去x回の平均を求めます。
|
設定画面 |
|
差分値(今回値-前回値)を求める |
|
実行後の型 |
数値型
|
解説 |
現在値から前回に取得したタグの値との差を計算して、その値を返します。
|
設定画面 |
なし
|
値の範囲から整数に変換する |
|
実行後の型 |
数値型
|
解説 |
タグの値に境界値を設定して、その値にしたがって他の値に変換します。
|
設定画面 |
例えば、デバイスの値が20未満の時はタグの値を0、20以上40未満のときは1、40以上60未満のときは2…などのような変換を行うことができます。
|
ONの回数をカウントアップする |
|
実行後の型 |
数値型
|
解説 |
ビットがONになった回数をカウントアップします。 デフォルトがビットタグの場合、型変換で「数値型」に設定して下さい。初回の値がONの場合はカウントアップしません。値がいったんOFFになり、次にONになった以降をカウントアップします。 値のリセットは「タグパス!ResetFilter = フィルタID」を実行することで行えます
。OPC/DDE/ IPLinkなどでは「タグパス!ResetFilter」というアイテムに対し、フィルタIDを書き込んでください。「ResetFilter」についての詳細は本書中「システムプロパティ」の章を参照して下さい。
|
設定画面 |
なし |
最大値を求める |
|
実行後の型 |
数値型
|
解説 |
最大値を求めます。 タグのシステムプロパティ「ResetFilter」で、最大値を途中でリセットできます。
|
設定画面 |
なし
|
最小値を求める |
|
実行後の型 |
数値型
|
解説 |
最小値を求めます。 タグのシステムプロパティ「ResetFilter」で、最小値を途中でリセットできます。
|
設定画面 |
なし
|
力率に変換する(-0.5~0.5) |
|||||||||||||
実行後の型 |
数値型
|
||||||||||||
解説 |
力率に変換します。 変換後の値は-0.5~1~0.5になります。%表示(-50~100~50)にしたい場合は、「小数点の移動と切り捨てを行う」フィルタと組み合わせて下さい。
例)PLCの最大値1000、最小値0の場合
|
||||||||||||
設定画面 |
|
力率に変換する(-0~0) |
|||||||||||||
実行後の型 |
数値型
|
||||||||||||
解説 |
力率に変換します。 変換後の値は-0~1~0になります。 %表示(-0~100~0)にしたい場合は、「小数点の移動と切り捨てを行う」フィルタと組み合わせて下さい。
例)PLCの最大値1000、最小値0の場合
|
||||||||||||
設定画面 |
|
テーブルファイルを参照して数値や文字列に変換する |
|||
実行後の型 |
文字列型
|
||
解説 |
テーブルファイル(テキストファイル)から値に従って、文字を取り出します。 文字列型に変換されるため、数値に変換したい場合は「型変換」で「数値型」を指定して下さい。 テーブルファイルのタイプは以下の2種類に対応しています。
この機能のサンプルは、以下からご利用頂けます。
▪インデックスタイプ
読み込んだPLCデバイスの値をn+1行目として、このファイルの行の内容を対応付けることができます。この例では、PLCの値が「0」の時、タグ値は「圧力Aが上限値を超えました」になり、PLCの値が「4」の時、タグ値は「回転数が異常です」になります。PLCの値が5以上の時は空文字になります(※PLCの値がビット型の場合、「FALSE」を0、「TRUE」を1とします)。
▪検索タイプ
読み込んだPLCの値をテキスト検索のインデックスとして解釈し、テキストから該当する行を取得します。この例では、PLCの値が「101」の時、タグ値は「圧力Aが上限値を超えました」になり、PLCの値が「300」の時、タグ値は「回転数が異常です」になります。PLCの値が見当たらなければ、空文字になります ※PLCの値がビット型の場合、「FALSE」を0、「TRUE」を1とします。 ※通常、検索を行う値が入っているインデックス列は0列目、変換する値を1列目に記述します。それ以外のフォーマットを使用したい場合は、「インデックス列」「値列」を指定します。たとえば、アラームサーバーアクションで使用されるアラームマスターファイルを使用したいときは、「インデックス列」「値列」を設定することにより利用できます。
|
||
設定画面 |
OPCのデフォルトのデータ型を指定する |
|
実行後の型 |
変化なし
|
解説 |
OPCクライアントでデータ型のリクエストがなかった場合、デフォルトでは数値タグはVT_R8、ビットタグはVT_BOOL、文字タグはVT_BSTR型でクライアントに値を返します。これらのデータ型を他の型でクライアントに渡したいとき、このフィルタを使用します。
|
設定画面 |
|
イベント指定(FA-Engineのみ有効) |
|
解説 |
FA-Engineを使用する場合のみ有効です。各イベントの設定を行うことができます。詳細はFA-Engineのユーザズマニュアルをご参照ください。
|
設定画面 |
|
値変化の状態を取得する |
|
実行後の型 |
ブール型
|
解説 |
指定回数値が変化しなかった場合、値をONします。 ON/OFFを反転させることも可能です。
|
設定画面 |
|