<< Click to Display Table of Contents >> 欠損値を表示する |
欠損データとは
欠損とは、何らかの原因によりヒストリカルデータにロギングが行えていない、データが抜けている状態を指します。
ヒストリカルデータの欠損には、以下の2つのタイプがあります。
1)タグの品質が異常時(通信エラー時など)
PLCとの通信エラーなどが発生している場合など、タグの品質フラグがBADの状態のとき、タグの値は信用できない状態です。ロガーアクションやサマリアクションでは、このような状態のときにヒストリカルデータへのロギング値を以下から選択することができます。
1.前回値(最終値)を有効値としてデータを保存する。
2.欠損値としてNULL値や指定文字(空文字も含む)を保存する。
3.データを保存しない。
「1」は、前回値(最終値)を保存します。「2」はあらかじめ決めておいた「欠損値」をロギングします。欠損値は自由に決めることができますが、通常ありえない値(たとえばー999999等や、指定文字(空文字含む))を設定しておきます。「3」はデータの保存自体を行いません。
「2」の欠損値をロギングした場合と、「3」のデータ保存しないを選択した場合には、トレンドグラフとしてどのように表示すべきかを適切に設定する必要があります。
2)データそのものが存在しない(システム停止など)
Panel Serverが停止している場合、ヒストリカルデータには、停止している時間帯のデータそのものが存在しません。この場合、データが保存されていない期間をトレンドグラフとしてどのように表示すべきかを、適切に設定する必要があります。
トレンドグラフでの欠損値の表示方法
欠損値の表示方法は、ヒストリカルトレンドグラフコントロールの以下のプロパティから設定します。
PlotLackLineSize:
欠損期間を結ぶ線の太さです。0を指定すると非表示となり、欠損期間は線で結ばれません。
PlotLackPointSize:
欠損データを予測値としてプロットする際の点の大きさです。0を指定すると非表示となり、プロットしません。
PlotLackLineType:
欠損期間を線で結ぶときの線のスタイルです(点線など)。SOLIDを選択すると通常のデータと同じ線になります。
DiffForLack:
ヒストリカルデータの空白時間とみなす時間間隔を秒で設定します。ここで設定された秒数以上データに空きがある場合を欠損とみなします。
例えば1分周期でサンプリングしている場合、DiffForLack に90を設定すると、データ間隔が90秒以上はなれた場合を欠損があったものとみなします。これにより、この期間の表示が欠損として扱われます。
欠損期間に何も表示したくない場合には、以下のように設定します。
PlotLackLineSize : 0 PlotLackPointSize: 0
|
欠損期間を点線で結びたい場合には、以下のように設定します。
PlotLackLineSize : 1 PlotLackLineType: DOT |
欠損期間の欠損データを予測値としてプロットしたい場合には、以下のように設定します。
PlotLackPointSize: 4
※点は1以上で表示されますが、小さすぎるサイズを指定すると線と見分けがつかないため、4から6程度の設定を推奨いたします。 |
PCがハングアップしてしまった、あるいはオペレータのミスでシステムを止めてしまった場合など、ロギングを行っているPanel Serverが停止すると、ヒストリカルデータには何も保存されていない状態となります(データの空白期間)。ヒストリカルデータの空白期間を検知する考え方としては、設定したロギングの収集周期に対して、保存されているヒストリカルデータの時間間隔が異常に長かった場合を、何らかの異常が発生してデータが欠損したものとして判別します。例えばデータのログを1分ごとに行う設定としている場合、履歴データは1分間隔で保存されていることを期待します。しかし、例えば2017/1/1 10:10:00にデータがあり、その次のデータが5分後の2017/1/1 10:15:00だった場合、その間のデータは欠損した可能性が高いものと考えられます。このような空白の期間をトレンドグラフ画面上で欠損値として扱いたい場合に、DiffForLackプロパティを用います。 |
DiffForLackプロパティが0の場合、どんなにデータが離れていても欠損とみなしません。 同プロパティのデフォルトの設定は0となっています。データの空白期間を欠損とみなしたい場合は、かならずDiffForLackプロパティに適切な値を設定してください。 |
特定の値を欠損値とする方法
特定の値を欠損値として扱うには、グラフコントロール側の以下のプロパティを設定してください。
ValueForLack:
欠損値とする値を指定します。
ValueForLackType:
欠損値とする値のタイプ(データ型など)を指定します。
例えば、数値「-1」を欠損値としたい場合は、以下のように設定します。
ValueForLack : -1
ValueForLackType : NUM