Skip to main content

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.

Ç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

  1. Haberleşme merkezi yazılımı, haberleşme ünitesine directive - add komutu gönderir.
  2. Haberleşme ünitesi isteği aldığına dair haberleşme merkezi yazılımına ACK mesajı gönderir.

Mesaj Formatları

Protokol genel formatı dahilinde haberleşme sağlanır.

  • paremeteralanındaki parametrelerin nasıl kullanılacağı okuma sayfasında anlatılmıştı.
  • operation ın loop olduğu durumlarda parameter alanı alt yönergelerden oluşur. Bu yönergeler bu yönergeyi kullanan okuma komutu içerisinde OBIS parametresinin 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ığı directive içerisinde aşağıdaki gibi bir loop varsa bu döngü için OBIS listesinin 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
}
]
}
]
}
]
}
}
ParametreVeri TipiZorunlulukAçıklama
idstringZorunluListelenmesi istenen yönergenin id'si. Request'te id girilirse cevapta sadece bir yönerge dönebilir
operationstringZorunluBu adımda haberleşme ünitesinin yapacağı işin adıdır
parameterstringZorunluYukarıdaki işi yaparken haberleşme ünitesinin kullanacağı parametrik değerdir
setBaudstringOpsiyonelHaberleşme ünitesi-ölçüm cihazı arası haberleşmenin baud değerinin belirlenmesi
setFramingstringOpsiyonelHaberleşme ünitesi-ölçüm cihazı arası haberleşmenin frame değerinin belirlenmesi
sendDatastringOpsiyonelÖlçüm cihazına komut gönderilmesi işlemi, gönderilecek veri parameter alanında
readDatastringOpsiyonelÖlçüm cihazından veri okunması işlemi, parametre değeri ise okunan verinin atanacağın değişken
waitstringOpsiyonelHaberleşme ünitesinin haberleşmeye ara verip beklemede kalması, bekleme miktarı parameter alanında
loopstringOpsiyonelsteps alanındaki yönergeler parameter içindeki liste adedince tekrarlanmalıdır