<< Click to Display Table of Contents >> マニュアル > 監視システム構築ガイド > 主要機能の構築 > ロギング/トレンドグラフ > トレンドグラフのカスタマイズ > タグの演算結果をグラフに表示する |
概要
トレンドグラフにログデータを表示する際に、異なるタグ同士を演算した結果をグラフに表示したい場合があります。
例えば、複数の計測値のタグの平均をグラフに表示したい場合などです。
このようなニーズを実現するには、以下の方法があります。
方法 |
内容 |
|
ペン設定でデータソースを指定する際に、演算式を指定することができます。演算式では、複数のデータソースを指定する事が可能となっており、演算結果をグラフに表示することができます。
この方法はペン設定のみで行えるため、運用中に演算式を自由に編集することができる点がメリットです。
一方で、この方法はグラフの表示時に動的に演算を行うのみであるため、実際のログデータの中には演算値は含まれていません。ログデータを直接利用したい場合など、データに演算値が含まれている必要があるケースには適しません。
|
|
この方法は、サマリアクションによるロギングの直前にタグ同士の演算を行い、ログデータに演算結果を含めて保存する方法です。
各アクションには、「スクリプト実行」と呼ばれる機能が用意されており、ロギングを実行する直前にタグ同士の演算を行うことができます。そこで、スクリプトの演算結果用を格納するためのタグを用意しておき、そのタグをフィールドマスタに含めることで、演算結果をログデータに含めて保存することができます。
この方法のデメリットとしては、運用中に演算式を変更できない点です。演算式を変更する際にPanel Serverをオフラインにする必要があるためです。
|
ここでは、上記のそれぞれの方法について説明します。
サンプルのダウンロード
このページで紹介されている作成例には、サンプルが用意されています。
サンプルは以下からダウンロードすることができます。
ペン設定で演算式を指定する方法について説明します。
この方法はペン設定のみで、アプリケーションに対するカスタマイズは必要ありません。
Panel Serverの画面上部にあるオンライン(黄矢印)をクリックしてください。
Panel Editorの画面上部にあるブラウザ実行アイコン(緑矢印)をクリックし、Panel Browserを呼び出します。
Panel Browserが起動したら、トレンドグラフ画面を表示してください。
トレンドグラフ画面のメニューを表示し、「ペン設定」を選択してください。
ペン設定ダイアログから、ペン一覧の「追加」ボタンをクリックして、新たにペンを1本追加してください。
ペンが追加されたら、データソースの選択ボタンをクリックしてください。
データソース選択ダイアログが表示されました。
ここでは例として、すでにペンに登録されているT000とT001を加算した結果をグラフに表示する事とします。
まず、データソースのオプションで「式指定」を選択してください。
このオプションを選択すると、演算式を定義することができるようになります。
|
次に、データソース一覧からT000(アナログD0000)の行をクリックします。
すると、データソースに「Summary.RAW:T000」と表示されます。
|
続いて、データソースの下部に用意されている「+」ボタンをクリックします。
すると、データソースの「Summary.RAW::T000」の末尾に「+」演算子が追加されました。
Summary.RAW::T000 +
尚、演算子はキーボードから直接入力することもできます。
|
続いて、データソース一覧からT001(アナログD0001)の行をクリックした状態で、データソースの下部の「式に追加」ボタンをクリックします。
すると、データソースにT001の書式が追加され、以下のようになります。
Summary.RAW::T000 + Summary.RAW::T001
尚、データソースには演算式を自由に記述することができます。例えば、2つのデータソースの平均を求めたい場合は、以下のように記述することもできます。
(Summary.RAW::T000 + Summary.RAW::T001) / 2
|
設定が終わったら、OKボタンをクリックしてデータソース選択ダイアログを閉じてください。
データソースに設定内容が表示されていることを確認し、ペン設定ダイアログをOKボタンで閉じてください。
トレンドグラフには、さきほど追加したペン(タイトル04)が表示されています。
Panel Serverから、T000とT001に登録されているタグ(この例では、U01.F01.D0000、D0001)の値を変更してみてください。
先ほど登録したペン(タイトル04)に、D0000とD0001を加算した値が表示されればOKです。
続いて、演算結果をログに含める方法について説明します。
ここで紹介するカスタマイズ事例では、アクションの実行前スクリプトを使ってタグ同士の演算結果を作業用のタグに一旦格納し、その作業用タグをログに含めて記録します。
■作業用タグを追加する
1.サーバ設定ファイルを開く
Panel Serverから、対象プロジェクトの「server.txt」(サーバ設定ファイル)を開いてください。
2.メモリデバイスタグを追加する
まず、アクションのスクリプトの演算結果を格納するための作業用のタグを用意します。今回のように一時的な作業領域としてタグを使用したい場合は、PLCと通信を行わない「仮想デバイス」や「メモリデバイス」が適しています。
今回は例として、「メモリデバイス」を使用します。
ツリー選択ビューから、「Tag」の「Driver」を右クリックしてメニューを表示し、表示されたメニューから「ユニット追加」を選択してください。
すると、ドライバ一覧画面が表示されます。今回の例では、作業用のタグとして「メモリデバイス」を追加する事とします。
ドライバー一覧のツリーから「メモリデバイス」を選択し、OKボタンをクリックしてください。
すると、Tag/Driverの配下に「U02」ユニットが追加されました。
「U02」というユニット名は変更することもできますが、今回の例ではこの名称のまま作業を進めます。
続いて、U02ユニットの下に、フォルダを1つ追加してください。ここでは例として、「F01」というフォルダを作成したものとします。
U02.F01フォルダの下に、「T01」という1点の数値タグを登録してください。
T01 ・・・数値タグとして登録する
■タグフィールドマスタを編集する
タグフィールドマスタを編集し、先ほど追加したワーク用のタグを定義に追加します。
この設定により、ワーク用のタグがロギング対象となります。
1.タグフィールドマスタを編集する
タグフィールドマスタは以下に格納されています。
(プロジェクトフォルダ)\server\summary\fieldmaster_tag.csv
タグフィールドマスタをExcelで開いてください。
上記の例では、T000からT009までのフィールドが定義されています。
そこで、行の末尾に、T010として以下の1行を追加します。
フィールド |
設定例 |
[Name] |
T010 |
[Tag] |
U02.F01.T01 ※ワーク用のタグパスを指定します。 |
[Comment] |
任意のコメントを指定します。ここでは例として「タグ演算」としてきます。 |
[DataType] |
Standard |
[TermOfValidity] |
ブランク(空白) |
[DecimalNum1] |
少数桁数を指定します。ここでは例として「0」としておきます。 |
[SummaryType1] |
AVERAGE |
[SummaryParam1] |
ブランク(空白) |
[SummaryType2] |
AVERAGE |
[SummaryParam2] |
ブランク(空白) |
[ReportHeader1] |
同上 |
[ReportHeader2] |
同上 |
[ReportHeader3] |
同上 |
[ReportHeader4] |
同上 |
編集が終わったら、タグフィールドマスタを上書き保存してください。
■アクションの実行前スクリプトを設定する
1.アクションの実行前スクリプトを設定する
サマリアクション「Summary」のプロパティを表示します。
サマリアクションのプロパティから「詳細設定」タブを開きます。
詳細設定タブから、スクリプト実行の「処理を開始する前」にチェックを入れてください。
すると、チェック欄の右側にある選択ボタンが有効になるので、選択ボタンをクリックします。
|
上記により、以下のスクリプトエディタが表示されます。
編集エリアに、以下の内容を入力してください。
U02.F01.T01 = U01.F01.D0000 + U01.F01.D0001
上記は、U01.F01.D0000とD0001を加算して、結果をU02.F01.T01に代入するという処理です。
※U02.F01.T01は、先ほど追加した作業用のタグです。
|
処理を記述したら、OKボタンをクリックしてダイアログを閉じてください。
■動作確認
Panel Serverをオンライン実行し、Panel Browserを実行してトレンドグラフ画面を表示してください。
ペン設定から、先ほど追加したT010を追加します。
すると、上記で追加したペン(タイトル05)として、D0000とD0001を加算した値がグラフ上に表示されます。