Yönerge Ekle (OBIS Listesi)
Haberleşme ünitesine bir yönerge tanımlayacak komuttur.
directive içerisindeki adımlar iki alan içerir:
operation: Bu adımda haberleşme ünitesinin yapacağı işin adıdır.parameter: Yukarıdaki işi yaparken haberleşme ünitesinin kullanacağı parametrik değerdir.- Parametrik değer
operationın cinsine göre değişir.
- Parametrik değer
Çalışma Zamanı
Haberleşme merkezi yazılımı tarafından komut gönderildiğinde çalışır.
Çalışma Şekli
Push
Bu fonksiyon için push olarak çalışma desteklenmemektedir.
Pull
- Haberleşme merkezi yazılımı, haberleşme ünitesine
directive-addkomutu gönderir. - Haberleşme ünitesi isteği aldığına dair haberleşme merkezi yazılımına
ACKmesajı gönderir.
Mesaj Formatları
Protokol genel formatı dahilinde haberleşme sağlanır.
paremeteralanındaki parametrelerin nasıl kullanılacağıokumasayfasında anlatılmıştı.operationınloopolduğu durumlardaparameteralanı alt yönergelerden oluşur. Bu yönergeler bu yönergeyi kullanan okuma komutu içerisindeOBISparametresinin uzunluğu kadar tekrarlanır. bir okuma komutu{ "OBIS" : ["1.8.0", "1.8.1", "1.8.2", "1.8.3"] }yani{ "OBIS" : [[49, 46, 56, 46, 48], [49, 46, 56, 46, 49], [49, 46, 56, 46, 50], [49, 46, 56, 46, 51]] }şeklinde bir parametre içeriyorsa ve kullandığıdirectiveiçerisinde aşağıdaki gibi birloopvarsa bu döngü içinOBISlistesinin elemanlarını parametre olarak kullanır.
directive-add talebi
{
"device": {
"flag": "XYZ",
"serialNumber": "0123456789ABCDE"
},
"function": "directive",
"referenceId": "3d0b242e-1866-4a41-a8ca-1372f1b34ab7",
"request": {
"operation": "add",
"directives": [
{
"id": "ReadObisDirective",
"steps": [
{
"order": 1,
"operation": "setBaud",
"parameter": 300
},
{
"order": 2,
"operation": "setFraming",
"parameter": "7E1"
},
{
"order": 3,
"operation": "sendData",
"parameter": [47, 63, "METERSERIALNUMBER", 33, 13, 10]
},
{
"order": 4,
"operation": "wait",
"parameter": 100
},
{
"order": 5,
"operation": "readData",
"parameter": "id"
},
{
"order": 6,
"operation": "sendData",
"parameter": [6, 48, 54, 49, 13, 10]
},
{
"order": 7,
"operation": "setBaud",
"parameter": 19200
},
{
"order": 8,
"operation": "wait",
"parameter": 500
},
{
"order": 10,
"operation": "loop",
"parameter": "OBIS",
"steps": [
{
"order": 1,
"operation": "sendData",
"parameter": [2, 3, "*OBIS", 40, 41, 4, 5]
},
{
"order": 2,
"operation": "wait",
"parameter": 100
},
{
"order": 3,
"operation": "readData",
"parameter": "*OBIS"
},
{
"order": 4,
"operation": "wait",
"parameter": 100
}
]
}
]
}
]
}
}
| Parametre | Veri Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
| id | string | Zorunlu | Listelenmesi istenen yönergenin id'si. Request'te id girilirse cevapta sadece bir yönerge dönebilir |
| operation | string | Zorunlu | Bu adımda haberleşme ünitesinin yapacağı işin adıdır |
| parameter | string | Zorunlu | Yukarıdaki işi yaparken haberleşme ünitesinin kullanacağı parametrik değerdir |
| setBaud | string | Opsiyonel | Haberleşme ünitesi-ölçüm cihazı arası haberleşmenin baud değerinin belirlenmesi |
| setFraming | string | Opsiyonel | Haberleşme ünitesi-ölçüm cihazı arası haberleşmenin frame değerinin belirlenmesi |
| sendData | string | Opsiyonel | Ölçüm cihazına komut gönderilmesi işlemi, gönderilecek veri parameter alanında |
| readData | string | Opsiyonel | Ölçüm cihazından veri okunması işlemi, parametre değeri ise okunan verinin atanacağın değişken |
| wait | string | Opsiyonel | Haberleşme ünitesinin haberleşmeye ara verip beklemede kalması, bekleme miktarı parameter alanında |
| loop | string | Opsiyonel | steps alanındaki yönergeler parameter içindeki liste adedince tekrarlanmalıdır |