# タグフィルタ

マニュアル > サーバ作成ガイド > タグ編 > 機能解説 > # タグフィルタ |

タグフィルタについて

タグフィルタはリアルタイムに生値を変換する機能です。

タグフィルタはタグごとに定義され、フィルタ番号順に実行されます。タグフィルタを実行すると値が型変換される場合があり、最終的に実行されたフィルタによる変換結果が、タグフィルタとしての最終型になります。タグフィルタによる変換の後、最終的には「型変換」の設定で指定した型に変換されます。

例） | 左記の例では、 「01 傾きとオフセットを変換する」 「02 移動平均する」 の順に実行されます。 また、「型変換」の設定が「デフォルト」であるため、移動平均フィルタの型、つまり数値タグになります。

タグフィルタには以下のものがあります。

ビットを反転する
実行後の型 | ビット型
解説 | TRUEをFALSE、FALSEをTRUEに変換します。値の書き込み時も逆変換が行われます。
設定画面 | なし

傾きとオフセットを変換する（工学値変換）
実行後の型 | 数値型
解説 | 工学値変換を行います。 単純に小数点を移動させたい場合、「小数点の移動と切り捨てを行う」を使用して下さい（計算誤差がでる場合があります）。 変換後に最大値を超えないようにするには、「最大値より大きい値にしない」をチェックします。最小値についても同様です。
設定画面 | 【例】
| PLC側の値 | タグ側の値
最大値 | 4096 | 20
最小値 | 0 | 0
上記の設定の場合、PLCから値を読み込んだときには、タグの値はPLCの値の20/4096になります。 反対に、アプリケーションによってタグの値が変更された場合には、その値を4096/20倍した値が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～1～0.5になります。％表示（-50～100～50）にしたい場合は、「小数点の移動と切り捨てを行う」フィルタと組み合わせて下さい。
設定画面 |

力率に変換する（－０～０）
実行後の型 | 数値型
解説 | 力率に変換します。 変換後の値は-0～1～0になります。 ％表示（-0～100～0）にしたい場合は、「小数点の移動と切り捨てを行う」フィルタと組み合わせて下さい。 例）PLCの最大値1000、最小値0の場合
PLCの値 | 力率変換値
1000 | +0.00
750 | +0.50
500 | 1.00
250 | -0.50
0 | -0.00
設定画面 |

テーブルファイルを参照して数値や文字列に変換する
実行後の型 | 文字列型
解説 | テーブルファイル（テキストファイル）から値に従って、文字を取り出します。 文字列型に変換されるため、数値に変換したい場合は「型変換」で「数値型」を指定して下さい。 テーブルファイルのタイプは下記の２種類に対応しています。 この機能のサンプルは、以下からご利用頂けます。 ▪インデックスタイプ 下記のようなテキストファイルを予め用意しておきます。
圧力Aが上限値を超えました 温度Aが上限値を超えました 圧力Bが上限値を超えました 温度Bが上限値を超えました 回転数が異常です
読み込んだPLCデバイスの値をｎ+1行目として、このファイルの行の内容を対応付けることができます。この例では、PLCの値が「0」の時、タグ値は「圧力Aが上限値を超えました」になり、PLCの値が「4」の時、タグ値は「回転数が異常です」になります。PLCの値が5以上の時は空文字になります（※PLCの値がビット型の場合、「FALSE」を0、「TRUE」を1とします）。 ▪検索タイプ 下記のようなテキストファイルを予め用意します。
101,圧力Aが上限値を超えました 102,温度Aが上限値を超えました 201,圧力Bが上限値を超えました 202,温度Bが上限値を超えました 300,回転数が異常です
読み込んだPLCの値をテキスト検索のインデックスとして解釈し、テキストから該当する行を取得します。この例では、PLCの値が「101」の時、タグ値は「圧力Aが上限値を超えました」になり、PLCの値が「300」の時、タグ値は「回転数が異常です」になります。PLCの値が見当たらなければ、空文字になります ※PLCの値がビット型の場合、「FALSE」を0、「TRUE」を1とします。 ※通常、検索を行う値が入っているインデックス列は0列目、変換する値を1列目に記述します。それ以外のフォーマットを使用したい場合は、「インデックス列」「値列」を指定します。たとえば、アラームサーバーアクションで使用されるアラームマスターファイルを使用したいときは、「インデックス列」「値列」を設定することにより利用できます。
設定画面 |

InTouchで７桁以上の整数を扱う
実行後の型 | 変換なし
解説 | InTouchで７桁以上の整数を扱う場合はこのフィルタを指定して下さい。

OPCのデフォルトのデータ型を指定する
実行後の型 | 変化なし
解説 | OPCクライアントでデータ型のリクエストがなかった場合、デフォルトでは数値タグはVT_R8、ビットタグはVT_BOOL、文字タグはVT_BSTR型でクライアントに値を返します。これらのデータ型を他の型でクライアントに渡したいとき、このフィルタを使用します。
設定画面 |

イベント指定（FA-Engineのみ有効）
解説 | FA-Engineを使用する場合のみ有効です。各イベントの設定を行うことができます。詳細はFA-Engineのユーザズマニュアルをご参照ください。
設定画面 |

値変化の状態を取得する
実行後の型 | ブール型
解説 | 指定回数値が変化しなかった場合、値をONします。 ON/OFFを反転させることも可能です。
設定画面 |