通常、PI Tagの中に時系列データの値(数字)が入っているのが、一般的ですが、
時系列で、動画や定期間に取っている写真を表示したい場合もあります。
このような写真がある場合に表示する方法を紹介します。
例として、1秒毎に写真を取っています。

タグにこのファイルのデータを保存するのではなく、ファイル名のみを保存します。
表示するために、PI Coresightのカスタムシンボルの作成できます。
PI Coresightで表示するため、ファイルを保存されたフォルダーを仮想ディレクトリに追加します。

仮想ディレクトリの設定はパスと接続の認証です。

物理パスはネットワークの共有のフォルダーの場合は、IISから、共有フォルダーにアクセスするのは規定のユーザーが必要可能性があります。

PI Coresightの事例のSimple Valueの入門のhtmlファイル(template)だけを更新しました。
<img src="ExternalPictures/{{value}}" ng-attr-style="height:100%; width:100%; background: {{Fill || 'rgba(255,255,255,0)'}};">
これだけすると、PI Coresightですぐ見れます!(時刻をずらすことで画像が切り替わります)

PI Coresightはデフォルトで5秒更新の点は注意が必要です。過去に戻ればその秒数以下のデータであっても画像を確認できます。
コードは下記に記載されています。
GitHub - JeromeLefebvre/PictureCustomSymbol: A simple custom symbol to display pictures
上記の例をKenji Hashimoto と作成しました。
パフォーマンスのテスト
ファイルサーバーが遠く、ファイルのサイズが大きい場合は、表示の時間が掛かるのは当然だと思いますが、
PI Coresightで表示するとファイルをファイルサーバーからローカルにコピーすると同じぐらい時間を表示すると確認しました。
※テストの環境:
マシンが3つ:
- ファイルサーバー
- PI ServerとPI Coresight
- クライアント
ネットワークのスピード:
レイテンシ:1ms
ファイルのサイズ: 2.2MB
クライアントのマシンで次の写真を表示するための時間:80msから170msまでです。
ビデオの表示
もし、ビデオをPI Coresightに表示したい場合は、別の方法が幾つかあると思いますが、上記の方法で表示したいなら、
ビデオをファイルに分割が必要です。
ビデオをフレームに分割ツールも幾つかがあると思いますが、
私ではPythonのOpenCVのライブラリを使用し、MP4のビデオからJPGのファイルに問題なく分割できました。