Hangi plc’de haberleşme hatasının olduğunu öğrenmek üç farklı yöntem ile olabilir.

1. “PlcConnectionFault” isimli standart Tag “1(True)” olduğunda haberleşme hatası oluşmuştur. Bu Tag’ı kullanarak alarm oluşturabilirsiniz. Veya ekranda bir nesnenin görsel olarak plc haberleşme hatasını bildirmesini sağlayabilirsiniz.
2. Plc haberleşme hatası oluştuğunda sayfanın altında bulunan ikaz mesajlarında “Plc Communication Fault! (Click me.)” yazısı görünür. Bu yazıya tıkladığınızda haberleşme hatasının olduğu plc’leri görebilirsiniz.
3. “PlcCommError” isimli standart Tag’ı kullanarak script içersinde haberleşme hatası olan plc’leri tespit edebilirsiniz. Script ile
kendi alarm algoritmalarınızı yazabilir, bu alarmlar oluştuğunda belirlediğiniz olayları çalıştırabilirsiniz. Bu yazımızın asıl
amacı script ile “PlcCommError” Tag’ı kullanılarak haberleşme hatalrının alarm nesnesinde görünmesini sağlamaktır.

Plc hatalarında alarm oluşturmak:
1.Plc bağlantıları seri port ile yapıldığında her haberleşme denemesi başarılı olmayabilir. Bu nedenle haberleşme hatalarını direkt kabul etmeyip belli bir süreden uzun olduğunda alarm oluşmasını sağlamalıyız.Bu amaçla plc sayısı kadar internal Tag oluşturmalıyız. Örneğimizde PLC_1 ve PLC_2 isimli iki adet internal Tag oluşturduk.
2.Haberleşme hatası oluşması için içersinde iki istasyon bulunan RTU Network oluşturduk.

TagList
3.Hata tespiti için aşağıdaki script’i yazdık.

PlcErrScript

Bu script ile haberleşme hatası olduğunda PLC_1 ve PLC_2 isimli Tag’lar 0-30 arasında değeri artacaktır. Haberleşme sağlandığında ise Tag değeri sıfır olacaktır. Array.IndexOf komutu ile “PlcCommError” dizisinde tırnak içerisinde belirtilen ifade aratılıyor. Dizi içerisinde bu ifade bulunmadığı taktirde index değişkeni -1 olacaktır. İfade bulunduğunda ise dizi satır numarası index değişkenine yazılacaktır.

4.Alarm Manager sayfasında iki adet alarm oluşturuyoruz. PLC_1 ve PLC_2 isimli Tag’lar 29’dan büyük ise PLC haberleşme hatası mesajı görünecektir. Plc haberleşme hatası başladığında ve bağlantı düzeltiğinde olmasını istediğiniz olayları fonksiyonlar içersine yazabilirsiniz. Biz Tag_1 ve Tag_2 değerlerini plc hatası oluştuğunda sıfırladık. Tabii haberleşme olmadığından bu işlem sadece scada tarafında gerçekleşmiştir. Plc ile bağlantı kurulduğunda plc’de bulunan veya scada tarafından sıfırlanan değer geçerli olabilir.

5.Son olarak scada sayfamızı Alarmview nesnesi ekliyoruz. Bu nesne ile haberleşme hatasının hangi saat itibari ile oluştuğu ve düzeldiğini takip edebiliriz.

Runtime

Bu scada projesini buradan indirebilirsiniz. Bu proje Versiyon 5.1.4 ve üstünde açılabilir.

Not: “PlcCommError” dizisi ilk indeksi redundant çalışmada haberleşme master’ını bildirir. Haberleşmede master bu bilgisayar oldupunda PlcCommError(0) değeri “My Master Communication” dır. Master redundant partner olduğunda ise “Communication From Redundant” yazar.

Bu dizinde haberleşme hatası olmadığında “No Error” olduğunda ise network adı ve istasyon ismi yazar. İstasyon ismini siz belirleyebilirsiniz. Mpi ve profinet protokolünde network adı yazılıdır. Örnek değerleri aşağıda görebilirsiniz.

Rtu Network / 1-Station 1
Hostlink / 1-Station 1
Mewtocol / 1-Station 1
Ppi Network / 1-Station 1
Mpi Network / 1
Profinet / 1