<< Click to Display Table of Contents >> マニュアル > 監視システム構築ガイド > 主要機能の構築 > ロギング/トレンドグラフ > トレンドグラフのカスタマイズ > データ欠損時のグラフ表示のカスタマイズ |
欠損データとは
ログデータの欠損とは、何らかの原因によりヒストリカルデータにロギングが行えておらず、データが抜けている状態を指します。
FA-Panelのトレンドグラフ画面では、ログデータが欠損していた場合の表示方法を設定することができます。
ログデータの欠損には、以下の2つの考え方があります。
1)タグの品質が異常な状態の時(通信エラー時など)
PLCとの通信エラーが発生している場合など、タグの値が信用できない状態のとき、タグの品質フラグは「BAD」となります。
サマリアクションの場合、欠損値としてNULL値が保存されます(CSVの場合、空文字が保存されます)。
また、ロガーアクションの場合では、ロギングの動作を以下から選択することができます。
1.前回値(最終値)を有効値としてデータを保存する。
2.欠損値としてNULL値や指定文字(空文字も含む)を保存する。
3.データを保存しない。
「1」は、前回値(最終値)を保存します。「2」はあらかじめ決めておいた「欠損値」をロギングします。欠損値は自由に決めることができますが、通常ありえない値(たとえばー999999等や、指定文字(空文字含む))を設定しておきます。「3」はデータの保存自体を行いません。ロガーアクションで「2」の欠損値をロギングした場合と、「3」のデータ保存しないを選択した場合には、トレンドグラフとしてどのように表示すべきかを適切に設定する必要があります。
2)データそのものが存在しない場合(システム停止など)
Panel Serverが停止している場合、ヒストリカルデータには停止している時間帯のデータそのものが存在しません。つまり、例えば1秒周期のロギングを行うように設定していた場合、ログデータの時系列データが数秒間抜けている(飛んでいる)状態になります。このような場合にも、データが保存されていない期間をどのように表示するべきかを意識して設定する必要があります。
ここでは、欠損時の表示方法に関する設定をカスタマイズする方法について説明します。
カスタマイズ内容
サンプルのダウンロード
このページで紹介されている作成例には、サンプルが用意されています。
サンプルは以下からダウンロードすることができます。
まずは、標準プロジェクトを動作させ、Panel Serverのオンライン、オフラインを意図的に操作する事でログデータに欠損期間を作ってグラフに表示してみます。
■動作検証(変更前)
1.プロジェクトを実行する
プロジェクトを開いた状態で、Panel Serverの画面上部にあるオンライン(黄矢印)をクリックしてください。
Panel Editorの画面上部にあるブラウザ実行アイコン(緑矢印)をクリックし、Panel Browserを呼び出します。
Panel Browserが起動したら、トレンドグラフ画面を表示します。
上記の例では、トレンドグラフ上に上記のようなサインカーブが表示されています。この例では、あらかじめ仮想デバイスのSD0008からSD0015までのタグをロギングするように設定されています。尚、仮想デバイスのSDタグは「特殊レジスタ」と呼ばれる特殊なタグで、SD0008からSD0015の値は0から100の範囲でサインカーブの値で自動的に変化してくれます。このタグは、今回のような動作検証を行う際に適しています。
2.プロジェクトを実行する
それでは、意図的にロギングを停止させ、ログデータが欠損している状態を作り出します。
Panel Serverの画面上部にあるオフライン(黒四角)をクリックします。
10秒程度経過したら、再び、Panel Serverのオンライン(黄色矢印)をクリックしてください。
グラフの表示を見てみると、Panel Serverがオフラインだった期間のデータが、以下のように直線で結ばれて表示されている事がわかります。
この期間はロギング処理は停止しているため、ログデータそのものが欠損している状態です。現状は、データが存在する最後の点と、ロギングが再開された最初の点の2点間が直線で結ばれています。
このような欠損部分の表示をどのように扱うかは、トレンドグラフ画面に配置されているヒストリカルデータグラフコントロールのプロパティを設定することでカスタマイズすることができます。
以下の手順では、欠損している期間のグラフが非表示となるようにカスタマイズを行います。
■ヒストリカルトレンドグラフコントロールのプロパティ編集
1.ヒストリカルトレンドグラフコントロールのプロパティを編集する
現在実行中のPanel Serverをオフラインにし、Panel Browserを終了させてください。
Panel Editorでトレンドグラフ画面の編集を行います。
ワークスペースのツリーから、_Trendフォルダ内の「_Main」フォームを選択してください。
|
_Mainフォームが表示されたら、フォーム上の中央に配置されているグラフ部品(ヒストリカルデータコントロール)を選択状態にしてください。
コントロールを選択後、画面左に表示あれているプロパティページから、以下のプロパティを編集します。
PlotLackLineSize 欠損データ表示の線の太さです。「0」を設定してください。デフォルトで「1」となっているため、「0」を指定することで非表示となります。
DiffForLack 欠損とみなすデータ間隔を秒数で指定します。ここでは例として「3」としてください。 尚、ここで指定した秒数よりもデータの間隔が開いていた場合に欠損とみなします。デフォルトで「0」となっているため、必要に応じて適切な秒数を指定します。
|
■動作検証(変更後)
1.プロジェクトを実行する
Panel Serverをオンライン(黄矢印)にして、Panel Browserを実行してください。
Panel Browserが起動したら、トレンドグラフ画面を表示します。
意図的にロギングを停止させ、ログデータが欠損している状態を作り出してみます。
まず、Panel Serverの画面上部にあるオフライン(黒四角)をクリックします。
10秒程度経過したら、再び、Panel Serverのオンライン(黄色矢印)をクリックしてください。
Panel Serverがオフラインだった期間のグラフ表示が、以下のように非表示となっていればOKです。
続いて、欠損期間の表示を、点線表示とするカスタマイズ例を紹介します。
本カスタマイズも、ヒストリカルデータグラフコントロールのプロパティを設定することで行うことができます。
■ヒストリカルトレンドグラフコントロールのプロパティ編集
1.ヒストリカルトレンドグラフコントロールのプロパティを編集する
現在実行中のPanel Serverをオフラインにし、Panel Browserを終了させてください。
Panel Editorでトレンドグラフ画面の編集を行います。
ワークスペースのツリーから、_Trendフォルダ内の「_Main」フォームを選択してください。
|
_Mainフォームが表示されたら、フォーム上の中央に配置されているグラフ部品(ヒストリカルデータコントロール)を選択状態にしてください。
コントロールを選択後、画面左に表示あれているプロパティページから、以下のプロパティを編集します。
PlotLackLineSize 欠損データ表示の線の太さです。「1」を設定してください。
PlotLackLineStyle 欠損データ表示の線種を指定することができます。ここでは「DOT」を設定してください。こうすることで、欠損期間を点線表示にすることができます。
DiffForLack 欠損とみなすデータ間隔を秒数で指定します。ここでは「3」としてください。
|
■動作検証(変更後)
1.プロジェクトを実行する
Panel Serverをオンライン(黄矢印)にして、Panel Browserを実行してください。
Panel Browserが起動したら、トレンドグラフ画面を表示します。
意図的にロギングを停止させ、ログデータが欠損している状態を作り出してみます。
まず、Panel Serverの画面上部にあるオフライン(黒四角)をクリックします。
10秒程度経過したら、再び、Panel Serverのオンライン(黄色矢印)をクリックしてください。
Panel Serverがオフラインだった期間のグラフ表示が、以下のように点線表示となっていればOKです。
補足説明
ヒストリカルトレンドグラフコントロールには、トレンドグラフの欠損データの表示方法に関する以下のプロパティが用意されています。
プロパティ |
概要 |
||||||||
PlotLackLineSize
|
欠損データ表示の線の太さです。デフォルトで「1」となっています。「0」を指定することで非表示となります。 |
||||||||
PlotLackPointSize
|
欠損データの点表示のサイズを指定することができます。デフォルトで「0」となっています。1以上にすると点が表示されます(表示する場合、4程度を推奨します)。 |
||||||||
PlotLackLineStyle
|
欠損データの線表示のスタイルです。SOLID、DASH、DOT、DASHDOT、DASHDOTDOTの中から選択できます。 |
||||||||
DiffForLack
|
ヒストリカルデータの空白時間とみなす時間間隔を秒で設定します。ここで設定された秒数以上データに開きがある場合を欠損とみなします。
例えば1分周期でサンプリングしている場合、DiffForLack に90を設定すると、データ間隔が90秒以上はなれた場合を欠損があったものとみなします。これにより、この期間の表示が欠損として扱われます。
|
||||||||
ValueForLack
|
欠損値とみなす値を指定することができます。以下のValueForLackTypeプロパティと組み合わせて使用します。
例えば、数値「-1」を欠損値としたい場合は、以下のように設定します。
ValueForLack : -1 ValueForLackType : NUM
|
||||||||
ValueForLackType
|
欠損値とみなす値のタイプを指定します。デフォルトでは「NULL」となっています。
|
以下は、設定例です(※いずれの場合も、DiffForLackに適切な数値を設定する必要があります)。
欠損期間に何も表示したくない場合には、以下のように設定します。
PlotLackLineSize : 0 PlotLackPointSize: 0
|
欠損期間を点線で結びたい場合には、以下のように設定します。
PlotLackLineSize : 1 PlotLackLineType: DOT
|
欠損期間の欠損データを予測値としてプロットしたい場合には、以下のように設定します。
PlotLackPointSize: 4
※点は1以上で表示されますが、小さすぎるサイズを指定すると線と見分けがつかないため、4から6程度の設定を推奨いたします。
|