PI UFL利用時における、情報未到達検出について

機器~PIIF間の情報未到達検出方法についてレクチャーお願いします。

 

仮に定周期で1分間に1回、ON/OFF状態を送信する機器があるとします。

この機器のON/OFF状態をCSVとして出力し、PI UFLを利用してPIにデータ保存します。

 

このケースにおいて、機器の故障により前回受信時より1分以上機器からの情報が停止した際に、

PI System側で情報が受信できなかったことを何らかの形で把握することは可能でしょうか。

※例えばPI Systemの設定で一定期間情報が来ないタグに対し、NoDataを書き込むような仕組みがある等

 

実現方法の1つとしては、分析機能またはPISDKを利用し、情報受信時に

最終保存時刻と現在時刻との差分を計算し、1分間以上であれば、1分前の値にNoDataを書き込むことで

実現することが可能かと思いますが、PI Systemの設定のみで実現可能であればご教示頂きたいです。

Parents Reply Children
  • 回答ありがとうございます。

    「stale tag」を利用する方法は、かなり希望に近い動作だと思います。

     

    追加で「stale tag」について確認させてください。

    ①現在時刻からの期間指定のみでしか検索することができないか

     過去時刻、例えば 2010/10/17/12:00のデータに対して、10分間情報が来ていない「stale tag」を検索することも可能でしょうか。

     

    ②データを圧縮指定している場合について

     データ圧縮していると、同一値のデータを受信した場合、圧縮されてしまうと思いますが、圧縮された部分についても「stale tag」として扱われるのでしょうか。

  • 「stale tag」について、大変参考になりました。

    ありがとうございます。

  • ①そうですね。タグの現在値を速く調べるので、今のStale Tagの一覧を簡単に取得できます。

    過去にあったStale Tagを取得したいなら、アーカイブのすべてを調べるのは必要になる可能性があるので、非常に負荷が高いオペレーションになります。

    標準の機能ではないので、取得したいなら、カスタムスクリプトの開発が必要だと思います。

     

    ②それは難しいですね。

    例として、Sinusoidのタグのデータを見ると、値と値の間の時間は結構ばらばらですね。

    三回ずつつ1時間ぐらいの時間差がありますが、次は3時間差があります。具体的に圧縮を仕様すると値とその次の値の時間差は正規分布変数ではないので、発見しにくいですね。


    pastedImage_1.png.png

  • 個人の話ですが、値のその次の値の時間差の分析をこの記事のようにしたかったですが、この開発時間はまだなかったのですが。。

    https://arxiv.org/ftp/arxiv/papers/1605/1605.06555.pdf

     

    ご参考まで

  • やってみました。ご参考まで

    An AF/Vision experiment - Visualizing data loss