PIサーバーに登録されているタイムスタンプはPIサーバーが値を格納したタイミングの時間なのでしょうか?
それともインターフェースノードが値を収集した時間なのでしょうか?
PIサーバーとインターフェースノード間で通信障害等から復旧した場合
どのデータが復旧して流れ込んだバッファデータかを判別する方法があればお教え願います。
PIサーバーに登録されているタイムスタンプはPIサーバーが値を格納したタイミングの時間なのでしょうか?
それともインターフェースノードが値を収集した時間なのでしょうか?
PIサーバーとインターフェースノード間で通信障害等から復旧した場合
どのデータが復旧して流れ込んだバッファデータかを判別する方法があればお教え願います。
お問い合わせいただきありがとうございます。
PIのインターフェイスで収集したデータをPI Data Archiveに格納する場合、
PI Data Archiveに記録されるタイムスタンプは、インターフェースの種類および設定により異なります。
例えばPI Interface for OPC DAは、「/TS」という起動パラメタにより、どのタイムスタンプを扱うかが決まります。
主に、OPCからのタイムスタンプを使用するか、インターフェイスのタイムスタンプを使用するかという選択にはなりますが、
以下の4つのオプションから選択します。
(この内容は、PI Interface for OPC DAのユーザーガイドに記載されています。)
データを受信した時点でOPC インターフェイスがタイムスタンプを提供します。
OPC インターフェイスは、OPC サーバが提供したデータのタイムスタンプを使用し、
OPC サーバとPI Data Archive ノードの間のオフセットを考慮します。
OPC サーバは、アドバイスタグに対してのみタイムスタンプを提供します。
インターフェイスは、OPC サーバとPI Data Archive ノードの間のオフセットを考慮します。
その他すべてのタグについては、データを受信した時点でインターフェイスがタイムスタンプを提供します。
OPC サーバはすべてのデータに対してタイムスタンプを提供し、インターフェイスは時間オフセットをこれらの値に適用しません。
PI Data Archive ノードの現在時刻より10 分以上経過しているタイムスタンプの値をOPC から受け取った場合、データの消失が発生します。
まずは、ご使用のインターフェイスのユーザーガイドにて、タイムスタンプの取り扱いをご確認ください。
インターフェイスに設定された内容は、PI Interface Configuration Utilityか、起動バッチファイルの内容をご確認ください。
利用インターフェースはPI Interface for OPC DAです。
「/TS」起動パラメータを確認したところ、「N」が設定されていました。
PIサーバーとインターフェースが通信障害等から復旧した場合
どのデータが復旧後PI Data Archiveに登録されたバッファデータかを確認する方法はありますか?
利用されているのがPI Interface for OPC DAであれば、このインターフェースのタイムスタンプの取り扱いについては前述の通りです。
「/TS=N」とのことで、インターフェースがOPCサーバーからデータを受信した時点で、インターフェイスがタイムスタンプを付与します。
ここで付与するタイムスタンプは、インターフェースとPI Data Archiveサーバー間の時間差を考慮したものです。
PI Data Archiveサーバーは、インターフェースから送信されたタイムスタンプをそのまま格納します。(受信タイミングによりません)
あいにくではございますが、PI Data Archiveに記録されたデータそのものからは、
リアルタイムで収集されたデータか、バッファリングされ後から送付されたデータかを見分けることはできません。
インターフェース、またはPI Data ArchiveのPI Message Logより
切断されていた時刻を確認し、その時刻から、バッファリングされていたであろうデータを予測することになります。