Telediagram Editor
IEC 104'ü Kullanma
Genel Bilgi
IEC 60870-5-104 protokolü yaygın kullanılan bir dağıtık haberleşme protokolüdür. IEC104 protokolünün başlıca üstünlüklerini şunlardır:
• Zaman etiketli değişken desteği
• Haberleşmenin olmadığı zamanda oluşan olayları zaman etiketleriyle bağlantı kurulunca tekrar gönderebilme özelliği
• SCADA’nın sorgulama yapmasına gerek olmadan değişimleri otomatik gönderebilme özelliği
• Değişkenleri tek tek değil, sınıf olarak çoklu sorgulayabilme özelliği
IEC 60870-5-104 Slave Sürücü
Mikrodev RTU cihazları, IEC 60870-5-104 SLAVE modunu destekler ve IEC 60870-5-104 destekleyen SCADA sistemlerine TCP/IP üzerinden hizmet verir. Aşağıdaki servisler desteklenir:
General Interrogation sorgusu ile tüm data noktalarının okunması
Zaman senkronizasyonu
Yüzde ve Seviye olarak anlık ölçüm verilerinde olay denetimi
Tanımlanan Olay verilerinin otomatik gönderimi (Case of Transmission, Spontaneous 0x03)
Data noktalarının periyodik gönderimi (Case of Transmission, Periodic 0x01)
Olay bilgilerinin hafızaya alınması ve iletişim sağlanınca tekrar gönderilmesi
Komut göndermede, Execution Mode desteği; Execute Only, Select Before Execute, Long Pulse ve Short Pulse Duration, Quality Descriptor bilgileri gönderimini destekler.
Birden fazla Slave açabilme ve her Slave için farklı IEC104 nesnesi tanımlayabilme
IEC 104 Slave Blok Tanımlamaları
Bağlantılar

Bağlantı Açıklamaları
Ser: TCP Soket Girişi
IEC104 protokolün çalışacağı TCP server soket bloğu bu girişten bağlantısı yapılır.
Trg: Tetik Girişi
Periyodik gönderim için tetik girişidir. Yükselen kenar olarak çalışır.
Asd: Asdu Address Girişi
ASDU adresi girişi olarak kullanılır.
#I1040: Bağlantı Durum
IEC104 Köle bloğuna bağlı IEC104 Master varsa bu çıkış 1 olur.
Blok Özel Ayarları

AsduAddress: IEC104 Köle Bloğunun ASDU adresi bu kısımdan veya IEC104 Köle bloğunun Asd girişinden tanımlanabilir.
T0: TCP connection timeout süresidir.
T1: Test APDU timeout süresidir.
T2: Ack için timeout süresidir.
T3: Test frame gönderme süresidir.
K: Alınan paketteki sequence numarası ile gönderme durum değişkenindeki numara arasında izin verilecek maksimum fark
W: w kadar I Formatında APDU alındıktan sonra ACK gönderilir.
Group Count**: Cihazın IEC104 Slave olarak kaç adet Master ile bağlantı kurabileceği buradan belirtilir. Bu değer RTU cihazlar için maksimum 2, DM cihazlar için maksimum 4 olabilmektedir.
Max Client in Group**: Bir IEC104 Master a maksimum kaç adet Slave bağlantısı kurulabileceği buradan belirtilir. (Bu değer şuanlık 5 olarak ayarlanmıştır.)
Object Sets*: Birden fazla IEC104 Slave tanımlayabilmek için kullanılır. IEC104 nesneleri buraya girilen değer sayesinde farklı Slave adreslerine tanımlama yapılabilmektedir. Değişken adres tablosunda yer alan Object Set No kısmı ile birlikte kullanılır. Detaylı bilgi için Blok Açıklamalarına bakınız.
Log-kayıt belleğine ekle: Sunucu ile bağlantı yok iken, blok değerleri olay kayıt hafızasına eklenmesi isteniyorsa log-kayıt belleğine ekle seçeneği seçili olmalıdır.
DevNET ile senkronla: Bağlantı kurulduğunda tüm blokların değerleri sunucuya gönderilmesi isteniyorsa bu seçenek seçili olmalıdır.
*Telediagram versiyon 18 ve sonrası için geçerlidir.
**Telediagram versiyon 18’den daha önceki sürümlerde bu özellikler Mikroterminal uygulaması üzerinden özel komut göndererek sağlanmaktadır.
Blok Açıklaması
RTU üzerinden IEC104 protokolünün aktif hale getirilebilmesi için Telediagram projesine IEC104 Köle bloğu eklenmeli ve IEC104 Köle bloğunun "Ser" girişine TCP Soket bloğu bağlanmalıdır. Burada yer alan TCP Soket bloğunun özel ayarlarından TCP Soket Tipi "Sunucu" olarak seçilmeli ve dinleme portu tanımlanmalıdır.
TCP Soket bloğunu aktif edebilmek için TCP Soket bloğunun "Etk" girişine Yüksek Kapısı Bloğu bağlanmalıdır.
Birden fazla sunucuya hizmet verilmesi isteniyorsa Telediagram projesinde yer alan her bir sunucu için IEC104 Köle bloğu eklenmesi gerekmektedir.
IEC104 Asdu adresi, IEC104 Köle bloğunun özel ayarlarından ayarlanabileceği gibi IEC104 Köle bloğunun "Asd" girişinden de ayarlanabilmektedir.
IEC104 nesneleri arasında periyodik gönderim aktif seçilen nesnelerin değerleri, IEC104 Köle bloğunun "Ttk" girişine yükselen kenar sinyali gelmesi ile sunucuya iletilir. Periyodik ya da tetikleme ile veri gönderimi olmayacaksa tetikleme girişi boş bırakılabilir.
Cihaz üzerinde birden fazla IEC104 Slave açmak istenirse IEC104 Köle bloğunun özel ayarlarında yer alan object sets kısmından ayarlanma yapılmalıdır. Bu kısım değişken adres tablosu ile birlikte kullanılmaktadır. Değişken adres tablosunda IEC104 nesneleri için tanımlama yaparken girilen object set no kısmı object sets değerine göre girilmelidir.
Örneğin IEC104 Köle bloğunun özel ayarlarından object sets değeri 1 girildiyse değişken adres tablosunda bu bloğa karşılık gelen object set no kısmı 0 olmalıdır. (2^0=1)
IEC104 Köle bloğunun özel ayarlarından object sets değeri 2 girildiyse değişken adres tablosunda bu bloğa karşılık gelen object set no kısmı 1 olmalıdır. (2^1=2)
IEC104 Köle bloğunun özel ayarlarından object sets değeri 8 girildiyse değişken adres tablosunda bu bloğa karşılık gelen object set no kısmı 3 olmalıdır. (2^3=8)
Örnek Uygulama
RTU lojik projelerinde IEC 104 Slave Block'un eklenmesi ile RTU'da IEC 104 protokolü aktif hale getirilir. RTU lojik projesindeki değişkenler, IEC104 ilişkilendirmesi değişken adres tablosunda sağlanır.






Örnek uygulamada 3 farklı dinleme portu için 3 farklı IEC104 Köle bloğu tanımlandı. Tanımlama yapılır iken her IEC104 Köle bloğuna farklı Object Sets değeri verildi.
Dinleme portu 2404 için IEC104 Köle bloğunun özel ayarlarından object sets değeri 1 olarak belirtildiğinden dolayı değişken adres tablosunda bu değere karşılık gelen object set no değeri 0 olarak girildi. (2^0=1)

Dinleme portu 2405 için IEC104 Köle bloğunun özel ayarlarından object sets değeri 2 olarak belirtildiğinden dolayı değişken adres tablosunda bu değere karşılık gelen object set no değeri 1 olarak girildi. (2^1=2)

Dinleme portu 2406 için IEC104 Köle bloğunun özel ayarlarından object sets değeri 8 olarak belirtildiğinden dolayı değişken adres tablosunda bu değere karşılık gelen object set no değeri 3 olarak girildi. (2^3=8)

Değişken adres tablosunda 104 nesneleri tanımlandı.
Cihaza TCP üzerinden bağlantı kuruldu ve online izleme başlatıldı.

Vinci uygulaması üzerinden farklı dinleme portları için IEC104 Master açıldı ve gönderilen değer takip edildi.

IEC104 Değişken Tablosu Tanımlamaları
Değişken Tablosu
Telediagram projesine, IEC104 Köle Blok eklenmesi ile RTU içinde IEC104 protokolü aktif hale gelir.
Telediagram projesindeki değişkenler, IEC104 ilişkilendirilmesi ise değişken adres tablosundan sağlanır.

Hat Etiketi Tanımlama
Mikrodiagram üzerinde tanımlanan tüm blokların için Hat etiketi tanımlanabilmektedir. Değişken tablosunda protokol adresleri ile ilişkilendirmeyi yapabilmek için hat etiket tanımlanmış olması gerekmektedir.
Not: Hat tanımlaması yapılır iken boşluk bırakılmamasına ve Türkçe karakter kullanılmamasına dikkat edilmelidir.

Hat Etiketi İlişkilendirme

İsim: Tanımlanan bu değişkeni tanımlayan özel bir isim verilir.
Başlangıç Adresi: SCADA üzerinde bu değişken için ayrılan adres buraya yazılır. (Desimal değer olarak yazılır.)
Object Set No: Birden fazla IEC104 Slave tanımlayabilmek için kullanılır. IEC104 nesneleri buraya girilen değer sayesinde farklı Slave adreslerine tanımlama yapılabilmektedir. IEC104 Köle bloğunun özel ayarlarında yer alan Object Sets kısmı ile birlikte kullanılır. Detaylı bilgi için Blok Açıklamaları kısmına bakınız.
Hat Etiketi: Mikrodiagram üzerindeki ilişkilendirilecek blok hat etiketiyle seçilir.
Nokta Sayısı: Otomatik olarak hesaplanır. Tablolarda anlamlıdır.
Quality Register Block: Quality Register tanımlanacak blok girişidir. Detaylı bilgi için Quality Register Blok Ayarları kısmına bakınız.
Send Trig Block: Bloğun tetik girişinden bağımsız bir tetik ile IEC104 verileri gönderilmesi istenirse bu kısımdan tetik bloğu seçilir ve buradaki tetiğe bağımlı veri gönderebilmesi için blok özel ayarlarında yer alan periyodik gönder seçeneğinin tikli olmaması gerekmektedir.
Protokol Tipi: Modbus, Dnp3, IEC101, IEC104 arasından seçim yapılır. Protokol tipine göre Object Type (Nesne Tipi) değişecektir.
Nesne Sınıfı: Değişkenin ait olduğu sınıf bilgisi seçilir
Periyodik Gönderim: IEC104 Slave blok üzerindeki Tetik girişinden tetik algılanınca periyodik gönderme olarak bu değişkende SCADA’ya gönderilsin mi seçimidir.
Gönderim Metodu: Tanımlanan değişkenin değeri değişince yapılacak işlem seçilir.
Hiçbir Değişimde: Değer değişimi gönderimi tetiklemez.
Seviye Değişiminde: "Değişim Değeri" nde tanımlanan miktar kadar değişim olunca gönderim tetiklenir.
Yüzde Değişiminde: "Değişim Değeri" nde tanımlanan yüzde kadar değişim olunca gönderim tetiklenir.
İntegral Değişiminde: "Değişim Değeri" nde tanımlanan değer eklenen nesnenin birim zamanındaki değişimlerinin toplamını aşarsa gönderim tetiklenir. Birimi saniyedir. Detaylı bilgi için IEC104 Olay Mekanizması kısmına bakınız.
Değişim Değeri: "Gönderim Metodu" nda tanımlanan yüzde, seviye ya da integral değişim değeri bu kısımdan ayarlanır.
Açıklama: Açıklama girişidir.
IEC104 Nesne Tipleri
IEC104 Okuma Yönünde Nesne Tipleri
| IEC104 Nesne Tipi | Pe |
|---|---|
| 1 (single-point) | Binary, Word, Analog, Long |
| 3 (double-point) | Word, Analog, Long |
| 5 (step position) | - |
| 7 (bitstring) | - |
| 9 (measured normalized value) | Binary, Word, Analog, Long |
| 11 (measured scaled value) | - |
| 13 (measured short floating point) | Binary, Word, Analog, Long |
| 15 (integrated totals) | - |
| 20 (packed single-point) | - |
| 21 (normalized value without quality descriptor) | - |
| 30 (single-point information with time tag) | Binary, Word, Analog, Long |
| 31 (double-point information with time tag) | Word, Analog, Long |
| 32 (step position information with time tag) | - |
| 33 (bitstring of 32 bit with time tag) | - |
| 34 (measured normalized value with time tag) | Binary, Word, Analog, Long |
| 35 (measured scaled value with time tag) | - |
| 36 (measured short floating point number with time tag) | Binary, Word, Analog, Long |
| 37 (integrated totals with time tag) | - |
| 38 (event of protection equipment with time tag) | - |
IEC104 Kontrol Yönünde Nesne Tipleri
Okuma tipi ile eşleştirilen her blok için yazma değişkeni de otomatik olarak oluşturulmaktadır. Tanımlanan okuma nesnelerine yazma olarak erişilebilecek değişken tipleri şu şekildedir:
| Okumak için seçilen - IEC104 Nesne Tipi | IEC104 Object Types - Aynı datapointe yazma için erişelebilecek IEC 104 Nesne Tipi |
|---|---|
| 1 (single-point) | 45 (single command), 58 (single command with time tag) |
| 3 (double-point) | 46 (double command), 59 (double command with time tag) |
| 13 (measured short floating point) | 50 (set point command, short floating point), 63 (set point command, short floating - point number with time tag |
| 30 (single-point information with time tag) | 45 (single command), 58 (single command with time tag) |
| 31 (double-point information with time tag) | 46 (double command), 59 (double command with time tag) |
| 36 (measured short floating point number with time tag) | 50 (set point command, short floating point), 63 (set point command, short floating - point number with time tag) |
Quality Register Blok Ayarları
Cihazlarımızda Quality Descriptor (QDS) bitleri ve buna bağlı olarak Quality Register Block Ayarları desteklenmektedir. Quality Descriptor bit tanımları; OV, BL, SB, NT, IV, CY, CA, EI’dir. Bilindiği gibi tanımlanan nesne tiplerine göre QDS kullanımı çeşitlilik göstermektedir. Aşağıda Quality Descriptor (QDS) tanımlama tablosu gösterilmiştir.
| Druum / QDS | OV | CY | CA | EI | BL | SB | NT | IV |
|---|---|---|---|---|---|---|---|---|
| overflow quality flag | carry flag | adjusted flag | blocked quality flag | substituted quality flag | topical quality flag | invalid quality flag | ||
| 1 | overflow | carry | counter was adjusted | elapsed time not valid | blocked | substituted | not topical | invalid |
| 0 | no overflow | bo carry | counter was not adjusted | elapsed time valid | not blocked | not substituted | topical | valid |
Kullanılacak QDS değerleri Bit Birleştirme Bloğuyla oluşturulup değişken adresler kısmında IEC 104 ilişkilendirmesi sırasında Quality Register Block ayarıyla tanımlanmış olur.
Örneğin IEC 104 protokolüyle okuma değerini tanımlayacağız. Okuma nesne tipi olarak 36 – measured short floating point number with time tag, seçiyoruz. Quality Register Block tanımlaması için QDS değerleri tanımlayacağız. Bunun için QDS bit tanımlaması şu şekilde; 0.bit OV, 4.bit BL, 5.bit SB, 6.bit NT, 7.bit IV bilgilerini içermelidir. Bit Birleştirme Bloğunu Quality Register Block olarak tanımlayabiliriz.
Komut Gönderimi Ayarları
IEC 104 protokolünde uygun nesne tiplerinde Single Command, Double Command ve Set Point Command özelliğini desteklemektedir. Nesne tipleri komut türleri eşleşmesi Nesne Tipleri Tablosunda gösterilmiştir. Ayarları ise şu şekildedir;
Hat etiketi ilişkilendirme işlemi yapılırken seçilen IEC 104 protokolü ayarlarında nesne tipine bağlı olarak seçenekler otomatik olarak görünmektedir.
Örneğin, Nesne tipi 45 (Single Command) Seçildiğinde Şekil 6 da görüldüğü gibi parametre ayarları için seçenekler aktif olmaktadır. Short Pulse Duration ya da Long Pulse Duration değerleri için birer yazmaç seçilir. Girilen değer ms olarak işlem göreceği unutulmamalı.
Execution Method da listeden seçilir. Execution Method 2 türdür. İşlemin tek komutla gerçekleşmesi isteniyorsa Execute Only seçilir. Farklı 2 onay durumu isteniyorsa Select Before Execute seçilir.
Örneğin 2 farklı komutla onay isteyen işlemlerde Select Before Execute seçeneği kullanılabilir. Bunun için önce Select komutu sonrasında ise Execute komutu gönderilmelidir.
IEC104 Olay (Event) Mekanizması
Değişken adres tablosunda IEC104 nesneleri için değişimde gönder seçimi mevcuttur.
Değişken adres tablosunda tanımlanan gönderim methodu ile tanımlanan değişkenin değeri değişince yapılacak işlem seçilir. Gönderim methodu kısmı değişken değeri kısmı ile birlikte kullanılmaktadır.
Hiçbir Değişimde: Değer değişimi gönderimi tetiklemez.
Seviye Değişiminde: "Değişim Değeri" nde tanımlanan miktar kadar değişim olunca gönderim tetiklenir.
Yüzde Değişiminde: "Değişim Değeri" nde tanımlanan yüzde kadar değişim olunca gönderim tetiklenir.
İntegral Değişiminde: "Değişim Değeri" nde tanımlanan değer eklenen nesnenin birim zamanındaki değişimlerinin toplamını aşarsa gönderim tetiklenir.
Değişim Değeri "Gönderim Metodu" ile birlikte yüzde, seviye ve integral değişim değerini ayarlar.
Örneğin değişken adres tablosunda tanımlanan IEC104 nesnesinin gönderim metodu integral değişiminde seçilip, değişim miktarı 10 girildiğinde;
Tanımlanan değişkenin değişim miktarı 2 olduğunda (tanımlanan değişkenin son değeri ile bir önceki değeri arasındaki fark alınır) gönderim 10/2 (değişken adres tablosuna girilen değişim değeri bölü tanımlanan değişkenin değişim miktarı) işleminden dolayı 5 sn sonra,
değişim miktarı 5 olduğunda gönderim 10/5 işleminden dolayı 2 sn sonra,
değişim miktarı 15 olduğunda, değişken adres tablosuna girilen değişim miktarından büyük olmasından dolayı hemen tetiklenecektir.
RTU cihazı, değişimde gönder tanımlı olan ve değişim tespit edilmiş durumları olay olarak etiketler ve olaya zaman etiketi atar. Etiketlenmiş bir olay olması durumunda eğer sunucu ile bağlantı var ise ilgili nesne COT 0x03 Spontaneous olarak anında iletilir.
Eğer sunucu ile bağlantı yok ise, cihaz olay kayıt hafızasına ekler ve tekrar sunucu bağlantısı kurulunca göndermek üzere saklanır. Saklama işlemi için IEC104 Köle bloğunun özel ayarlarından log-kayıt belleğine ekle seçeneği seçili olmalıdır.
Not: Bağlantı kurulduğunda tüm etiketlerin sunucuya gönderilmesi isteniyorsa IEC104 Köle bloğunun özel ayarlarından DevNET ile senkronla seçeneği seçili olmalıdır.
Not: IEC104 nesneleri arasında periyodik gönderim aktif seçilen nesnelerin değerleri olay (event) olarak algılanmaz. Yani periyodik gönderimler bağlantı yokken log kayıt belleğine eklenmez.
IEC104 Redundancy Grup Özelliği
Not: Telediagram versiyon 18 ve öncesi için aşağıda anlatılan ayarlar geçerlidir.
Versiyon 18 ve sonrası için Mikroterminal üzerinden yapılan ayarlamalar, IEC104 Köle Bloğunun özel ayarlarından yapılmaktadır.
Mikrodev RTU IEC104 Slave olarak IEC104 Master ile bağlantı kurabilir. Bu bağlanacak Master IP’lerin sayısının AT komutu ile veya IEC104 Köle bloğu üzerinden cihaza tanımlanması gerekir.
Telediagram versiyon 18 öncesi için;
AT+OPTIONS=7,< BAGLANACAK MASTER IP SAYISI > komutu gönderilir.
Örneğin Edaşta iki farklı sunucu IP’ si varsa bu komut şu şekilde olur,
AT+OPTIONS=7,2
AT+OPTIONS=7,2 Write Commad OPTIONS=OK
AT+OPTIONS=7,? Read Command OPTIONS=2
Bu parametre girildikten sonra cihaza reset atılmalıdır. AT+RESET=1
Not: IEC104 Slave bloğunun bağlanacağı Master sayısı RTU serisi cihazlar için maksimum 2, DM serisi cihazlar için maksimum 4’tür.
Telediagram versiyon 18 ve sonrası için Redundancy grup tanımlaması için Blok Özel Ayarları kısmına bakınız.
Log Kayıt Belleğinde Tutulan Analog Eşik Değerini Düzenleme Özelliği
Bağlantı yok iken log kayıt belleğinde tutulan analog değerlerinin eşik değerleri üzerinde değişiklik yapılabilmektedir.
Mikroterminal uygulaması açılır, özel komut satırından gönderilecek AT+OPTION=8,< ANALOG EVENT ÇARPANI > komut satırında yer alan analog event çarpanı, bağlantı yok iken log kayıt tutulan analog değerlerin eşik değerleri üzerinde işlem yapmayı sağlar. Buraya yazılan değerler 0’dan farklı set edilirse, bağlantı yokken, event eşiği buradaki katsayı ile çarpılır.
Örneğin;
AT+OPTION=8,0 ise bağlantı yoksa, analog olaylar log kayıt belleğine eklenmez.
AT+OPTION=8,1 ise değişken tablosunda girilen değer kadar değişimde log kayıt belleğine kaydeder.
AT+OPTION=8,10 ise değişken tablosunda girilen değerin 10 kat daha büyük değişim de log kayıt belleğine kaydeder.
AT+OPTIONS=8,10 Write Command OPTIONS=OK
AT+OPTIONS=8,? Read Command OPTIONS=10
Bu parametre girildikten sonra cihaza reset atılmalıdır. AT+RESET=1
Not: Buraya girilen eşik değeri projede tanımlanan tüm IEC104 Slave ler için geçerlidir.
IEC104 Bağlantı Bilgisi Öğrenme Komutu
AT komutu ile IEC104 bağlantı bilgisi öğrenilebilir.
Telediagram versiyon 18 öncesi için;
Mikroterminal uygulaması açılır, özel komut girişinden
AT+COMSTATUS=iec104 komutu gönderilir.
IEC104 redundancy grup sayısı =2 seçili bağlantı yok iken komut sorgusu örneği;
AT+COMSTATUS=iec104
IEC104 CLIENT GROUP[0]:00000000
isDataTransStarted:0
NumofActiveConnections:0
MaxNumberOfEvents:256
RefInstance:200111b8
EventItems:1000c800
ObjMap:10005ab0
connection[0]:00000000
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
IEC104 CLIENT GROUP[1]:00000000
isDataTransStarted:0
NumofActiveConnections:0
MaxNumberOfEvents:256
RefInstance:200115f8
EventItems:1000dc00
ObjMap:100064f4
connection[0]:00000000
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
COMSTATUS=
IEC104 redundancy grup sayısı =2 seçili, tek bağlantı var iken komut sorgusu örneği;
AT+COMSTATUS=iec104
IEC104 CLIENT GROUP[0]:4d0aa8c0
isDataTransStarted:1
NumofActiveConnections:1
MaxNumberOfEvents:256
RefInstance:2000f4c8
EventItems:1000c800
ObjMap:1000518c
connection[0]:20010b30
DataTransStarted: 1
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
IEC104 CLIENT GROUP[1]:00000000
isDataTransStarted:0
NumofActiveConnections:0
MaxNumberOfEvents:256
RefInstance:2000f908
EventItems:1000dc00
ObjMap:100052ac
connection[0]:00000000
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
COMSTATUS=
AT+COMSTATUS=iec104 komutu gönderildiğinde ekranda oluşan çıktılardan
IEC104 CLIENT GROUP: O gruba ait IP adresini hex tabanında verir.
isDataTransStarted: O gruba ait Master IP’ye veri akışının olup olmadığını gösterir.
MaxNumberOfEvents: Bağlantı yok iken log kayıt belleğinde tutulan analog değerlerin sayısıdır. Grup sayısı arttıkça MaxNumberOfEvents değeri grup sayısına bölünür ve her grup için bu değeri alır.
IEC104 redundancy grup sayısı =1 seçili bağlantı var iken komut sorgusu örneği;
AT+COMSTATUS=iec104
IEC104 CLIENT GROUP[0]:220aa8c0
isDataTransStarted:1
NumofActiveConnections:1
MaxNumberOfEvents:512
RefInstance:20015e98
EventItems:1000c800
ObjMap:100068c8
connection[0]:20016fd8
DataTransStarted: 1
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
COMSTATUS=
IEC104 redundancy grup sayısı =2 seçili bağlantı var iken komut sorgusu örneği;
AT+COMSTATUS=iec104
IEC104 CLIENT GROUP[0]:220aa8c0
isDataTransStarted:1
NumofActiveConnections:1
MaxNumberOfEvents:256
RefInstance:200162a0
EventItems:1000c800
ObjMap:100068c8
connection[0]:20017858
DataTransStarted: 1
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
IEC104 CLIENT GROUP[1]:f00aa8c0
isDataTransStarted:1
NumofActiveConnections:1
MaxNumberOfEvents:256
RefInstance:200166e0
EventItems:1000dc00
ObjMap:10006918
connection[0]:20017d38
DataTransStarted: 1
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
COMSTATUS=
Telediagram versiyon 18 ve sonrası için;
Mikroterminal uygulaması açılır, özel komut girişinden
AT+COMSTATUS=iec104,< blok numarası > komutu gönderilir.
Komut satırında belirtilen blok numarası bağlantı bilgisi öğrenilmek istenen IEC104 Köle bloğunun blok numarasıdır.
IEC104 redundancy grup sayısı =2 seçili bağlantı yok iken komut sorgusu örneği;
AT+COMSTATUS=iec104,2
IEC104 CLIENT GROUP[0]:d20aa8c0
isDataTransStarted:0
NumofActiveConnections:0
MaxNumberOfEvents:85
RefInstance:200100d0
EventItems:1000c800
ObjMap:10005134
connection[0]:00000000
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
IEC104 CLIENT GROUP[1]:390aa8c0
isDataTransStarted:0
NumofActiveConnections:0
MaxNumberOfEvents:85
RefInstance:20010518
EventItems:1000cea4
ObjMap:1000518c
connection[0]:00000000
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
COMSTATUS=
IEC104 redundancy grup sayısı =2 seçili, tek bağlantı var iken komut sorgusu örneği;
AT+COMSTATUS=iec104,2
IEC104 CLIENT GROUP[0]:d20aa8c0
isDataTransStarted:1
NumofActiveConnections:1
MaxNumberOfEvents:85
RefInstance:200100d0
EventItems:1000c800
ObjMap:10005134
connection[0]:20012bc0
DataTransStarted: 1
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
IEC104 CLIENT GROUP[1]:390aa8c0
isDataTransStarted:0
NumofActiveConnections:0
MaxNumberOfEvents:85
RefInstance:20010518
EventItems:1000cea4
ObjMap:1000518c
connection[0]:00000000
connection[1]:00000000
connection[2]:00000000
connection[3]:00000000
connection[4]:00000000
COMSTATUS=
TCP Soket Bloğuna Bağlı IEC104 Master IP’lerini Öğrenme Komutu
AT komutu ile TCP Soket bloğuna bağlı olan IEC104 Master IP’leri öğrenilebilir.
Mikroterminal uygulaması açılır, özel komut girişinden veya Socket Status kısmında yer alan AT+STATUS= yazan komut satırından
AT+SOCKET=< TCP Soket Blok Numarası > komutu gönderilir

4 blok numarası olan TCP Soket bloğuna bağlı IEC104 Master IP Sorgu Örneği;
AT+SOCKET=4
Ip: 172.21.1.1, Port: 65063, Status: 2
Ip: 172.21.1.1, Port: 65514, Status: 3
Ip: 172.21.1.2, Port: 46076, Status: 2
Ip: 172.21.1.2, Port: 45799, Status: 2
AT+COMSTATUS=iec104
IEC104 CLIENT GROUP[0]:020115ac
isDataTransStarted:1
NumofActiveConnections:2
MaxNumberOfEvents:256
RefInstance:200110b0
EventItems:1000c800
ObjMap:10005ab0
connection[0]:20014b78
DataTransStarted: 1
connection[1]:00000000
connection[2]:20013430
DataTransStarted: 0
connection[3]:00000000
connection[4]:00000000
IEC104 CLIENT GROUP[1]:010115ac
isDataTransStarted:1
NumofActiveConnections:2
MaxNumberOfEvents:256
RefInstance:200114f0
EventItems:1000c900
ObjMap:100064f4
connection[0]:20013838
DataTransStarted: 0
connection[1]:00000000
connection[2]:20014770
DataTransStarted: 1
connection[3]:00000000
connection[4]:00000000
COMSTATUS=
DNP3 Slave Blok Tanımlamaları
Genel Bilgi
DNP3 protokolü bir dağıtık haberleşme protokolüdür. Başlıca üstünlüklerini şunlardır:
• Zaman etiketli değişken desteği
• Haberleşmenin olmadığı zamanda oluşan olayları zaman etiketleriyle bağlantı kurulunca tekrar gönderebilme özelliği
• SCADA nın sorgulama yapmasına gerek olmadan değişimleri otomatik gönderebilme özelliği.
• Değişkenleri tek tek değil, sınıf olarak çoklu sorgulayabilme özelliği
• Zaman senkronizasyon
DNP3 Slave Sürücüsü
Mikrodev RTU cihazları, DNP3 SLAVE modunu destekler ve DNP3 destekleyen Ünitelere sistemlerine TCP/IP ve/veya Seri port üzerinden hizmet verir. Aşağıdaki servisler desteklenir:
1- Class nesne sorgusu ile toplu nesne okunması
2- Object Static Variation ve Object Event Variation ekleme (belirlenen değişkenlerin nesne tiplerine göre)
3- Zaman senkronizasyonu
4- Yüzde ve Seviye olarak anlık ölçüm verilerinde olay denetimi
5- Olay verilerinin otomatik gönderimi
6- Data noktalarının periyodik gönderimi
DNP3 Slave Blok Tanımlamaları
Bağlantılar

Bağlantı Açıklamaları
Ser: TCP Soket Girişi
DNP3 protokolün çalışacağı TCP server soket bloğu bu girişten bağlantısı yapılır.
Trg: Tetik Girişi
Periyodik gönderim için tetik girişidir. Yükselen kenar olarak çalışır.
Asd: Asdu Address Girişi
ASDU adresi girişi olarak kullanılır.
#DNP30: Bağlantı Durum Bilgisi
Master ile slave arasındaki bağlantı durumunu kontrol etmek için kullanılır. DNP3 master ile bağlantı kurulduğunda 1 değerini verir.
Blok Özel Ayarları

Blok Açıklaması
Projeye DNP3 Slave blok ekleyerek, RTU üzerinde DNP3 protokolü aktif hale getirilir.
Ser Girişi:
DNP3 blok ser girişine TCP veya Seri port bloğu eklenir.
Not: Birden fazla master a hizmet vermek için her bir master için telediagram projesine DNP3 Slave blok eklenmesi gerekir.
Trg Girişi:
Tetiğin yükselen kenarında, DNP3 nesneleri arasında periyodik gönderim aktif seçilen nesneler, Periyodik COT ile mastera iletilir.
Bu giriş periyodik gönderim yapılmak istenmiyorsa boş bırakılabilir.
Asd Girişi:
DNP3 Asdu adresi, blok özel ayarları yerine dışarıdan ayarlanmak istenirse Asd girişi kullanılır.
#DNP30 Çıkışı:
Master ile slave arasındaki bağlantı durumunu kontrol etmek için kullanılır. DNP3 master ile bağlantı kurulduğunda 1 değerini verir.
RTU lojik projesine DNP3 Slave bloğu eklendiğinde, RTU üzerinde DNP3 protokolü aktif hale gelir. Bu protokolün RTU'daki değişkenlerle ilişkilendirilmesi, değişken adres tablosu aracılığıyla gerçekleştirilir. Bu tabloda tanımlanan değişkenler, master cihazı ile doğru iletişim kurulmasını sağlar.
Object 60 ve Object 80, DNP3 protokolünün kritik nesnelerindendir ve master ile iletişim kurulabilmesi için değişken adres tablosunda mutlaka tanımlanmalıdır:
• Object 60: Olay (event) ve statik verilerin sınıflandırılmasını ve talep edilmesini sağlar. Bu nesne, master cihazın belirli sınıflara (Class 0, Class 1, Class 2, Class 3) yönelik sorgular göndermesine ve yalnızca ilgili verilerin alınmasına olanak tanır.
• Object 80: Cihazın iç durumu ve teşhis bilgilerini izlemeye hizmet eder. Bu nesne, RTU'nun güncel ve iletişim durumu gibi bilgilerinin kontrol edilmesini sağlar. Object 60 ve Object 80 değişkenlerini tanımlamak için değişken adres tablosuna gidilir. Hat etiketi, başlangıç adresi gibi girdiler rastgele seçilebilir.
Not: Eğer DeviceObj (Nesne 60) ve ClassObj (Nesne 80) değişkenleri değişken adres tablosunda tanımlanmazsa, DNP3 Master ile Slave arasında haberleşme sağlanamaz.
DNP3 Değişken Adres Tablosu Tanımlamaları
Değişken Adres Tablosu
RTU lojik projesindeki değişkenlerin DNP3 protokolü ile ilişkilendirilmesi için değişken adres tablosu kullanılır.
Hat Etiketi Tanımlama
Telediagram projesine eklenen tüm bloklar için Hat Etiketi tanımlaması yapılabilir. Değişken adres tablosunda protokol adresleri ile ilişkilendirme yapabilmek için, ilgili blokların hat etiketi tanımlanmış olması gerekmektedir.
Hat Etiketi İlişkilendirme
Hat etiketleri ile protokol adreslerinin ilişkilendirilmesi, değişken adres tablosundaki “Ekle” butonuna basılarak çıkan menüden sağlanır.



DNP3 Nesne Sınıfları
DNP3 protokolündeki sınıf yapısı, verilerin öncelik ve kategorilere göre gruplandırılmasını sağlayarak iletişim etkinliğini artırır. Veriler, Sınıf 0, Sınıf 1, Sınıf 2 ve Sınıf 3 olmak üzere dört ana sınıfta toplanır ve bu sınıflar, değişken adres tablosunda belirtilen nesne sınıflarına göre tanımlanır.
Sınıf 0 (Class 0): Bu sınıf, statik (değişmeyen) veriler için ayrılmıştır. Statik veriler, bir cihazdaki verinin mevcut değerini yansıtır. Örneğin, bir sensörün o anki ölçüm değeri, bir anahtarın mevcut konumu gibi bilgiler Sınıf 0'da yer alır. Sınıf 0 verileri genellikle düşük önceliklidir ve master tarafından talep edildiğinde gönderilir. Sınıf 0’a atanmış noktalar olay (event) bildirmez. Bir cihazdaki tüm statik veri türlerini okumak, Sınıf 0'ı okumakla aynı anlama gelir.
Sınıf 1 (Class 1): Bu sınıf, yüksek öncelikli olay verileri için kullanılır. Bir olay (event), bir veri noktasındaki bir değişiklik veya başka bir tetikleyici sonucu ortaya çıkar. Sınıf 1 olayları, diğer sınıflara göre daha acil olarak kabul edilir. Genellikle, önemli durum değişiklikleri veya kritik alarmlar gibi yüksek öncelikli bilgiler bu sınıfa atanır. Örneğin, bir güvenlik sisteminde izinsiz giriş algılandığında bu olay Sınıf 1 olarak rapor edilebilir.
Sınıf 2 (Class 2): Bu sınıf, orta öncelikli olay verileri için kullanılır. Sınıf 2 olayları, Sınıf 1 olaylarından daha az acil, ancak Sınıf 3 olaylarından daha önceliklidir. Daha az kritik durum değişiklikleri veya olaylar bu sınıfa atanır. Örneğin, bir cihazdaki bir uyarı sinyali Sınıf 2 olarak rapor edilebilir.
Sınıf 3 (Class 3): Bu sınıf, düşük öncelikli olay verileri için kullanılır. Sınıf 3 olayları, diğer sınıflara göre daha düşük bir önceliğe sahiptir. Genellikle, rutin olaylar veya daha az acil durum değişiklikleri bu sınıfa atanır. Örneğin, bir cihazdaki bir ölçümün belirlenen aralığı aşması durumu Sınıf 3 olarak rapor edilebilir.
Not: Master cihazdan Unsolicited Enable sorgusu ile DNP3 verileri almak isteniyorsa, ilgili adreste mutlaka 0 değerinden farklı bir sınıf (class) tanımı bulunmalıdır. Sınıf (class) tanımı 0 olarak belirlenmiş adresler için unsolicited mesajlar gönderilemez. Bu nedenle, kritik veya olay bazlı verilerin doğru şekilde iletilmesi için değişkenlerin sınıf (class) yapıları dikkatlice tanımlanmalıdır.
DNP3 Nesne Tipleri
DNP3 slave cihazı, aşağıda belirtilen nesne tiplerindeki varyasyon 0 komutlarına, değişken adres tablosunda tanımlanan statik ve event varyasyonları ile yanıt verir. Bu nedenle varsayılan olarak atanmak istenen statik ve event varyasyonlar değişken adres tablosunda mutlaka tanımlanmalıdır.
Bu nesneler, değişim (event) olaylarının veya statik durumların sorgulanması ve iletilmesi için kullanılır.

Not: Binary Input Change ve Analog Input Change nesne tipleri, değişken adres tablosunda tanımlı değildir. Bunun yerine, değişim takibi için Binary Input ve Analog Input nesne tipleri kullanılır. Eğer bu nesnelerde "değişimde gönder" özelliği etkinleştirilmişse, bu değişkenlerde bir değişim meydana geldiğinde, DNP3 Slave cihazı, Master cihazın sorgusuna uygun şekilde (Binary Input Change veya Analog Input Change olarak) yanıt verir.
DNP3 Okuma Yönünde Nesne Tipleri
DNP3 protokolüne göre, master cihaz, slave cihaza 0 Varyasyon sorgusu gönderdiğinde, slave cihaz yalnızca değişken adres tablosunda tanımlı statik varyasyonlarla yanıt verir. Bunun yanı sıra, master tarafından bir değişken için örneğin varyasyon 1 ile sorgu gönderildiğinde, slave cihaz ilgili değişkenin farklı bir varyasyonla tanımlanmış olmasına bakmaksızın, varyasyon 1 ile yanıt verir.
Binary Input Değişkeninin Desteklediği Varyasyonlar

Binary Output Değişkeninin Desteklediği Varyasyonlar
Analog Input Değişkeninin Desteklediği Varyasyonlar


Analog Output Değişkeninin Desteklediği Varyasyonlar

Not: Değişkenlerin desteklediği varyasyonlar dışında herhangi bir varyasyon tanımlanmamalıdır. Slave cihaz, yalnızca burada belirtilen varyasyonları desteklemektedir. Bu nedenle, farklı varyasyonların kullanımı haberleşme hatalarına yol açabilir.
Not: 0. varyasyon, master cihaz slave cihaza varsayılan olarak tanımlanan varyasyonları sorgulamak için kullanır. Bu nedenle, slave cihazda 0. varyasyon tanımlanmamalıdır.
DNP3 Kontrol Yönünde Nesne Tipleri
Slave cihazda kontrol yönünde desteklenen nesne tipleri şu şekildedir:
Cihazda değişken adres tablosunda tanımlanan 2 farklı kontrol yönünden nesne tipi bulunmaktadır. Bunlar Control Relay (12) ve Control Analog (41) nesne tipleridir.
DNP3 Olay (Event) Mekanizması
DNP3 Nesneleri için Olay Tanımı
Binary Input Change ve Analog Input Change nesne tipleri, değişken adres tablosunda tanımlı değildir. Bunun yerine, değişim takibi için Binary Input ve Analog Input nesne tipleri kullanılır. Eğer bu nesneler "değişimde gönder" özelliği etkinleştirilmişse, bu değişkenlerde bir değişim meydana geldiğinde, DNP3 Slave cihazı, Master cihazın sorgusuna uygun şekilde yanıt verir.
Değişken adres tablosunda, DNP3 nesneleri için değişimde gönder seçimi mevcuttur. Bu menüde tanımlanan değişkenin değeri değişince yapılacak işlem seçilir.
Hiçbir Değişimde: Değer değişimi gönderimi tetiklemez.
Seviye Değişiminde: “Değişim Değeri” nde tanımlanan miktar kadar değişim olunca gönderim tetiklenir.
Yüzde Değişiminde: “Değişim Değeri” nde tanımlanan yüzde kadar değişim olunca gönderim tetiklenir.
İntegral Değişiminde: “Değişim Değeri” nde tanımlanan değer eklenen nesnenin birim zamanındaki değişimlerinin toplamını aşarsa gönderim tetiklenir.
Değişim Değeri “Gönderim Metodu” ile birlikte yüzde, seviye ve integral değişim değerini ayarlar.
Örneğin değişken adres tablosunda tanımlanan DNP3 nesnesinin gönderim metodu integral değişiminde seçilip, değişim miktarı 10 girildiğinde;
Tanımlanan değişkenin değişim miktarı 2 olduğunda (tanımlanan değişkenin son değeri ile bir önceki değeri arasındaki fark alınır) gönderim 10/2 (değişken adres tablosuna girilen değişim değeri bölü tanımlanan değişkenin değişim miktarı) işleminden dolayı 5 sn sonra,
değişim miktarı 5 olduğunda gönderim 10/5 işleminden dolayı 2 sn sonra,
değişim miktarı 15 olduğunda, değişken adres tablosuna girilen değişim miktarından büyük olmasından dolayı hemen tetiklenecektir.
DNP3 Olay (Event) Durumlarının Anlık İletimi
DNP3 Slave cihazı, "Değişimde Gönder" olarak tanımlanan durumları ve olay olarak algılanan değişiklikleri etiketler. Etiketlenmiş bir olay olduğunda:
Eğer slave ile master arasında bağlantı mevcutsa ve master cihaz unsolicited mesajlarını kabul edecek şekilde etkinleştirilmişse, ilgili nesne hemen unsolicited mesajı olarak iletilir.
Not: Unsolicited gönderimi, yalnızca master cihazın bu özelliği desteklemesi ve aktif olarak ayarlanmış olması durumunda gerçekleştirilir.
Not: Master cihazdan Unsolicited Enable sorgusu ile DNP3 verileri almak isteniyorsa, ilgili adreste mutlaka 0 değerinden farklı bir sınıf (class) tanımı bulunmalıdır. Sınıf (class) tanımı 0 olarak belirlenmiş adresler için unsolicited mesajlar gönderilemez.
DNP3 Master ile Bağlantı Yokken Olay (Event) Durumları
RTU cihazı, değişimde gönder tanımlı olan ve değişim tespit edilmiş durumları olay olarak etiketler. Bu veriler cihazda Sınıf (Class) verileri olarak saklanır. Bellekte saklanan bu sınıf (class) olay verileri, Class 1, Class 2 veya Class 3 veri okuma sorguları ile Master cihaz tarafından okunabilir. Eğer unsolisted gönderme etkinleştirilmişse, RTU cihazı bu verileri otomatik olarak mastera iletir.
Eğer slave ile master arasında bağlantı yok ise, rtu cihazı class verilerini olay kayıt hafızasına ekler ve tekrar bağlantı kurulduğunda göndermek üzere saklar.
Not: Saklama işlemi için DNP3 Slave bloğunun özel ayarlarından log-kayıt belleğine ekle seçeneği seçili olmalıdır.
Not: Bağlantı kurulduğunda log-kayıt belleğinde tutulan tüm class verilerinin mastera gönderilmesi isteniyorsa DNP3 Slave bloğunun özel ayarlarından DevNET ile senkronla seçeneği seçili olmalıdır.
Not: DNP3 nesneleri arasında periyodik gönderim aktif seçilen nesnelerin değerleri olay (event) olarak algılanmaz. Yani periyodik gönderimler bağlantı yokken log kayıt belleğine eklenmez.
DNP3 değişkenlerindeki eventlar aşağıdaki tabloda belirtilen DNP3 nesne tipleri aracılığıyla iletilir:

MQTT Kullanımı
Genel Bilgi
MQTT(Message Queuing Telemetry Transport) protokolü, internette yaygın olarak kullanılan makinalar arası (M2M) mesaj tabanlı bir protokoldür. Lightweight oluşu ve düşük kaynak tüketmesiyle Internet of Things(IoT) ekosisteminde benimsenmiştir. Hemen hemen tüm IoT bulut platformları akıllı nesnelerden veri gönderip almak için MQTT protokolünü desteklemektedir.
Blok Tanımlamaları
Mqtt Config Bloğu
MQTT ayarlarını yapılandırmak için öncelikle projenize Mqtt Config bloğunu eklemeniz gerekir.
Pin Açıklamaları;
• Soc: TCP Soket bloğu bağlantısı için kullanılır. Mqtt Config bloğu TCP Soket bloğu olmadan kullanılamaz.
• Trg: Periyodik data transferi yapılmak istenildiğinde, bu girişten mqtt config bloğuna tetik verilmelidir. Eğer bu giriş boş bırakılırsa veriler belirlenen diğer koşullara göre iletilir.
• Mqtt0: Bağlantı durumunu gösteren çıkış. Bu çıkıştan gelen bilgiler şu şekildedir;
- 0: TCP Bağlantısı Yok
- 1: TCP Bağlanıyor
- 2: MQTT Bağlanıyor
- 3: MQTT Bağlandı
• Sta: Haberleşme durumunu gösteren çıkış. Bu çıkıştan gelen bilgiler şu anlama gelir;
- 0: MQTT Bağlantı Paketi Gönderildi
- 1: MQTT Bekleme Durumu
- 2: MQTT Abone Olma durumu
- 3: MQTT Mesaj Yayınlama Durumu
• Pub: Publish zaman aşımını gösteren çıkış
Mqtt Config Bloğu Özel Ayarları;
Tanımlamalar;
• Client Id: Broker bağlantısı için cihaza el ile ID verilen alan.
• User Name: Broker bağlantısı için cihaza kullanıcı adı verilen alan.
• Password: Broker bağlantısı için cihaza girilen şifre alanı.
• Keep Alive: Broker ve Publisher arasındaki bağlantı kesilirse, yeniden bağlantı kurmadan önceki bekleme süresi.
• Clean Session: Seçilirse, cihaz ve broker arasında iletişim varsa mesajlar yayınlanır, seçilmezse iletişim kesintilerinde kaydedilen bilgiler gönderilmez.
• Use Device Serial as User Name: Seçilirse, cihazın seri numarası cihaz username’i olarak kullanılır.
• SSL Enabled: Bağlantıyı SSL ile yapmak için işaretlenir. (Sadece DM Serisinde aktif.)
TCP Soket Bloğu Bağlantısı
TCP Soket bloğunun çıkışı Mqtt Config bloğunun Soc girişine bağlanır.
TCP Soket bloğunun özel ayarları mqtt bağlantısı için şu şekilde yapılmalıdır;
• Soket tipi olarak TCP Client seçilmeli,
• Server IP kısmına bağlanılacak mqtt server IP’si girilmeli,
• Server Port Kısmına mqtt server port bilgisi girilmeli,
• Medya tipi ise kullanılan mikrodev cihazın özelliğine göre Ethernet, GSM veya WI-FI seçilebilir.
MQTT Tablosu
Mqtt ile ilgili tim ayarlamaların yapıldığı tabloya Projeler/MQTT Table sekmesinden ulaşılır.
Topics The Publish
Bu tabloda verileri brokera publish etmek için Publish topic girilir. Tabloda Add Topic butonuna basılarak çıkan ekrandan topic name girilir. Qos, Retain, Last Will, Payload ayarları, değişimde gönder ve periyodik gönder seçeneklerini aktif-pasif yapabileceğiniz blok tanımlamaları da bu sayfadan yapılır.
Tanımlamalar;
• Topic Name: Mesajları göndereceğiniz konu başlıklarının belirlendiği alan.
• QoS: Quality of Service (Hizmet Kalitesi), bir mesajın göndereni ile mesajın alıcısı arasındaki anlaşmayı ifade eder. QoS seviyeleri aşağıdaki gibidir;
o QoS 0: Minimum veri aktarımı sağlanır. Bu seviyede her mesaj bir subscriber’a iletilir ve mesajın ulaştığına dair onay alınmaz.
o QoS 1: Broker mesajı iletmeyi dener ve subscriber’dan onay yanıtı bekler, belirtilen bir zaman dilimi içinde onay alınmazsa mesaj tekrar gönderilir.
o QoS 2: Broker, subscriber’ın mesajı aldığından ve yalnızca bir kez aldığından emin olmak için iki onay alır.
• Retain: Bu seçenek işaretlenirse, eğer broker ile subscriber arasındaki bağlantı koparsa son değer hafızaya kaydedilir.
• Is Last Will Topic: Son istek konusu. Bir topic oluşturulur ve bu seçenek işaretlersenirse, cihazın broker ile bağlantısı koptuğunda bu topic altındaki mesajı subscriber’lara iletilir.
• Payload Type: Mesaj içeriğinin hangi formatta gönderileceği belirlenir. Subscriber bu bilgi ile gelen mesajları yorumlar. Gönderilen mesajlara zaman etiketi eklenmek isteniyorsa “MJson v1” seçilebilir.
• On Change Send Enable Block: Oluşturulan topic’in değişimde gönderme özelliğini aktif-pasif hale getirebilmek için diagramda eklenen blok seçimi.
• Periodic Send Enable Block: Oluşturulan topic’in periyodik gönderme özelliğini aktif-pasif hale getirebilmek için diagramda eklenen blok seçimi.
Publish Blocks for Topic
Bu tabloda ilgili Topic için Publish edilecek bloklar seçilir. Publish to topic tablosunda topic tıklandıktan sonra, Add Entry butonu aktif olur bu butona basılarak projede publish edilmek istenen blok seçilir. Gelen ekrandan Verinin nasıl iletileceği de seçilebilir.
Tanımlamalar;
• Select Block for Subscribe on Topic: Projenizdeki mesaj olarak göndermek istenilen bloğun seçildiği alan.
• Send On Change: Change: Değişimde gönderme seçim alanı
o On Level Change: Change Value’de belirtilen değer kadar değişim olduğunda gönder, eğer 0 yazılırsa her değişimde gönderilir.
o On Percent Change: Change Value’de belirtilen değer yüzdesi kadar değişim olduğunda gönder, örneğin %10.
• Change Value: Değişim miktarı girme alanı.
• Send Periodcally: İşaretlenirse mqtt config bloğunun trg girişine her tetik geldiğinde mesaj gönderilir.
• Select Block for Quality Value: MJson v1 payload tipinde mesaj içeriğine dahil edilen Quality değerinin seçildiği blok.
• Select Trigger Block: Mesajı değişim veya periyodik dışında burada belirteceğimiz bloktan tetik vererek de gönderebiliriz.
Not: Mesajlarda kullanılan bloklar; bloğun altındaki blok numarası (B:3006) ile gönderilip alınabileceği gibi hat etiketleri (word_publish_ch) ile de mesajlara eklenebilir. Bunun seçimi blok özelliklerindeki Mqtt Format sekmesi altında yapılır.
• View and Set seçilirse görünecek mesaj;
• No View seçilirse görünecek mesaj;
Subscribe to Topic
Bu tabloda brokerdan cihaza veri gönderilmek için ilgili subscribe topic girilir.
Tanımlamalar;
• Subscribe Topic Name: Subscribe olunacak topic adı girilir.
• QoS: Hizmet kalitesi seviyesi seçilir.
• Parse Format: Mesajların hangi formatla parse edileceği seçilir.
Subscribed Block Values for Topic
Bu ekrandan subscribe topic için ilişkilendirilecek bloklar eklenir. Hat etiketlerini kullanmak için yine ilgili bloğun özel ayarlarından mqtt formatı view and set olacak şekilde seçilmelidir.
ÖZEL UYGULAMALAR
Ubidots
Mikrodev PLC ubidots mqtt ile kullanılmak istenildiğinde, yukarıda anlatılan ayarlara ilaveten şu adımlar izlenmelidir;
Mqtt Config bloğu özel ayarlarından, Client Id kısmına Ubidots ID girilmeli ve Username kısmına Ubidots da oluşturulmuş cihazın Token Key girilmelidir.
Publish Topic: /v1.6/devices/<Device Name> olarak girilir. İlişkilendirilecek bloklar için ubidots hesabında değişken tanımlamaya gerek yoktur. İlk Gönderilen data ile değişkenler Ubidots tarafında otomatik oluşturulur. Veri blok numarasıyla veya hat etiketiyle Ubidots serverinde okunur.
Subscribe Topic: /v1.6/devices/<Device Name>/<Value Name> olarak girilir. Her subscribe edilecek veri için ayrı ayrı bağlık tanımlanması gerekir. Veriler Ubidots ortamında tanımlanmalıdır. Eğer Hat etiketi kullanılacaksa Ubidots da oluşturulan değişken hat etiketiyle aynı isimde olmalıdır, eğer hat etiketi kullanılmadan sadece blok numarası ile iletim yapılacaksa blok numarası ile aynı isimli değişken ubidots ortamında tanımlanmalıdır.
Örnek Uygulama
Topic Publish
GGenel Konfigürasyon;
Proje oluşturulduktan sonra şekildeki gibi diagram tasarımı yapılır, word ve analog yazmaçların mqtt formatları view and set seçilir.
Değişimde Gönderme;
Projects > MQTT Table > Topics to Publish > Add Topic sırasıyla takip edilir.
Topic ismi seçilip OnChange Send Enable Block için diagramda hazırladığımız High kapısını girilir ve add tıklanır.
Daha sonra bir alt tablodaki Publish Blocks for Topic kısmından Add Entry tıklanır.
Select Block for Subscribe on Topic kısmına mesaj olarak yayınlamak istediğiniz diagramdaki blok seçilir.
SendOn Change kısmında, On Level Change seçilir ve Change Value 0 olarak ayarlanır ki değer her değiştiğinde mesaj gönderebilsin. Add tıklanıp devam edilir.
Proje cihaza yüklenir ve online izleme açılır.
MQTTBox gibi bir programla açılan topic’e subscribe olunur, Mikrodiagramda online izlemede mqtt config blok değerinin 3 olduğu görüldükten sonra yazmacın değeri değiştirildiğinde değerin publish edildiğini görülür.
Periyodik Gönderme;
Değişimde gönderilen konfigürasyona ek olarak mqtt config bloğunun trg girişine real time pulse generator eklenir,
5snde bir periyodik olarak mesaj yayınlamak için real time pulse generator 5sn ayarlanır ve oluşturulan topic aşağıdaki gibi değiştirilir. OnChange Enable Block= NULL ve Periodic Send Enable Block diagramdaki High kapısı set edilir, Select Block for Subscribe on Topic kısmında ise SendOn Change= None seçilip Send Periodically tiklenir.
Proje tekrar cihaza yüklenir ve gelen mesajlar gözlenir.
Subscribe Topic
Genel Konfigürasyon;
Proje oluşturulduktan sonra şekildeki gibi diagram tasarımı yapılır, word ve analog yazmaçların ve röle çıkışının mqtt formatları view and set seçilir.
Projects > MQTT Table >Topics to Subscribe > Add Topic sırasıyla takip edilir.
Topic adı girilir ve Add tıklanır. Daha sonra bir alt tablodaki Publish Blocks for Topic kısmından add entry tıklanır.
Burada abone olunacak değerin hangi bloğa aktarılacağı seçilir.
Abone olacak bütün bloklar belirlendikten sonra proje cihaza yüklenir.
Yukarıdaki format ile test2 topicine mesaj publish edildiğinde değişkenlerin son durumu aşağıdaki gibi olur;
SSL İLE MQTT BAĞLANTISI KURMA
SSL (Secure Sockets Layer) ve TLS (Transport Layer Security) bir bilgisayar ağı veya bağlantısı üzerinden güvenli iletişim sağlayan protokollerdir. SSL/TLS; veri şifrelemeyi, veri bütünlüğünü ve kimlik doğrulamayı sağlar.
Mqtt Config Bloğunun blok özel ayarlarında yer alan “SSL Enabled” seçeneği; SSL Sertifikası ile güvenli bir şekilde MQTT bağlantısı kurulmasını sağlar. Bu özellik sadece DM serisi cihazlarda aktiftir.
Özelliğinin kullanılabilmesi için cihaza SSL Sertifikasının yüklenmesi ve Mqtt Config bloğunun “SSL Enabled” seçeneğinin işaretli olması gerekmektedir.
IEC61850 Kullanımı
Not: Bu doküman versiyon 19 ve 19 üzeri DM serisi Mikrodev cihazlarını kapsamaktadır. Versiyon 19 öncesi DM ve RTU serisi cihazlar için IEC 61850 Uygulama Notu Versiyon 1.0 dokümanına başvurulmalıdır.
IEC 61850, özellikle elektrik dağıtım sistemlerinde kullanılan bir haberleşme protokolüdür. Elektrik enerjisi altyapısındaki bileşenler arasında veri alışverişini standartlaştırmak ve kolaylaştırmak amacıyla geliştirilmiştir. Bu standart, transformatörler, kesiciler, koruma röleleri ve diğer elektrik şebekesi bileşenlerinin birbirleriyle güvenli ve hızlı bir şekilde iletişim kurmasını sağlar.
Mikrodev, IEC 61850 protokolünü birçok RTU (Remote Terminal Unit) ürününde desteklemektedir. Telediagram programlama editöründe bulunan IEC 61850 Browser aracı sayesinde gerekli konfigürasyon kolaylıkla yapılabilmektedir. Mikrodev RTU cihazı, Client olarak çalışarak IED’lerin (Intelligent Electronic Device) konfigürasyonunu sağlamak için ".scl" uzantılı dosyaları kullanır.
IEC 61850 Browser üzerinden üç farklı veri okuma yöntemi bulunmaktadır:
- Data Nesnesi Okuma
- Dataset Okuma
- Report Okuma
Bu seçenekler sayesinde hangi verilerin nasıl alınacağı belirlenir ve editördeki ilgili bloklarla ilişkilendirilmesi sağlanır. Yapılan ayarlar dışa aktarılarak, Telediagram programlama editöründe bulunan IEC 61850 Table Panel kısmına aktarılmalıdır. Bu panel üzerinden IED’lerin IP adresi, port bilgisi ve bağlantı komutları tanımlanarak haberleşme tamamlanır.
Data Nesnesi
Data Nesnesi Okuma
MDV61850 Browser üzerinden yeni bir proje oluşturmak için aşağıdaki adımları takip edebilirsiniz.
MDV61850 Browser'ı açmak için Telediagram programında Araçlar menüsüne girilir ve MDV61850 Browser seçeneğine tıklanır.
MDV61850 Browser açıldıktan sonra, Dosya menüsünden Yeni Proje seçeneğine tıklanır.
Açılan pencerede, röleden çekilen 61850 konfigürasyon (.cid, .icd, .scl) dosyası seçilir.
Proje için bir isim belirlenir ve kaydedileceği dosya yolu seçilir. Projeyi Oluştur butonuna tıklanarak yeni proje oluşturulur.
Yeni proje başarıyla oluşturulduğunda Info ekranında, röleden çekilen 61850 konfigürasyon dosyasına ait bilgiler görüntülenir. "Proje oluşturuldu" yazısı ekranda görünüyorsa, işlem başarılı şekilde tamamlanmış demektir.
Not: MDV61850 Browser ile ilgili detaylı bilgi için MDV61850 Browser Uygulama Notu dokümanına başvurabilirsiniz.
MDV61850 Browser'da okunmak istenen data nesneleri, sağ tarafta bulunan Data Nesneleri Listesi içinden çift tıklanarak seçilir. Seçilen data nesneleri, Data Nesne Tablosu içinde görüntülenir.
MMS_Type sütununda, seçilen verinin değişken tipi otomatik olarak güncellenir. Burada belirtilen veri tipine göre telediagram üzerinden blok atanmalıdır.
MDV61850 Browser’ın Connection bölümünde, röle ile RTU arasındaki bağlantıyı açıp kapatmak ve bağlantı durumunu takip etmek için aşağıdaki bloklar Telediagram üzerinden atanmalıdır:
- ConnectEnb Signal: Röle ile RTU arasındaki bağlantıyı kontrol etmek için kullanılan sinyaldir. Telediagram üzerinden ilişkilendirilecek bir blok seçilir.
Telediagram’da bu etikete tetik sinyali (1 değeri) uygulandığında, RTU röleye bağlanır ve haberleşme başlatılır.
Bağlantıyı kesmek için bu sinyal 0 yapılmalıdır. - DevStatus Signal: Bağlantı durumunu gösteren bir sinyaldir ve Telediagram üzerinden ilişkilendirilecek uygun bir blok ile atanmalıdır.
Bu sinyalin alabileceği değerler ve açıklamaları aşağıdaki gibidir:
0 CLOSED Bağlantı kapalı.
1 CONNECTING Bağlanıyor.
2 CONNECTED Bağlandı.
3 CLOSING Bağlantı kapatılıyor.
15 NAMEPLATE_SEND Nameplate bilgisi gönderiliyor.
16 NAMEPLATE_WAIT Nameplate bilgisi için bekleniyor.
17 NAMEPLATE_FAILED Nameplate bilgisi alınamadı (hata oluştu).
Not: CONNECTED (2) değeri alındığında, RTU ve röle arasındaki bağlantı başarılı bir şekilde sağlanmıştır.
CLOSED (0) veya CLOSING (3) değerleri alındığında, bağlantının kapalı veya kapanma aşamasında olduğu anlaşılır.
NAMEPLATE ile ilgili değerler (15-17), bağlantı sürecinde röle üzerindeki cihaz bilgileri alınırken kullanılır.
Read Trig Signal: Data nesnesini okumak için Telediagram’da ilişkilendirilecek tetik bloğu seçilir.
Write Trig Signal: Data nesnesine komut göndermek için Telediagram’da ilişkilendirilecek tetik bloğu seçilir.
Status Signal: Okuma veya yazma işlemlerinin durumunu takip etmek için kullanılır.
Telediagram üzerinden ilişkilendirilecek blok seçilir. Bu sinyalin alabileceği değerler ve açıklamaları aşağıdaki gibidir:
0: WAITING/FAIL, İstek yanıtı bekleniyor veya işlem başarısız oldu
1: OK, İstek başarıyla tamamlandı.
2: MISMATCH, Uyumsuzluk nedeniyle işlem başarısız oldu.
3: TIMEOUT, Zaman aşımı nedeniyle işlem başarısız oldu.
4: FAILED, Dahili hata nedeniyle işlem başarısız oldu.
100 ve üzeri: Kütüphane hatası nedeniyle işlem başarısız oldu. (Hata kodu: durum değeri + 100 olarak hesaplanabilir.)
Not: Status Signal değeri "1" (OK) olduğunda, okuma veya yazma işlemi başarıyla tamamlanmıştır. Değer "0" (WAITING/FAIL) olduğunda, işlem başarısız olmuş veya yanıt beklenmektedir.
Not: Status Signal 100 ve üzeri değer olduğunda hata kodu için CtrlErrCode Signal yazan değer kontrol edilmelidir.
CtrlErrCode da yazan Kütüphane Hataları ve açıklamaları aşağıdaki gibidir. Burada yazan hata kodlarına +100 değeri eklenerek bakılmalıdır. Örneğin IED_ERROR_NOT_CONNECTED kodu için okunacak değer 100+1 den 101 değeridir.
0 IED_ERROR_OK Hata yok, servis isteği başarıyla tamamlandı.
1 IED_ERROR_NOT_CONNECTED İstemci bağlı değil, servis isteği gerçekleştirilemiyor.
2 IED_ERROR_ALREADY_CONNECTED Bağlantı isteği başarısız, çünkü istemci zaten bağlı.
3 IED_ERROR_CONNECTION_LOST Bağlantı kaybedildi, servis isteği gerçekleştirilemiyor.
4 IED_ERROR_SERVICE_NOT_SUPPORTED İstemci veya sunucu tarafından desteklenmeyen servis veya parametre kullanılıyor.
5 IED_ERROR_CONNECTION_REJECTED Sunucu bağlantı isteğini reddetti.
6 IED_ERROR_OUTSTANDING_CALL_LIMIT_REACHED Maksimum eşzamanlı çağrı limiti aşıldı, yeni istek gönderilemiyor.
10 IED_ERROR_USER_PROVIDED_INVALID_ARGUMENT API fonksiyonuna geçersiz bir argüman ile çağrı yapıldı.
11 IED_ERROR_ENABLE_REPORT_FAILED_DATASET_MISMATCH Rapor etkinleştirme başarısız oldu, dataset uyuşmazlığı var.
12 IED_ERROR_OBJECT_REFERENCE_INVALID Nesne referansı geçersiz
13 IED_ERROR_UNEXPECTED_VALUE_RECEIVED Beklenmeyen tipte nesne alındı.
20 IED_ERROR_TIMEOUT Sunucu ile iletişim başarısız oldu, zaman aşımı meydana geldi.
21 IED_ERROR_ACCESS_DENIED Sunucu, nesneye veya servise erişimi reddetti.
22 IED_ERROR_OBJECT_DOES_NOT_EXIST Sunucu, talep edilen nesnenin mevcut olmadığını bildirdi.
23 IED_ERROR_OBJECT_EXISTS Sunucu, talep edilen nesnenin zaten mevcut olduğunu bildirdi.
24 IED_ERROR_OBJECT_ACCESS_UNSUPPORTED Sunucu, talep edilen erişim yöntemini desteklemiyor.
25 IED_ERROR_TYPE_INCONSISTENT Sunucu, talep edilen nesnenin beklenen tipte olmadığını bildirdi.
26 IED_ERROR_TEMPORARILY_UNAVAILABLE Nesne veya servis geçici olarak kullanılamaz.
27 IED_ERROR_OBJECT_UNDEFINED Talep edilen nesne sunucuda tanımlanmamış.
28 IED_ERROR_INVALID_ADDRESS Geçersiz adres hatası.
29 IED_ERROR_HARDWARE_FAULT Donanım hatası nedeniyle servis başarısız oldu.
30 IED_ERROR_TYPE_UNSUPPORTED Sunucu, talep edilen veri türünü desteklemiyor.
31 IED_ERROR_OBJECT_ATTRIBUTE_INCONSISTENT Sunucu, sağlanan nesne özelliklerinin tutarsız olduğunu bildirdi.
32 IED_ERROR_OBJECT_VALUE_INVALID Sunucu, sağlanan nesne değerinin geçersiz olduğunu bildirdi.
33 IED_ERROR_OBJECT_INVALIDATED Nesne geçersiz hale getirildi.
34 IED_ERROR_MALFORMED_MESSAGE Sunucudan alınan mesaj geçersiz biçimde.
98 IED_ERROR_SERVICE_NOT_IMPLEMENTED Servis sunucu tarafından uygulanmamış.
99 IED_ERROR_UNKNOWN Bilinmeyen hata oluştu.
- MMS_Type: Değişken tipi. Bu kısım projede seçilen data nesnesine göre otomatik güncellenir. Telediagramda ilişkilendirilecek blokların değişken tipi, burada belirlenen MMS tipine göre atanır.


Data Nesnesi Okuma Uygulama Örneği
Telediagram uygulaması açılır ve yeni bir proje oluşturulur.
MDV61850 Browser’de tanımlanan sinyaller, Telediagram’da uygun register tipleriyle ilişkilendirilir. Burada anlatılan örnekte aşağıda belirtilen registerlar kullanılmıştır:
- ConnectEnb Signal → Binary Register
- DevStatus Signal → Word Register
- Read Trig Signal, Write Trig Signal, Status Signal → Word Register
- Data Signal → Long Register (MMS Type kısmında yazan değişkene göre data signal kısmına telediagramdan blok eklenir.)
Telediagram'da tanımlanan bloklar, blok özellik tablosundan CSV formatına aktarılır.
MDV61850 Browser açılır ve RTU/PLC Integration bölümüne girilir.
Telediagram'dan alınan CSV dosyası içe aktarılır.
İçe aktarım tamamlandığında, bilgi ekranında bloklarla ilgili özellikler görüntülenir. Sağ ekranda bloklarla ilgili ayrıntılı bilgiler listelenir.
MDV61850 Browser içinde, etiketlerle eşleştirme işlemi aşağıdaki adımlarla gerçekleştirilir:
- Etiket eşleştirilmek istenen ilgili bölüme çift tıklanır.
- Açılan Etiket Listesi penceresinde, ilgili kısımla eşleştirilecek etiketler görüntülenir.
- Uygun etiket seçilerek ilgili kısımla eşleştirilir.
MDV61850 Browser’da eşleştirme işlemi tamamlandıktan sonra, yapılan konfigürasyon Excel formatına aktarılabilir. Dosya menüsünden veya dosya kısayolları üzerinden "Excele Aktar" seçeneği seçilir.
Açılan pencerede, Excel dosyasının kaydedileceği dosya yolu seçilir ve Kaydet butonuna tıklanır.
Telediagram’da IEC 61850 tablosu açılır ve MDV61850 Browser’dan alınan Excel dosyası tablonun altında yer alan import tables (append) from excel seçeneğinden içe aktarılır.
Not: Eğer önceden hazırlanmış bir IEC 61850 projesi varsa ve MDV61850 Browser üzerinden değişiklik yapıldıysa, sadece ilgili değişikliklerin tabloya eklenmesi için "Import Tables (Replace) from Excel" seçeneği kullanılır.
Excel dosyası içe aktarıldığında, IEC 61850 Tablosunda Browser’dan seçilen blokların otomatik olarak geldiği görülür.
Bu adımlar tamamlandığında, röle ile RTU arasındaki haberleşme için gerekli konfigürasyon tamamlanmış olur.
Son olarak, Telediagram’da yapılan RTU projesi cihaza yüklenir ve sistem çalışmaya hazır hale gelir.
MDV61850 Browser ve Telediagram ile yapılan konfigürasyon tamamlandıktan sonra, RTU ile röle arasındaki haberleşmenin başarılı olup olmadığını test etmek için aşağıdaki adımlar uygulanır:
- Telediagram üzerinden RTU cihazına bağlanılır ve online izleme açılır.
- RTU ile röle arasındaki haberleşmeyi başlatmak için ConnectEnb bloğuna 1 değeri gönderilir. RTU ve röle arasındaki haberleşme durumunu kontrol etmek için Dev Status bloğu takip edilir. Dev Status bloğunda "2" değeri görünüyorsa, haberleşme başarılı şekilde sağlanmıştır.
Data nesne değerini okumak için Read Trig bloğuna tetik gönderilir. Data Signal bloğundan, data nesne değeri okunur. Status bloğundan ise data nesne değerinin başarılı şekilde alınıp alınmadığı kontrol edilir.
Data Nesnesine Komut Gönderme
Telediagram araçlar altından MDV61850 Browser uygulaması açılır ve açılan Browser da önceden hazırlanan proje dosyası seçilir.
MDV61850 Browser'da komut gönderilmek istenen data nesneleri, sağ tarafta bulunan Data Nesneleri Listesi içinden çift tıklanarak seçilir. Seçilen nesneler, sağ tarafta bulunan Data Nesneleri Tablosu içinde görüntülenir.
Not: Sadece fonksiyon kodu CO olan data nesnelerine komut gönderimi yapılmaktadır.
Telediagram araçlar altından MDV61850 Browser uygulaması açılır ve açılan Browser da yeni bir proje oluşturulur veya önceden hazırlanan proje dosyası seçilir.
MDV61850 Browser'da data nesnesine komut göndermek için, sağ tarafta bulunan Data Nesneleri Listesinde yer alan fonksiyon kodu CO olan data nesnesine çift tıklanır. Bu işlem, ilgili nesneyi Data Nesneleri Tablosu’na ekleyecektir.
MDV61850 Browser’ın Connection bölümünde, röle ile RTU arasındaki bağlantıyı açıp kapatmak ve bağlantı durumunu takip etmek için aşağıdaki bloklar Telediagram üzerinden atanmalıdır:
ConnectEnb Signal: Röle ile bağlantıyı açıp kapatmak için (Data Nesnesi Okuma kısmında detaylı anlatılmıştır.)
DevStatus Signal: Bağlantı durumunu takip etmek için (Data Nesnesi Okuma kısmında detaylı anlatılmıştır.)
Write Trig Signal: Data nesnesine komut göndermek için tetik girişi
Status Signal: Data nesnesine komut gönderme durumunu takip etmek için (Data Nesnesi Okuma kısmında detaylı anlatılmıştır.)
CltModel: Kontrol modunu belirten parametredir ve aşağıdaki kontrol modlarından biri seçilebilir:
DO (Direct-Operate): Normal güvenlik önlemleriyle doğrudan kontrol sağlar.
SBO (Select-Before-Operate): Normal güvenlik önlemleriyle seç & çalıştır mantığıyla kontrol sağlar.
DOes (Direct-Operate with Enhanced Security): Gelişmiş güvenlik önlemleriyle doğrudan kontrol sağlar.
SBOes (Select-Before-Operate with Enhanced Security): Gelişmiş güvenlik önlemleriyle seç & çalıştır mantığıyla kontrol sağlar.
Data Signal: Röle üzerindeki ilgili data nesnesinin değeri bu blok üzerinden okunur. Telediagram üzerinden ilişkilendirilecek blok seçilir.
Enh CtrlCmdTerm Signal: Gelişmiş kontrol komutlarının sonlandırılmasını sağlamak için kullanılır. Komut işlemi tamamlandığında, bu sinyal devreye girer. Eğer kontrol komutu başarısız olursa, hata kodları CtrlErrCode Signal üzerinden takip edilebilir.
CtrlErrCode Signal: Kontrol komutlarının başarısız olması durumunda döndürülen hata nedenlerini açıklar. Telediagram üzerinden ilişkilendirilecek blok seçilir. Bu sinyalin alabileceği değerler ve açıklamaları aşağıdaki gibidir:
0 ADD_CAUSE_UNKNOWN Bilinmeyen hata.
1 ADD_CAUSE_NOT_SUPPORTED Desteklenmeyen işlem.
2 ADD_CAUSE_BLOCKED_BY_SWITCHING_HIERARCHY Anahtarlama hiyerarşisi tarafından engellendi.
3 ADD_CAUSE_SELECT_FAILED Seçim başarısız oldu.
4 ADD_CAUSE_INVALID_POSITION Geçersiz pozisyon.
5 ADD_CAUSE_POSITION_REACHED Pozisyon zaten ulaşılmış durumda.
6 ADD_CAUSE_PARAMETER_CHANGE_IN_EXECUTION Parametre değişikliği yürütme sırasında gerçekleşti.
7 ADD_CAUSE_STEP_LIMIT Adım sınırına ulaşıldı.
8 ADD_CAUSE_BLOCKED_BY_MODE Mod tarafından engellendi.
9 ADD_CAUSE_BLOCKED_BY_PROCESS Süreç tarafından engellendi.
10 ADD_CAUSE_BLOCKED_BY_INTERLOCKING Kilitleme mekanizması tarafından engellendi.
11 ADD_CAUSE_BLOCKED_BY_SYNCHROCHECK Senkron kontrolü tarafından engellendi.
12 ADD_CAUSE_COMMAND_ALREADY_IN_EXECUTION Komut zaten yürütülüyor.
13 ADD_CAUSE_BLOCKED_BY_HEALTH Sağlık durumu nedeniyle engellendi.
14 ADD_CAUSE_1_OF_N_CONTROL 1/N kontrol mekanizması nedeniyle engellendi.
15 ADD_CAUSE_ABORTION_BY_CANCEL İşlem iptal edildi.
16 ADD_CAUSE_TIME_LIMIT_OVER Zaman sınırı aşıldı.
17 ADD_CAUSE_ABORTION_BY_TRIP Trip nedeniyle işlem iptal edildi.
18 ADD_CAUSE_OBJECT_NOT_SELECTED Nesne seçilmedi.
19 ADD_CAUSE_OBJECT_ALREADY_SELECTED Nesne zaten seçili durumda.
20 ADD_CAUSE_NO_ACCESS_AUTHORITY Yetkisiz erişim.
21 ADD_CAUSE_ENDED_WITH_OVERSHOOT Fazla hareket nedeniyle işlem tamamlandı.
22 ADD_CAUSE_ABORTION_DUE_TO_DEVIATION Sapma nedeniyle işlem iptal edildi.
23 ADD_CAUSE_ABORTION_BY_COMMUNICATION_LOSS İletişim kaybı nedeniyle işlem iptal edildi.
24 ADD_CAUSE_ABORTION_BY_COMMAND Komut tarafından işlem iptal edildi.
25 ADD_CAUSE_NONE Hata yok.
26 ADD_CAUSE_INCONSISTENT_PARAMETERS Tutarsız parametreler nedeniyle işlem başarısız oldu.
27 ADD_CAUSE_LOCKED_BY_OTHER_CLIENT Başka bir istemci tarafından kilitlendi.
Özel 61850 Hata Kodları
100 E_61850CONTROL_ERROR_MODELMISMATCH Model uyuşmazlığı hatası.
101 E_61850CONTROL_ERROR_INITIALIZATION Başlatma hatası.
102 E_61850CONTROL_ERROR_TIMEOUT Zaman aşımı hatası.
Selection Type: Kontrol işlemlerinde kullanılacak seçim yöntemini belirtir.
With Value:Seçim işlemi sırasında hedef nesneye bir değer atanarak çalıştırılır.
Without Value: Seçim işlemi sadece nesne belirleyerek yapılır, değer belirleme sonraki adımda gerçekleştirilir.
Select-Before-Operate (SBO) mekanizmasının nasıl uygulanacağını tanımlar.Command Type Signal: IEC 61850 kontrol komutlarının türünü belirlemek için kullanılan bir sinyaldir. Bu sinyal, RTU veya SCADA sisteminin bir kontrol komutunu nasıl göndereceğini belirlemesini sağlar.
Data Nesnesine Komut Gönderme Uygulama Örneği
Telediagram uygulaması açılır ve yeni bir proje oluşturulur.
MDV61850 Browser’de tanımlanan sinyaller, Telediagram’da uygun register tipleriyle ilişkilendirilir. Burada anlatılan örnekte aşağıdaki değişkenler seçilmiştir:
- ConnectEnb Signal, Write Trig Signal → Binary Register
- Status Signal, Data Signal, → Word Register (Data Signal MMS Type kısmında yazan değişkene göre data signal kısmına telediagramdan blok eklenir.)
- CltModel: DO seçilir.
- Selection Type: Without Value seçilir.
Telediagram'da tanımlanan bloklar, blok özellik tablosundan CSV formatına aktarılır.
MDV61850 Browser açılır ve RTU/PLC Integration bölümüne girilir. Telediagram'dan alınan CSV dosyası içe aktarılır.
İçe aktarım tamamlandığında, bilgi ekranında bloklarla ilgili özellikler görüntülenir. Sağ ekranda bloklarla ilgili ayrıntılı bilgiler listelenir.
MDV61850 Browser içinde, etiketlerle eşleştirme işlemi aşağıdaki adımlarla gerçekleştirilir:
- Etiket eşleştirilmek istenen ilgili bölüme çift tıklanır.
- Açılan Etiket Listesi penceresinde, ilgili kısımla eşleştirilecek etiketler görüntülenir.
- Uygun etiket seçilerek ilgili kısımla eşleştirilir.
MDV61850 Browser’da eşleştirme işlemi tamamlandıktan sonra, yapılan konfigürasyon Excel formatına aktarılabilir. Dosya menüsünden "Excele Aktar" seçeneği seçilir.
Açılan pencerede, Excel dosyasının kaydedileceği dosya yolu seçilir ve Kaydet butonuna tıklanır.
Telediagram’da IEC 61850 tablosu açılır ve MDV61850 Browser’dan alınan Excel dosyası tablonun altında yer alan import tables (append) from excel seçeneğinden içe aktarılır.
Excel dosyası içe aktarıldığında, IEC 61850 Tablosunda Browser’dan seçilen blokların otomatik olarak geldiği görülür.
Bu adımlar tamamlandığında, röle ile RTU arasındaki haberleşme için gerekli konfigürasyon tamamlanmış olur.
Son olarak, Telediagram’da yapılan RTU projesi cihaza yüklenir ve sistem çalışmaya hazır hale gelir.
Telediagram üzerinden RTU cihazına bağlanılır ve online izleme açılır.
RTU ile röle arasındaki haberleşmeyi başlatmak için ConnectEnb bloğuna 1 değeri gönderilir. RTU ve röle arasındaki haberleşme durumunu kontrol etmek için Dev Status bloğu takip edilir. Dev Status bloğunda "2" değeri görünüyorsa, haberleşme başarılı şekilde sağlanmıştır.
Data nesnesine komut göndermek için Data Signal ile ilişkilendirilen bloğa değer girilir ve write trig bloğundan tetik gönderilir. Control Status ve Control Error bloğundan ise data nesnesine komut gönderimin başarılı olup olmadığı kontrol edilir.
Data Set
Telediagram araçlar altından MDV61850 Browser uygulaması açılır ve açılan Browser da yeni bir proje oluşturulur veya önceden hazırlanan proje dosyası seçilir.
MDV61850 Browser'da okunmak istenen data setler, sağ tarafta bulunan Data Sets Listesi içinden çift tıklanarak seçilir. Seçilen data setler, Data Setler Tablosu içinde görüntülenir.
Not: Data set okuma işleminin, data nesnesi okuma işleminden farkı; her bir data attribute için ayrı ayrı status signal, trig signal, rx time signal, rx count signal ve data set from report flag signal tanımlamaya gerek olmamasıdır.
MDV61850 Browser’ın Connection bölümünde, röle ile RTU arasındaki bağlantıyı açıp kapatmak ve bağlantı durumunu takip etmek için aşağıdaki bloklar Telediagram üzerinden atanmalıdır:
ConnectEnb Signal: Röle ile bağlantıyı açıp kapatmak için (Data Nesnesi Okuma başlığında detaylı anlatılmıştır.)
DevStatus Signal: Bağlantı durumunu takip etmek için (Data Nesnesi Okuma başlığında detaylı anlatılmıştır.)
Status Signal: Okuma işleminin durumunu takip etmek için kullanılır. Telediagram üzerinden ilişkilendirilecek blok seçilir. Bu sinyalin alabileceği değerler ve açıklamaları aşağıdaki gibidir:
0: WAITING/FAIL, İstek yanıtı bekleniyor veya işlem başarısız oldu
1: OK, İstek başarıyla tamamlandı.
2: MISMATCH, Uyumsuzluk nedeniyle işlem başarısız oldu.
3: TIMEOUT, Zaman aşımı nedeniyle işlem başarısız oldu.
4: FAILED, Dahili hata nedeniyle işlem başarısız oldu.
100 ve üzeri: Kütüphane hatası nedeniyle işlem başarısız oldu. (Hata kodu: durum değeri – 100 olarak hesaplanabilir.)
Trig Signal: Data setleri okumak için Telediagram’da ilişkilendirilecek tetik bloğu seçilir.
RxTime Signal: Veri alım zamanını göstermek için kullanılır.
RxCount Signal: Data set alım sayısını takip etmek için kullanılır.
Result Signal: Röle üzerindeki ilgili data sets değeri bu blok üzerinden okunur. Telediagram üzerinden ilişkilendirilecek blok seçilir.
MMS Type: Değişken tipi. Bu kısım projede seçilen data nesnesine göre otomatik güncellenir. (Data Nesnesi Okuma başlığında detaylı anlatılmıştır.)
DataSetFrom Report: Data setin raporlama mekanizması üzerinden alınıp alınmadığını göstermek için kullanılır.
Data Set Uygulama Örneği
Telediagram uygulaması açılır ve yeni bir proje oluşturulur.
MDV61850 Browser’de tanımlanan sinyaller, Telediagram’da uygun register tipleriyle ilişkilendirilir. Burada anlatılan örnekte aşağıdaki değişkenler seçilmiştir:
- ConnectEnb Signal → Binary Register
- DevStatus Signal → Word Register
- Status Signal, Trig Signal, Data Set From Report→ Word Register
- RxTime Signal, RxCount Signal → Long Register
- Result Signal → Long Register (MMS Type kısmında yazan değişkene göre data signal kısmına telediagramdan blok eklenir.)
Telediagram'da tanımlanan bloklar, blok özellik tablosundan CSV formatına aktarılır.
MDV61850 Browser açılır ve RTU/PLC Integration bölümüne girilir. Telediagram'dan alınan CSV dosyası içe aktarılır.
İçe aktarım tamamlandığında, bilgi ekranında bloklarla ilgili özellikler görüntülenir. Sağ ekranda bloklarla ilgili ayrıntılı bilgiler listelenir.
MDV61850 Browser içinde, etiketlerle eşleştirme işlemi aşağıdaki adımlarla gerçekleştirilir:
- Etiket eşleştirilmek istenen ilgili bölüme çift tıklanır.
- Açılan Etiket Listesi penceresinde, ilgili kısımla eşleştirilecek etiketler görüntülenir.
- Uygun etiket seçilerek ilgili kısımla eşleştirilir.
MDV61850 Browser’da eşleştirme işlemi tamamlandıktan sonra, yapılan konfigürasyon Excel formatına aktarılabilir. Dosya menüsünden "Excele Aktar" seçeneği seçilir.
Açılan pencerede, Excel dosyasının kaydedileceği dosya yolu seçilir ve Kaydet butonuna tıklanır.
Telediagram’da IEC 61850 tablosu açılır ve MDV61850 Browser’dan alınan Excel dosyası tablonun altında yer alan import tables (append) from excel seçeneğinden içe aktarılır.
Excel dosyası içe aktarıldığında, IEC 61850 Tablosunda Browser’dan seçilen blokların otomatik olarak geldiği görülür.
Bu adımlar tamamlandığında, röle ile RTU arasındaki haberleşme için gerekli konfigürasyon tamamlanmış olur.
Son olarak, Telediagram’da yapılan RTU projesi cihaza yüklenir ve sistem çalışmaya hazır hale gelir.
MDV61850 Browser ve Telediagram ile yapılan konfigürasyon tamamlandıktan sonra, RTU ile röle arasındaki haberleşmenin başarılı olup olmadığını test etmek için aşağıdaki adımlar uygulanır:
- Telediagram üzerinden RTU cihazına bağlanılır ve online izleme açılır.
- RTU ile röle arasındaki haberleşmeyi başlatmak için ConnectEnb bloğuna 1 değeri gönderilir. RTU ve röle arasındaki haberleşme durumunu kontrol etmek için Dev Status bloğu takip edilir. Dev Status bloğunda "2" değeri görünüyorsa, haberleşme başarılı şekilde sağlanmıştır.
- Data set değerini okumak için Trig bloğuna tetik gönderilir. Result Signal bloğundan, data set değeri okunur. Status bloğundan ise data set değerinin başarılı şekilde alınıp alınmadığı kontrol edilir.
Rapor Okuma
IEC 61850 protokolünde raporlar, data setleri tetik vermeden okumak için kullanılır.
Not: Raporları başarılı şekilde okuyabilmek için MDV61850 Browser’da hem data set hem de ilgili raporların seçilmesi gerekmektedir.
Telediagram araçlar altından MDV61850 Browser uygulaması açılır ve açılan Browser da yeni bir proje oluşturulur veya önceden hazırlanan proje dosyası seçilir.
Sol altta Reports bölümünde oluşturulan raporlar listelenir. Okunmak istenen rapor, çift tıklanarak sağ taraftaki Reports tablosuna eklenir. Reports tablosuna eklenen raporun DatasetRefPath ile Data Set Tablosuna eklenen dataset adının aynı olduğundan emin olunmalıdır.
Report Ref Path: Seçilen raporun dosya uzantısıdır.
Data Set Ref Path: İlgili raporun bağlı olduğu data set dosya uzantısıdır.
Trigger Type: Raporun hangi tetikleme koşullarında çalışacağını belirler. Trigger Type sütununa çift tıklanıldığında Şekil 45 de yer alan pop up ekranı açılmaktadır.
- TRG_OPT_DATA_CHANGED: Veri değişiminde gönder.
- TRG_OPT_QUALITY_CHANGED: Quality değişiminde gönder.
- TRG_OPT_DATA_UPDATE: Veri güncellendiğinde gönder.
- TRG_OPT_INTEGRITY: Periyodik olarak gönder.
- TRG_OPT_GI: Genel sorgu isteği geldiğinde gönder.
- Not: Aşağıdaki tablo, IEC 61850 protokolündeki Quality (Kalite) değerlerinin MDV61850 Browser içindeki RTU (Client) sistemine nasıl eşlendiğini gösterir. RTU sisteminde her kalite durumu belirli bir tam sayı değeri ile ifade edilir.

IsIndexed: Raporların indeksli olup olmadığını belirler.
- Indexed raporlar (Buffered Reports – BRCB), geçmiş olayları saklar ve belirli bir sıra ile işler.
- Unindexed raporlar (Unbuffered Reports – URCB), olayları sadece anlık olarak iletir.
- Eğer IsIndexed değeri 1 ise, Buffered Report kullanılır.
MaxIndex: Indeksli raporların maksimum indeks numarasını belirler. Buffered Reports (BRCB) kullanıldığında tutulan maksimum olay sayısını belirler. Eğer indeks değeri maksimuma ulaşırsa, eski kayıtlar silinir. Örneğin, 1000 olaylık bir tampon belleği varsa, en eski olay silinerek yeni gelen olay kaydedilir.
Conf Rev Check: Konfigürasyon revizyon kontrolünü etkinleştirir.
Conf Rev Number: Konfigürasyon revizyon numarasını belirtir.
IntPeriod: Raporun iletilme periyodunu belirler. Eğer veri periyodik olarak (trigger type TRG_OPT_INTEGRITY seçiliyse) gönderilecekse, Int Periyod sütununa periyodik gönderme süresi (ms cinsinden) girilmelidir.
Buffering Time: Bu parametre, buffered raporların verileri ne kadar süreyle saklayacağını belirler. BRCB kullanılıyorsa, olaylar belirli bir süre boyunca bellekte tutulur. Buffering Time artırılırsa, eski olayları daha uzun süre saklar. Eğer buffer taşarsa, Purge Buffer Signal ile manuel temizlenebilir.
Opt Fields: IEC 61850 raporlarının hangi ek alanları içereceğini belirler. Report Time Stamp, ConfRev.
Enable Signal: Raporun etkin olup olmadığını belirlemek için Telediagram üzerinden ilişkilendirilecek blok seçilir.
Status Signal: Raporun durumunu takip etmek için Telediagram üzerinden ilişkilendirilecek blok seçilir. Bu sinyalin alabileceği değerler ve açıklamaları aşağıdaki gibidir:
- INIT=0: Enable Signal’i bekleniyor.
- REGISTER=1: Rapor etkinleştirilmeye başlanıyor.
- WAITRCBVALUES=2: Rapor RCB okuma isteği gönderildi, yanıt bekleniyor.
- HASRCBVALUES=3: Rapor RCB okundu, etkinleştirme işlemi devam ediyor.
- WAITSETRCBVALUES=4: Rapor RCB güncellendi, sonuç bekleniyor.
- INSTALLED=5: Rapor kuruldu, rapor alımına hazır.
- ACTIVE=6: Rapor kuruldu ve en az bir rapor alındı.
- FAILEDINIT=7: Rapor etkinleştirme başarısız oldu. 60 saniye sonra cihaz yeniden deneyecek.
- FORCETOCLOSE=8: Rapor devre dışı bırakma isteği alındı, devre dışı bırakma başlatıldı.
- FORCETOCLOSE_WAITDISABLE=9: Devre dışı bırakma işlemi devam ediyor.
- FORCETOCLOSE_UNRESERVE=10: Devre dışı bırakma için rezervasyon kaldırılıyor.
- FORCETOCLOSE_WAITUNRESERVE=11: Devre dışı bırakma işlemi tamamlanıyor.
**Not**: ACTIVE (6) değeri, raporun başarıyla çalıştığını ve en az bir raporun alındığını gösterir. FAILEDINIT (7) değeri, rapor etkinleştirme işleminin başarısız olduğunu ve cihazın 60 saniye sonra tekrar deneyeceğini gösterir.
* FORCETOCLOSE (8-11) değerleri, raporun devre dışı bırakılma sürecinde olduğunu belirtir.
Send GI Signal: Eğer raporun tetikleme türü (Trigger Type) olarak GI seçildiyse Send GI Signal girişine bir tetik sinyali atanmalıdır. Bu girişe yükselen sinyal (1) uygulandığında, Genel Sorgu (General Interrogation - GI) isteği tetiklenir ve rapor gönderilir.
Purge Buffer Signal: Rapor kısmında tampon belleğin taşması (buffer overflow) durumunda belleği temizlemek için kullanılır. Eğer buffer overflow olursa kullanıcı Purge Buffer Signal ile ilişkilendirilen telediagram bloğunun girişine yükselen bir sinyal (1) uygulayarak tampon belleği manuel olarak temizleyebilir.
Ignored Report: İstemcinin rapor kontrol bloğu yapılandırma revizyonu uyumsuzluklarını nasıl ele aldığını belirler. Eğer rapor kontrol bloğu yapılandırma revizyonu uyumsuz ise, rapor işlenmez ve yok sayılır. IgnoredReportCount sinyali üzerinden, kaç adet raporun bu nedenle yok sayıldığı takip edilebilir.
Not: Sadece rapor seçildiğinde, Data Set Path kısmında ünlem işareti (!) oluşur. Raporun düzgün çalışabilmesi için, ilgili Data Set’in de browser’a eklenmesi gerekmektedir.
Data Set Seçili değil;

Data Set Seçili;

Not: Reports tablosuna eklenen raporun DatasetRefPath değeri ile Data Set Tablosuna eklenen dataset’in aynı olduğundan emin olun.
Rapor Okuma Uygulama Örneği
Data rapor okumak için Telediagram uygulaması açılır ve yeni bir proje oluşturulur.
MDV61850 Browser’de tanımlanan sinyaller, Telediagram’da uygun register tipleriyle ilişkilendirilir. Burada anlatılan örnekte aşağıdaki değişkenler seçilmiştir:
Röle ile bağlantı için bloklar:
- ConnectEnb Signal → Binary Register
- DevStatus Signal → Word Register
Data set tablosundaki bloklar:
- Status Signal, Trig Signal, Data Set From Report→ Word Register
- RxTime Signal, RxCount Signal → Long Register
- Result Signal → Long Register (MMS Type kısmında yazan değişkene göre data signal kısmına telediagramdan blok eklenir.)
Rapor tablosundaki bloklar:
- Enable Signal → Binary Register
- Status Signal, Send GI Signal, Purge Buffer Signal, Ignored Report Count → Word Register
Telediagram'da tanımlanan bloklar, blok özellik tablosundan CSV formatına aktarılır.
MDV61850 Browser açılır ve RTU/PLC Integration bölümüne girilir.
Telediagram'dan alınan CSV dosyası içe aktarılır.
İçe aktarım tamamlandığında, bilgi ekranında bloklarla ilgili özellikler görüntülenir. Sağ ekranda bloklarla ilgili ayrıntılı bilgiler listelenir.
MDV61850 Browser içinde, etiketlerle eşleştirme işlemi yapılmalıdır. Etiket eşleştirilmek istenen ilgili bölüme çift tıklanır. Açılan Etiket Listesi penceresinde, ilgili kısımla eşleştirilecek etiketler görüntülenir. Uygun etiket seçilerek ilgili kısımla eşleştirilir.
MDV61850 Browser’da eşleştirme işlemi tamamlandıktan sonra, yapılan konfigürasyon Excel formatına aktarılabilir. Dosya menüsünden "Excele Aktar" seçeneği seçilir.
Açılan pencerede, Excel dosyasının kaydedileceği dosya yolu seçilir ve Kaydet butonuna tıklanır.
Telediagram’da IEC 61850 tablosu açılır ve MDV61850 Browser’dan alınan Excel dosyası tablonun altında yer alan import tables (append) from excel seçeneğinden içe aktarılır.
Excel dosyası içe aktarıldığında, IEC 61850 Tablosunda Browser’dan seçilen blokların otomatik olarak geldiği görülür.
Bu adımlar tamamlandığında, röle ile RTU arasındaki haberleşme için gerekli konfigürasyon tamamlanmış olur.
Son olarak, Telediagram’da yapılan RTU projesi cihaza yüklenir ve sistem çalışmaya hazır hale gelir.
MDV61850 Browser ve Telediagram ile yapılan konfigürasyon tamamlandıktan sonra, RTU ile röle arasındaki haberleşmenin başarılı olup olmadığını test etmek için aşağıdaki adımlar uygulanır:
- Telediagram üzerinden RTU cihazına bağlanılır ve online izleme açılır.
- RTU ile röle arasındaki haberleşmeyi başlatmak için ConnectEnb bloğuna 1 değeri gönderilir. RTU ve röle arasındaki haberleşme durumunu kontrol etmek için Dev Status bloğu takip edilir. Dev Status bloğunda "2" değeri görünüyorsa, haberleşme başarılı şekilde sağlanmıştır.
- Rapor Enable etiketine 1 değeri gönderildiğinde, Rapor Status ve Data Set From Report blokları 6 değerini almalıdır. RxTime Signal’de, data set değerinin epoch time olarak okunma zamanı görünmelidir. Result Signal’den, data setin o anda aldığı değer okunmalıdır.
MOD-C Kullanımı

Seri Port Blok Tanımları

Not: RS485 için; Seri Port No: 0 , RS232 için; Seri Port No: 1
Not: Bu kısımdaki değerleri varsayılan olarak bırakabiliriz.
MOD-C Tablo Paneli
Sayaç Ekleme
Sayaç ekleme, OBIS Kodu ekleme, programlama modu komutu ekleme işlemleri bu bölümde yapılır.
Not: Seri numarası 8 haneden az ise seri numarası 8 haneye tamamlanmalıdır. Bunun için sayaç seri öneki kısmına eksik hane sayısına kadar 0 yazmak gerekir.
Not: Port 1 : RS485 , Port 2 : RS232 , Protocol : Mode C
| Meter | Makel | Köhler | EMH |
|---|---|---|---|
| Starting Baudrate | 300 | 300 | 19200 |
| MODC Baudrate | 9600 | 9600 | 19200 |
| Data Bit | 7 | 7 | 7 |
| Parity Bit | Even Parity | Even Parity | Even Parity |
| Stop Bit | 1 | 1 | 1 |
| Readout Type | 0 | 0 | 0 |
OBIS Kodu Ekleme


Programlama Modu Ekle
OBIS Kodlarının Servis Listesi Dışında Okunması
Öncelikle okumak istediğimiz sayaç numarasını ve üzerine okumak istediğimiz OBIS kodlarını giriyoruz.
Servis listesi dışında OBIS kodlarını giriyoruz.
Örneğin; 2.8.0 Obis kodu.
Seçilen sayaca Programlama Modu Komutu ekleyin.
Okumak istediğimiz kodu giriyoruz.

Not: Köhler marka sayaç için örnek verilmiştir. Cihazınıza uygun kodları sayaç üreticinizden isteyebilirsiniz.
Yük Profili Okuma
Sayacı seçin.
Seçilen sayaca Programlama Modu Komutu Ekleyin.
Komutları arka arkaya ekliyoruz.
01 52 32 02 31 32 38 2e 31 30 2e 30 30 30 30 28 29 03 5a // [ Read Load Profile Index Information ]
01 52 32 02 31 32 38 2e 35 31 2e 31 28 46 46 46 46 29 03 46 // [ Read values defined in load profile MODC OBIS Codes section ]
01 42 30 03 71 // [ Ends the load profile reading process ]
- OBIS Kodu Ekle kısmından yük profili değerlerini görmek istediğimiz verileri Seçilen Metreye ekliyoruz.
Yük Profili Kodu:
for Ael tf 19/20/21 ;
#P1#,2,0,8,0; ----> Load Profile Index Value (DECIMAL)
#P1#,2,20,8,-3; ----> +T value (FLOAT)
#P1#,2,28,8,-3; ----> -T value (FLOAT)
#P1#,2,36,8,-3; ----> +Ri value (FLOAT)
#P1#,2,44,8,-3; ----> +Rc value (FLOAT)
#P1#,2,52,8,-3; ----> -Ri value (FLOAT)
#P1#,2,60,8,-3; ----> -Rc value (FLOAT)
#P1#,2,8,10,0; ----> Load profile record date epoch (DATETIME)
for Makel c410, c500 ;
#P2#,Active ----> +T value ( FLOAT )
#P2#,Capacitive ----> +Rc value ( FLOAT )
#P2#,DateTime ----> Load profile record date epoch (DATETIME)
#P2#,I1 ----> IrmsA value ( FLOAT )
#P2#,I2 ----> IrmsB value ( FLOAT )
#P2#,I3 ----> IrmsC value ( FLOAT )
#P2#,Inductive ----> +Ri value ( FLOAT)
#P2#,V1 ----> VrmsA value ( FLOAT )
#P2#,V2 ----> VrmsB value ( FLOAT )
#P2#,V3 ----> VrmsC value ( FLOAT )


Rest API Konfigürasyonu
Rest API Servis Tanımlama

İlk yapılması gereken Rest API Server ile ilgili bazı parametrelerin tanımlanmasıdır. RestTablePanel'de, Yeni Dinlenme Sunucusu İletişim Kutusunu açmak için Sunucu Ekle düğmesine tıklayın. İletişim kutusunda size aşağıdaki parametreler sorulacaktır:
Server URL
API'ye hizmet veren sunucunun root URL'sidir.
Kimlik Doğrulama Yolu
API, kimlik doğrulama gerektiriyorsa, kimlik doğrulama yolu için yolu burada ayarlayın. Burada root URL'yi kullanmayın, yalnızca ilgili yol girilmelidir (örn: /api/login).
Başlıklar
Kimlik doğrulama işlemi sırasında herhangi bir özel başlık kullanmanız gerekirse, bunları virgülle ayrılmış bir anahtar/değer biçiminde girin (örn: Key1 : Value1, Key2 : Value2).
İstek Gövdesi
Kimlik doğrulama işlemi sırasında bir istek gövdesi kullanmanız gerekiyorsa, onu buraya ekleyin.
Beklenen Kimlik Doğrulama Simgesi Adı
Kimlik doğrulamasından sonra, sunucu kimlik doğrulama için bir belirteç gönderirse, belirteç verileri için kullanılan adı buraya girin.
Sorgular İçin Belirteç Adı
Belirteç verilerini aldıktan sonra, API çağrılarınızda farklı bir belirteç adı kullanmanız gerekebilir. Kullanılacak belirteç anahtarı adını buraya yazın.

Yeni Rest İstek Nesnesi Ekle
Bir Dinlenme Sunucusu ekledikten sonra, artık o sunucuya API istek tanımları eklemeye başlayabilirsiniz. Talebi ekleyeceğiniz Rest Server'a tıklayın ve Add Request butonuna tıklayın. İletişim kutusuna aşağıdaki parametreleri eklemeniz gerekir
Method
İstek için kullanılacak HTTP yöntemi. POST, GET, PUT veya DELETE isteği olabilir.
Rota Yolu
İsteğin rota yolu. "/" ile başlayın ve burada root URL'yi kullanmayın (örn: /api/GetTankLevel).
İstek Gövdesi
API çağrısı sırasında bir istek gövdesi kullanmanız gerekirse, onu buraya ekleyin.
Nesne Filtresini Yanıtla
API isteğini gönderdikten sonra, sunucu size JSON biçiminde bir yanıt gönderecektir. Bu JSON nesnesinden ilgili verileri alabilmek için bir filtre kullanmanız gerekir. Verileri farklı biçimlerde alabilmek için lütfen aşağıdaki örneğe bakın:
Sunucudan gelen örnek yanıt:
{
"Message": null,
"ResponseModel": {
"AvailableTags": [
{
"CanTakeFuelOutside": false,
"CurrentMachineHours": 20,
"THPT": 85,
"TagNumber": "TestTag000000001",
"UnitType": "Hour",
"VehicleTankCapacity": 300
},
{
"CanTakeFuelOutside": false,
"CurrentMachineHours": 102,
"THPT": 85,
"TagNumber": "TestTag000000002",
"UnitType": "Hour",
"VehicleTankCapacity": 300
}
],
"ServerDateTime": "14.02.2021 22:01:44"
},
"Type": "S"
}
Örnek Filtreler
• Kullanılabilir Etiketler dizisinin ilk elemanının Araç Tank Kapasitesini alıp 6000 numaralı bloğa yazabilmek için :
ResponseModel.AvailableTags[0].VehicleTankCapacity ,6000;
• Mevcut Etiketler dizisindeki tüm Mevcut Makine Saatlerini alın ve bunları 6000 numaralı bir tablo bloğuna yazın:
ResponseModel.AvailableTags[].CurrentMachineHours , 6000;
• Dizide Etiket Numarası "TestTag000000002" olan nesneyi bulun ve bu nesnenin Araç Tank Kapasitesi değerini alın ve bu değeri 6000 blok numaralı bloğa yazın:
ResponseModel.AvailableTags[].TagNumber(TestTag000000002).VehicleTankCapacity, 6000;
Durum Değeri için Blok Seçin
API isteğinin dönüş kodu bu bloğa yazılacaktır.
Tetik Bloğu Seçin
Bu blok etkinleştirildiğinde, API isteği sunucuya gönderilir.
Telediagram Lisansı
Lisans Dosyasını Yükleme
Geçerli bir lisans almak için lütfen "donanım kimliğinizi" [email protected] adresine gönderin.
Donanım kimliğinizi öğrenmek için; Telediagram uygulamasını indirip kurduktan sonra uygulamanın "bin" dizinine gidin ve "license_user.exe" dosyasını çalıştırın.
"license_user.exe"yi çalıştırmadan önce, donanım kimliğinizi değiştirebileceğinden, bilgisayarınıza "usb stick" veya "harici sabit disk" bağlı olmadığından emin olun.

Geçerli bir "license.dat" dosyası aldıktan sonra, bu dosyayı Telediagram uygulamasının "bin" dizinine kopyalayın.
Düzenleyiciyi yeniden başlattığınızda lisans otomatik olarak yüklenecektir.