Ana içeriğe geç

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:

  1. General Interrogation sorgusu ile tüm data noktalarının okunması

  2. Zaman senkronizasyonu

  3. Yüzde ve Seviye olarak anlık ölçüm verilerinde olay denetimi

  4. Tanımlanan Olay verilerinin otomatik gönderimi (Case of Transmission, Spontaneous 0x03)

  5. Data noktalarının periyodik gönderimi (Case of Transmission, Periodic 0x01)

  6. Olay bilgilerinin hafızaya alınması ve iletişim sağlanınca tekrar gönderilmesi

  7. Komut göndermede, Execution Mode desteği; Execute Only, Select Before Execute, Long Pulse ve Short Pulse Duration, Quality Descriptor bilgileri gönderimini destekler.

  8. Birden fazla Slave açabilme ve her Slave için farklı IEC104 nesnesi tanımlayabilme

iec104-an-1

Şekil 1: Mikrodev RTU genel kullanım şeması

IEC 104 Slave Blok Tanımlamaları

Bağlantılar

iec104-an-2

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ı

iec104-an-30

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.

iec104-an-31

Şekil 2: IEC104 Köle Bloğu Örnek FBD Projesi

iec104-an-32

iec104-an-33

iec104-an-34

iec104-an-35

iec104-an-36

iec104-an-37

Ö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)

iec104-an-38

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)

iec104-an-39

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)

iec104-an-40

Değişken adres tablosunda 104 nesneleri tanımlandı.

Cihaza TCP üzerinden bağlantı kuruldu ve online izleme başlatıldı.

iec104-an-41

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

iec104-an-42

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.

iec104-an-43

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.

telediagram-editor-05

Hat Etiketi İlişkilendirme

iec104-an-44

İ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 TipiPe
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 TipiIEC104 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 / QDSOVCYCAEIBLSBNTIV
overflow quality flagcarry flagadjusted flagblocked quality flagsubstituted quality flagtopical quality flaginvalid quality flag
1overflowcarrycounter was adjustedelapsed time not validblockedsubstitutednot topicalinvalid
0no overflowbo carrycounter was not adjustedelapsed time validnot blockednot substitutedtopicalvalid

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.

iec104-an-3

Figure 2: QDS Bitlerinin Quality Register Block Oluşturması

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-an-4

Figure 3: Nesne Tipine Uygun Komut Gönderme Ayarları

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

iec104-an-5

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-image1

Şekil 1: Mikrodev RTU genel kullanım şeması

DNP3 Slave Blok Tanımlamaları

Bağlantılar

dnp3-image19

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ı

dnp3-image20

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.

dnp3-image21

Şekil 2: DNP3 Slave Blok Örnek FBD Projesi

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.

dnp3-image22

Şekil 3: DeviceObj ve ClassObj Tanımlama

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.

dnp3-image23

Şekil 4: Değişken Adres Tablosu

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.

dnp3-image24

Şekil 5: Hat Etiketi Tanımlama

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-image25

dnp3-image26

dnp3-image27

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.

dnp3-image28

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

dnp3-image29

Binary Output Değişkeninin Desteklediği Varyasyonlar

dnp3-image30

Analog Input Değişkeninin Desteklediği Varyasyonlar

dnp3-image31

dnp3-image32

Analog Output Değişkeninin Desteklediği Varyasyonlar

dnp3-image33

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:

dnp3-image34

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:

dnp3-image35

MQTT Kullanımı

Genel Bilgi

mqtt_01

Şekil 1 Mqtt Haberleşme Akış Şeması

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.

mqtt_02

Şekil 2 MQTT Config Bloğu

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ı;

mqtt_03

Şekil 3 Mqtt Config Blok Ö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.

mqtt_04

Şekil 4 TCP Soket Bloğu ve Mqtt Bloğu Bağlantısı

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_05

Şekil 5 TCP Bloğu Özel Ayarları

MQTT Tablosu

Mqtt ile ilgili tim ayarlamaların yapıldığı tabloya Projeler/MQTT Table sekmesinden ulaşılır.

mqtt_06

Şekil 6 Mqtt Tablosu

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.

mqtt_07

Şekil 7 Topic Tanımlama

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.

mqtt_08

Şekil 8 Mesaj İçin Blok Ekleme

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.

mqtt_09

Şekil 9 Mesaj Formatları

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;

mqtt_10

Şekil 10 View and Set Seçimi

• No View seçilirse görünecek mesaj;

mqtt_11

Şekil 11: No View Seçimi

Subscribe to Topic

Bu tabloda brokerdan cihaza veri gönderilmek için ilgili subscribe topic girilir.

mqtt_12

Şekil 12 Topic to Subscribe Ekranı

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.

mqtt_13

Şekil 13 Subscribed Block Values for Topic Ekranı

ÖZEL UYGULAMALAR

Ubidots

Mikrodev PLC ubidots mqtt ile kullanılmak istenildiğinde, yukarıda anlatılan ayarlara ilaveten şu adımlar izlenmelidir;

  1. 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.

  2. 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.

  3. 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.

mqtt_14

Şekil 14 Örnek Proje Konfigürasyonu

Değişimde Gönderme;

Projects > MQTT Table > Topics to Publish > Add Topic sırasıyla takip edilir.

mqtt_15

Şekil 15 Topic Ekleme Ekranı

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.

mqtt_16

Şekil 16 Topic'e Blok Ekleme Ekranı

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.

mqtt_17

Şekil 17 Değişimde Gönderilen Mesajlar

Periyodik Gönderme;

Değişimde gönderilen konfigürasyona ek olarak mqtt config bloğunun trg girişine real time pulse generator eklenir,

mqtt_18

Şekil 18 Periyodik Gönderme Eklenmiş Örnek Proje

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.

mqtt_19

Şekil 19 Periyodik Gönderme için Yapılan Değişiklikler

Proje tekrar cihaza yüklenir ve gelen mesajlar gözlenir.

mqtt_20

Şekil 20 Periyodik Gönderilen Mesajlar

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.

mqtt_21

Şekil 21 Subscribe Olunacak Bloklar Eklenmiş Örnek Proje Konfigürasyonu

Projects > MQTT Table >Topics to Subscribe > Add Topic sırasıyla takip edilir.

mqtt_22

Şekil 22 Subscribe Olunacak Topic Adı

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.

mqtt_23

Şekil 23 Subscrie Olunan Blok Seçimi

Burada abone olunacak değerin hangi bloğa aktarılacağı seçilir.

mqtt_24

Şekil 24 Subscribe Olan Bloklar

Abone olacak bütün bloklar belirlendikten sonra proje cihaza yüklenir.

mqtt_25

Yukarıdaki format ile test2 topicine mesaj publish edildiğinde değişkenlerin son durumu aşağıdaki gibi olur;

mqtt_26

Şekil 25 Subscribe Olunan Değerler

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.

mqtt_27

Şekil 26 Mqtt Config Bloğu SSL Enabled Yapma

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.

mdv61850_figure1

Şekil 1: IEC61850 – Mikrodev Cihazları

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.

iec61850_figure56

Şekil 2: MDV61850 Browser Açma

MDV61850 Browser açıldıktan sonra, Dosya menüsünden Yeni Proje seçeneğine tıklanır.

iec61850_figure2

Şekil 3: Browserda Yeni Proje Oluşturma

Açılan pencerede, röleden çekilen 61850 konfigürasyon (.cid, .icd, .scl) dosyası seçilir.

iec61850_figure3

Şekil 4: 61850 Konfigürasyon Dosyası Seçim Ekranı

Proje için bir isim belirlenir ve kaydedileceği dosya yolu seçilir. Projeyi Oluştur butonuna tıklanarak yeni proje oluşturulur.

iec61850_figure4

Şekil 5: Proje Oluşturma Ekranı

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.

iec61850_figure5

Şekil 6: Info Ekranı

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.

iec61850_figure6

Şekil 7: Data Nesnesi Ekleme

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:

iec61850_figure7

Şekil 8: Connection Kısmı ve Data Nesne Tablosu

  • 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.

mdv61850_figure23

mdv61850_figure24

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.)

iec61850_figure57

Şekil 9: Data Nesnesi Okuma Örneği - Telediagram Projesi

Telediagram'da tanımlanan bloklar, blok özellik tablosundan CSV formatına aktarılır.

iec61850_figure58

Şekil 10: Data Nesnesi Okuma Örneği - Blokların CSV Dosyasına Aktarımı

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.

iec61850_figure10

Şekil 11: Data Nesnesi Okuma Örneği - CSV Dosyasının Browserda İçe Aktarımı

İçe aktarım tamamlandığında, bilgi ekranında bloklarla ilgili özellikler görüntülenir. Sağ ekranda bloklarla ilgili ayrıntılı bilgiler listelenir.

iec61850_figure59

Şekil 12: Data Nesnesi Okuma Örneği - MDV61850 Telediagram Etiketlerinin Aktarımı

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.

iec61850_figure12

Şekil 13: Data Nesnesi Okuma Örneği - Etiketlerin Browserdaki Bölümlere Eşleştirilmesi

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.

iec61850_figure13

Şekil 14: Data Nesnesi Okuma Örneği - Browser Konfigürasyonunun Excele Aktarımı

Açılan pencerede, Excel dosyasının kaydedileceği dosya yolu seçilir ve Kaydet butonuna tıklanır.

iec61850_figure14

Şekil 15: Data Nesnesi Okuma Örneği - Browser Excel Dosya Yolu Seçim Ekranı

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.

iec61850_figure60

Şekil 16: Data Nesnesi Okuma Örneği - Browserdan Alınan Excelin Telediagramda İçe Aktarımı

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.

iec61850_figure61

Şekil 17: Data Nesnesi Okuma Örneği - IEC61850 Tablosu

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.

iec61850_figure62

Şekil 18: Data Nesnesi Okuma Örneği - Connect Enb Bloğuna Tetik Gönderme

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.

iec61850_figure64

Şekil 19: Data Nesne Değeri Okuma

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.

iec61850_figure19

Şekil 20: CO Fonksiyon Kodlu Data Nesnesi

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:

iec61850_figure20

Şekil 21: Connection Kısmı ve Data Nesne Tablosu Komut Gönderimi

  • 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.

iec61850_figure63

Şekil 22: Data Nesnesi Komut Gönderme Örneği - Telediagram Projesi

Telediagram'da tanımlanan bloklar, blok özellik tablosundan CSV formatına aktarılır.

iec61850_figure65

Şekil 23: Data Nesnesi Komut Gönderme Örneği - Telediagramda Eklenen Blokların CSV ye Aktarımı

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.

iec61850_figure23

Şekil 24: Data Nesnesi Komut Gönderme Örneği - CSV Dosyasının Browserda İçe Aktarımı

İçe aktarım tamamlandığında, bilgi ekranında bloklarla ilgili özellikler görüntülenir. Sağ ekranda bloklarla ilgili ayrıntılı bilgiler listelenir.

iec61850_figure66

Şekil 25: Data Nesnesi Komut Gönderme Örneği - Browsera Telediagram Etiketlerinin Aktarımıı

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.

iec61850_figure25

Şekil 26: Data Nesnesi Komut Gönderme Örneği - Etiketlerin Browserdaki Bölümlere Eşleştirilmesi

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.

iec61850_figure26

Şekil 27: Data Nesnesi Komut Gönderme Örneği - Browser Konfigürasyonunun Excele Aktarımı

Açılan pencerede, Excel dosyasının kaydedileceği dosya yolu seçilir ve Kaydet butonuna tıklanır.

iec61850_figure27

Şekil 28: Data Nesnesi Komut Gönderme Örneği - Browser Excel Dosya Yolu Seçim Ekranı

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.

iec61850_figure28

Şekil 29: Data Nesnesi Komut Gönderme Örneği - Browserdan Alınan Excelin Telediagramda İçe Aktarımı

Excel dosyası içe aktarıldığında, IEC 61850 Tablosunda Browser’dan seçilen blokların otomatik olarak geldiği görülür.

iec61850_figure29

Şekil 30: Data Nesnesi Komut Gönderme Örneği - IEC61850 Tablosu

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.

iec61850_figure67

Şekil 31: Data Nesnesine Komut Gönderimi

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.

iec61850_figure31

Şekil 32: Data Set Ekleme

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:

iec61850_figure32

Şekil 32: Connection Kısmı ve Data Set Tablosu

  • 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.)

iec61850_figure68

Şekil 34: Data Set Örneği - Telediagram Projesi

Telediagram'da tanımlanan bloklar, blok özellik tablosundan CSV formatına aktarılır.

iec61850_figure69

Şekil 35: Data Set Örneği - Telediagramda Eklenen Blokların CSV ye Aktarımı

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.

iec61850_figure35

Şekil 36: Data Set Örneği - CSV Dosyasının Browserda İçe Aktarımı

İçe aktarım tamamlandığında, bilgi ekranında bloklarla ilgili özellikler görüntülenir. Sağ ekranda bloklarla ilgili ayrıntılı bilgiler listelenir.

iec61850_figure70

Şekil 37: Data Set Örneği - MDV61850 Telediagram Etiketlerinin Aktarımı

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.

iec61850_figure37

Şekil 38: Data Set Örneği - Etiketlerin Browserdaki Bölümlerle Eşleştirilmesi

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.

iec61850_figure38

Şekil 39: Data Set Örneği - Browser Konfigürasyonunun Excele Aktarımı

Açılan pencerede, Excel dosyasının kaydedileceği dosya yolu seçilir ve Kaydet butonuna tıklanır.

iec61850_figure39

Şekil 40: Data Set Örneği - Browser Excel Dosya Yolu Seçme Ekranı

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.

iec61850_figure60

Şekil 41: Data Set Örneği - Browserdan Alınan Exceli Telediagramda İçe Aktarımı

Excel dosyası içe aktarıldığında, IEC 61850 Tablosunda Browser’dan seçilen blokların otomatik olarak geldiği görülür.

iec61850_figure41

Şekil 41: Data Set Örneği - IEC61850 Tablosu

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.

iec61850_figure71

Şekil 43: Data Set Değeri Okuma

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.

iec61850_figure43

Şekil 44: Data Set ve Rapor Seçimi

  • 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.

mdv61850_figure18

Şekil 45: Trigger Type Seçim Ekranı

  • 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.

mdv61850_figure19

  • 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;

mdv61850_figure20

Data Set Seçili;

mdv61850_figure21

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

iec61850_figure46

Şekil 46: Rapor Okuma Örneği - Telediagram Projesi

Telediagram'da tanımlanan bloklar, blok özellik tablosundan CSV formatına aktarılır.

iec61850_figure72

Şekil 47: Rapor Okuma Örneği - Telediagram Bloklarının CSV ye Aktarımı

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.

iec61850_figure48

Şekil 48: Rapor Okuma Örneği - CSV Dosyasının Browserda İçe Aktarımı

İçe aktarım tamamlandığında, bilgi ekranında bloklarla ilgili özellikler görüntülenir. Sağ ekranda bloklarla ilgili ayrıntılı bilgiler listelenir.

iec61850_figure49

Şekil 49: Rapor Okuma Örneği - Browserda Telediagram Etiketlerinin Aktarımı

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.

iec61850_figure50

Şekil 50: Rapor Okuma Örneği - Etiketlerin Browserdaki Bölümlerle Eşleştirilmesi

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.

iec61850_figure51

Şekil 51: Rapor Okuma Örneği - Browser Konfigürasyonunun Excele Aktarımı

Açılan pencerede, Excel dosyasının kaydedileceği dosya yolu seçilir ve Kaydet butonuna tıklanır.

iec61850_figure52

Şekil 52: Rapor Okuma Örneği - Browser Excel Dosya Yolu Seçim Ekranı

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.

iec61850_figure60

Şekil 53: Rapor Okuma Örneği - Browserdan Alınan Excelin Telediagramda İçe Aktarımı

Excel dosyası içe aktarıldığında, IEC 61850 Tablosunda Browser’dan seçilen blokların otomatik olarak geldiği görülür.

iec61850_figure54

Şekil 54: Rapor Okuma Örneği - IEC61850 Tablosu

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.

iec61850_figure55

Şekil 55: Data Set Değerini Rapor Üzerinden Okuma

MOD-C Kullanımı

modc_01

Seri Port Blok Tanımları

modc_02

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

MeterMakelKöhlerEMH
Starting Baudrate30030019200
MODC Baudrate9600960019200
Data Bit777
Parity BitEven ParityEven ParityEven Parity
Stop Bit111
Readout Type000

OBIS Kodu Ekleme

modc_04

modc_05

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.

modc_08

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 )

modc_06

modc_07

Rest API Konfigürasyonu

Rest API Servis Tanımlama

rest_table_01

İ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.

rest_table_02

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.

telediagram-editor-07

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.