基準時刻

iSCP 1.0では、基準時刻の種別は数値により表される基準時刻タイプにより予め決められていましたが、 iSCP 2.0では名称と優先度で種別を表す仕様となっています。 この拡張により、APIの利用者側で基準時刻の種別を自由に追加できるようになりました。

iSCP 1.0-iSCP2.0間の互換仕様では、iSCP 1.0が持っていた基準時刻タイプが、 iSCP 2.0の名称と優先度にどのように対応付けられるかが規定されています。

表 4 変換ルール

iSCP 1.0の基準時刻タイプ

iSCP 2.0での基準時刻名称

iSCP 2.0での基準時刻優先度

1 (Edge RTC)

edge_rtc

20

2 (NTP)

ntp

30

3 (GPS)

gps

40

253 (Volatile)

volatile

50

254 (API First Received)

api_first_received

10

255 (Manual)

manual

60

iSCP 1.0では、以下の仕様が存在していましたが、iSCP 2.0では廃止されています。

  • ダウンストリームを開いた際に、それ以前にアップストリーム側で送信されていた基準時刻がダウンストリームに送信される

  • ある計測において、初めてブローカーがデータポイントを受信した際に、API First Received の基準時刻をブローカーが生成する

そのため、ダウンストリームの受信側では、最初の基準時刻が受信されるまでの間は、データポイントを受信した時刻を元に基準時刻を予測して使用してください。 基準時刻は、あるデータポイントを受信した時刻から、そのデータポイントが持つ経過時間を差し引くことで予測することができます。

iSCP 2.0で基準時刻を送信し、iSCP 1.0で接続しているノードで基準時刻を受信したい場合は、 変換ルールに記載された基準時刻の名称( edge_rtcntp など)を使用する必要があります。 その際、優先度の数値はどんな値を使用しても構いません。