รูปแบบข้อความ MQTT ที่GENESIS64อ่านได้
MQTT Message ที่ GENESIS64 SCADA สามารถอ่านได้มีดังนี้
โครงสร้างข้อความMQTTที่GENESIS64สามารถอ่านเขียนข้อมูลไปยังMQTT Broker จะต้องเป็นไปตามรูปแบบดังนี้
1. Simple Message Format (one value per message)
เป็นรูปแบบง่ายๆ สำหรับข้อความ JSON ที่สามารถอ่านเขียนระหว่างGENESIS64 กับ MQTT Broker และยอมรับโดยGENESIS64 แม้ว่าอาจส่งผลให้มีจำนวนข้อความรวมจำนวนมากและไม่มีประสิทธิภาพมากนัก แต่ง่ายและอาจเหมาะสำหรับอุปกรณ์ที่มีการเปลี่ยนแปลงข้อมูลไม่บ่อยนัก โดยจะเอาข้อมูลแบบใดขึ้นก่อนก็ไดด้ เช่น เอาTimeStampขึ้นก่อน ตามด้วยชื่อtagและValueเป็นต้น
ตัวอย่างข้อความ
{
“id”: “tag1”,
“v”: “7”
“q”: “true”,
“t”: “1580413177050”
}
2. Standard Message Format (multiple values per message)
เป็นรูปแบบทั่วไปสำหรับข้อความที่มีแท็กหลายรายการในข้อความเดียว รูปแบบนี้คล้ายกับรูปแบบธรรมดาข้างต้น แต่จัดกลุ่มข้อมูลหลายรายการไว้ในข้อความเดียว ซึ่งจะมีประสิทธิภาพมากกว่า และเหมาะอย่างยิ่งสำหรับอุปกรณ์ที่มีอัตราการเผยแพร่คงที่ ซึ่งจะช่วยให้สามารถเผยแพร่ค่าหลายค่าในช่วงเวลานั้นได้ สามารถขยายรูปแบบเพื่อรวมข้อมูลอื่น ๆ ที่เกี่ยวข้องได้ตามต้องการ
ตัวอย่างข้อความ
{
"TIMESTAMP": "2023/12/21 16:31:30.380" ,
"VALUES":
[
{
"TAGNAME":"SYSTEM.r1",
"VALUE":65
}
,
{
"TAGNAME":"SYSTEM.r2",
"VALUE":88
}
,
{
"TAGNAME":"SYSTEM.Random1",
"VALUE":6
}
]
}
3. Standard Message Format (multiple values with common attributes)
รูปแบบนี้คล้ายกับรูปแบบมาตรฐานของการอัปเดตหลายรายการต่อข้อความ แต่ยอมให้จัดกลุ่มข้อมูลในแต่ละข้อความได้โดยการเผยแพร่ข้อความในรูปแบบนี้ จะถือว่าข้อมูลแต่ละชุดทั้งหมดภายในอาร์เรย์ใช้คุณสมบัติบางอย่างร่วมกัน เว้นแต่จะมีการแทนที่อย่างชัดเจนภายในค่านั้น อาจเป็นรูปแบบที่มีประสิทธิภาพในแง่ของปริมาณข้อมูลต่อข้อความ เนื่องจากจะกำจัดข้อมูลที่ซ้ำซ้อนในข้อความ JSON
ตัวอย่างข้อความ
{
“devicename” : “RTU1” ,
“t” : “1605751173871” ,
“quality” : “true” ,
values” :
[
{
“id” : “Temp1” ,
“v” : “-5.256”
} , {
“id” : “Temp2” ,
“v” : “-4.159”
}
]
}