Yönerge Ekle (Profil)
Haberleşme ünitesine bir yönerge tanımlayacak komuttur.
Ç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.
Aşağıdaki örnekte bir profil okuması yapmak için kullanılacak yönergeler dizisi verilmiştir.
sendData yönergelerinde parameter alanındaki byte dizisi ölçüm cihazına gönderilecek byte dizisine işaret etmektedir. Bu byte dizisinin içerisinde karakter tabanlı veriler dikkatinizi çekecektir. Bunlar bu okuma sırasında kullanılacak parametreleri temsil ediyorlar.
Örneğin:
[47, 63, "METERSERIALNUMBER", 33, 13, 10]byte dizisi içerisindekiMETERSERIALNUMBERokunmak istenen ölçüm cihazının seri numarasıdır. Haberleşme ünitesinin yapması gereken okuma esnasında byte dizisi içerisindeki bu alanakomutiçerisinde yer alan ölçüm cihazı seri numarasını yerleştirmektir. Örnek:Ölçüm cihazı seri numarası 12345678 ise gönderilecek byte dizisi şu şekilde olacaktır:
[47 63 49 50 51 52 53 54 55 56 33 13 10]STARTDATEveENDDATEparametrelerinde ise özel bir durum vardır.Anlık okumalarda
STARTDATEveENDDATEparametreleri haberleşme merkezi yazılımından gelecek komut içerisinde yeralacaktır.Takvimsel okumalarda ise
STARTDATEalanı güncel saattentraversHoursparametresi kadar saat çıkarılarak elde edilecektir.ENDDATEiçin ise okuma esnasında tarih-saat kullanılacaktır.
directive-add talebi
{
"device": {
"flag": "XYZ",
"serialNumber": "0123456789ABCDE"
},
"function": "directive",
"referenceId": "3d0b242e-1866-4a41-a8ca-1372f1b34ab7",
"request": {
"operation": "add",
"directives": [
{
"id": "ProfileDirective1",
"steps": [
{
"order" : 1,
"operation": "setBaud",
"parameter": 300
},
{
"order" : 2,
"operation": "setFraming",
"parameter": "7E1"
},
{
"order" : 3,
"operation": "sendData",
// "parameter": "/?##METERSERIALNUMBER##![0D][0A]",
"parameter": [47, 63, "METERSERIALNUMBER", 33, 13, 10]
},
{
"order" : 4,
"operation": "wait",
"parameter": 10
},
{
"order" : 5,
"operation": "readData",
"parameter": "id"
},
{
"order" : 6,
"operation": "sendData",
//"parameter": "[06]061[0D][0A]"
"parameter": [6, 48, 54, 49, 13, 10]
},
{
"order" : 7,
"operation": "setBaud",
"parameter": 9600
},
{
"order" : 8,
"operation": "wait",
"parameter": 600
},
{
"order" : 9,
"operation": "readData",
"parameter": "r2"
},
{
"order" : 10,
"operation": "sendData",
// "parameter": "[01]R5[02]P1(21-06-22 00:00;21-06-22 12:22)()[03]?",
"parameter": [1, 82, 53, 2, 80, 49, 40, "STARTDATE", 59, "ENDDATE", 41, 40, 41, 3, 63]
},
{
"order" : 11,
"operation": "readData",
"parameter": "rawData"
}
]
}
]
}
}
| 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 |