Geo SCADA: MQTT driver - 'Reason' parameter for JSON, Text and Sparkplug
Question
If the MQTT driver in Geo SCADA loses connection to the MQTT broker or data point for a period of time (I.E. 30 minutes), upon reconnection, MQTT will send a backfill payload along with the current value. Geo SCADA handles this well, but in history, all data is reflected as ‘Current Data’. Is it possible to change the reason code for the backfill data so that a user may discern between current vs backfill data?
Answer
The reason for logging is different for each MQTT driver (see below):
JSON Schema A: Reason is 'Report' except if the message type is an alarm (I.E. has "status") in which case it is 'Value Change' for analog/counter points, and 'State Change' for digital points.
Text: Reason is always 'Current'
Sparkplug: Reason is 'Value Change' for analog/string/time points and 'State Change' for digital points
At the MQTT level, Geo SCADA just receives payloads from a broker. Geo SCADA does not know when they were sent or whether they were queued up in the broker. A device that is publishing data may publish multiple payloads, one after the other. This would look the same to Geo SCADA as receiving multiple payloads when Geo SCADA connects.
The device that is publishing the data does not know if Geo SCADA is connected or not. As the payload typically does not have a means of indicating whether the data should be considered historical or not, Geo SCADA has no recourse to categorize it any differently to data that is collected via a typical connection.
發佈於: 施耐德電機Taiwan
需要協助?
產品選型工具
快速輕鬆地為您的應用找到合適的產品和附件。
取得報價
立即線上提交您的銷售需求,專業團隊將主動聯繫您。
購買地點
輕鬆在您所在地區找到最近的施耐德電機經銷商。
支援中心
在同一位置找到滿足您所有需求的支援資源。