# 計算結果をロギングデータに含める

マニュアル > カスタマイズガイド > サマリ > ロギング機能 > # 計算結果をロギングデータに含める |

概要

本頁では、演算結果をロギングデータに含めて保存するための構築例を紹介します。

PLCから読み込んだデバイス値をもとに、ロギングする直前に演算処理を行ってワーク用のタグに値を格納し、ロギングデータにワーク用タグの値を含めて保存します。

考え方：

•演算結果を格納するためのワーク用のタグとして、仮想デバイスのタグを登録しておきます。

•サマリアクションのタグフィールドマスタに、ワーク用のタグを含めて定義しておきます。

•アクションの「実行前スクリプト」に演算処理を記述し、アクションが実行される直前に演算が行われるように設定します。

設定例

タグ設定

ここでは例として、計算結果を格納するためのワーク用のタグとして、仮想デバイスタグ「U02.F01.D0000」～「U02.F01.D0004」を設定します。

また、データ収集対象の模擬信号として、仮想デバイスタグ「U01.F01.SD0000」～「U01.F01.SD0009」を使用します。

（仮想デバイスタグの設定例）

アクション設定

■アクション開始前のスクリプト実行の定義

Panel Serverから、カスタマイズを行うサマリアクションのプロパティを開き、「詳細設定」タブを開きます。

詳細設定タブのスクリプト実行から「処理を開始する前」にチェックを入れ、右にある選択ボタン「…」をクリックします。

上記によって表示されたスクリプトエディタの画面から、演算処理のスクリプトを記述します。

ここでは例として、以下のようなスクリプトを定義します。

（スクリプトの定義例）

U02.F01.D0000 = (U01.F01.SD0000 + U01.F01.SD0001) / 2 U02.F01.D0001 = (U01.F01.SD0002 + U01.F01.SD0003) / 2 U02.F01.D0002 = (U01.F01.SD0004 + U01.F01.SD0005) / 2 U02.F01.D0003 = (U01.F01.SD0006 + U01.F01.SD0007) / 2 U02.F01.D0004 = (U01.F01.SD0008 + U01.F01.SD0009) / 2

| アクションのスクリプト実行で定義可能な演算処理については、「スクリプトVer1(SC1構文)」を参照してください。

■タグフィールドマスタの定義

サマリアクションのロギング機能の定義ファイルの内、「タグフィールドマスタ」に対して、上記で定義したワーク用の仮想デバイスタグを追加してください。

タグフィールドマスタに関する詳細は「タグフィールドマスタ」を参照してください。

解説

この処理のポイントとしては、計算結果を格納するためのタグをあらかじめ用意しておき、実行前スクリプトによって、ロギングが行われる直前のタイミングで演算を行い、値格納用のタグに代入している点です。この仕組みにより、サマリアクションが実行される直前に演算が行われ、計算結果が格納されたタグの値がロギングされます。この例では、計算結果を格納するためのロギング用タグが「U02.F01.D0000」~「U02.F01.D0005」にあたります。

| サマリアクションの「計算フィールド」を用いることでも、フィールド同士の演算を行う事が可能です。ただし、計算フィールドによる演算はロギングデータの保存時（生データの保存時）ではなく、日報集計などの各集計のタイミングです。生データの段階で演算値をロギングする必要がある場合、上記で紹介したような実行前スクリプトによる演算を行うのが簡単な方法です。もし、上記のスクリプトでは対応できないような複雑な演算処理が必要な場合は、「スクリプトVer2」アクションによる独自演算ロジックの構築で対応することができます。