EOS SCADA Script Editörü

Script geliştirme süreci EOS SCADA Editor içerisinde bulunan Script Editörü üzerinden gerçekleştirilir. Kullanıcı, ihtiyacına uygun programlama dilini seçerek script dosyasını oluşturabilir, kodunu düzenleyebilir ve derleyebilir. Böylece SCADA projesine özel hesaplama ve kontrol mantıkları standart yapılandırmanın yanında programatik olarak da geliştirilebilir.

Proje Dışa Aktarma Seçim Penceresi

Desteklenen script dilleri:

  • Python – veri işleme, hesaplama ve analiz işlemleri için.
  • VisualBasic – SCADA uygulamalarında programatik işlemler ve özel fonksiyonlar için.
  • CSharp (C#) – daha gelişmiş hesaplama, kontrol ve otomasyon senaryoları için.

Scriptlerin SCADA TAG'lerinden veri alabilmesi ve sonuçları tekrar TAG'lere yazabilmesi, script mekanizmasını yalnızca bir programlama aracı olmaktan çıkararak SCADA'nın gerçek zamanlı veri işleme ve otomasyon altyapısının bir parçası haline getirir.

Scriptlerin SCADA'da Kullanım Yöntemleri

Hazırlanan bir script, SCADA içerisinde temel olarak üç farklı yöntemle kullanılabilir. Bu yöntemler, olay tabanlı çalıştırmadan periyodik veri üretimine ve koşula/zamana bağlı otomasyona kadar farklı ihtiyaçları karşılar.

1. Kullanıcı Kontrolü Event'i ile Script Çalıştırma

Bir kullanıcı kontrolüne event eklenerek fonksiyon olarak Runscript — "Script Çalıştır" seçilebilir. Böylece kullanıcı tarafından hazırlanan bir script, ilgili kontrol üzerinde gerçekleşen bir eylemin ardından fonksiyon olarak çalıştırılabilir.

Örnek kullanım:

Bir butona basıldığında belirli TAG'lerin okunması, bu değerlerin bir script içerisinde analiz edilmesi ve hesaplama sonucunun başka bir TAG'e yazılması sağlanabilir. Böylece operatör etkileşimi ile özel bir hesaplama veya otomasyon işlemi başlatılabilir.

2. Sanal Veri Üretmek İçin Script Çalıştırma

Scriptler belirli periyotlarla çalıştırılarak elde edilen sonuçlar bir sanal veriye atanabilir. Bu yapı, doğrudan saha cihazından gelmeyen ancak gerçek SCADA verilerinden hesaplanan yeni değerlerin sistem içerisinde TAG gibi kullanılmasını sağlar.

Örneğin birden fazla ölçüm TAG'inin script içerisinde değerlendirilmesiyle verim, performans göstergesi, hesaplanmış limit, durum puanı veya başka bir türetilmiş değer oluşturulabilir. Oluşturulan sanal veri daha sonra ekranlarda gösterilebilir, trendlerde kullanılabilir ve uygun şekilde alarm mantığına dahil edilebilir. Benzer SCADA mimarilerinde scriptlerle sanal tag üretimi ve bunların görselleştirme/alarm amaçlı kullanımı yaygın bir uygulamadır. citeturn0search2turn0search3

3. PR_FORCE_MACHINE ile Script Koşma

PR_FORCE_MACHINE kullanıcı kontrolü, belirli şartlar gerçekleştiğinde veya belirlenen çalışma periyotlarında script çalıştırılması için kullanılabilir. Bu kontrolün yapısında script adı, giriş ve çıkış parametreleri ile çalışma aralığı gibi bilgiler tanımlanabilir.

Alan Açıklama
_ScriptName Çalıştırılacak scriptin adı.
_InputParams Script'e aktarılacak giriş parametreleri.
_OutputParams Script sonucunda kullanılacak çıkış parametreleri.
_ForceInterval Scriptin hangi periyot veya zamanlama ile çalıştırılacağını belirler.
_OperationHour / _OperationMinute Belirli zamanda çalıştırma seçildiğinde kullanılacak saat ve dakika bilgileri.
_ForceType İşlem türünü belirler; script çalıştırma seçeneği Runscript değeridir.

PR_FORCE_MACHINE İşlem Türleri

PR_FORCE_MACHINE içerisinde tanımlanan FMForceType seçimi, kontrolün gerçekleştireceği işlemi belirler. Script kullanımı açısından özellikle Runscript seçeneği önemlidir.

  • Forcedata — Veri Yaz
  • Writehour — Saat Yaz
  • Plannedforcedata — Planlı Veri Yaz
  • Runscript — Script Koş
  • Runprogram — Program Koş

Script Çalıştırma Zamanlamaları

PR_FORCE_MACHINE içerisindeki FMOperInterval seçimi ile scriptin hangi sıklıkta çalıştırılacağı belirlenebilir. Böylece aynı script, ihtiyaç duyulan gerçek zamanlı veya periyodik çalışma modeline göre işletilebilir.

Seçim Çalışma Aralığı
EveryminuteHer Dakika
Every5minutesHer 5 Dakikada Bir
Every10minutesHer 10 Dakikada Bir
Every15minutesHer 15 Dakikada Bir
Every20minutesHer 20 Dakikada Bir
EveryhalfhourHer Yarım Saatte Bir
EveryscanintervalHer Tarama Döngüsünde
EveryhourHer Saat
Every6hoursHer 6 Saatte Bir
Every12hoursHer 12 Saatte Bir
EverydayHer Gün
AtspecifictimeBelirli Zamanda

SCADA TAG'leri ile Veri Alışverişi

Scriptlerin en önemli kullanım alanlarından biri, gerçek SCADA verilerini hesaplama ve analiz amacıyla script içerisine input olarak aktarabilmektir. Script, kendisine verilen TAG değerlerini kullanarak bir sonuç üretebilir ve bu sonucu yine SCADA TAG'lerine output olarak aktarabilir.

Gerçek veri → Script → Türetilmiş veri

Bir veya daha fazla gerçek ölçüm TAG'i scriptin girişini oluşturur. Script bu değerleri matematiksel işlemler, koşullar, karşılaştırmalar veya özel algoritmalar ile değerlendirir. Üretilen sonuç ise yeni bir sanal/türetilmiş TAG'e veya uygun bir çıkış TAG'ine aktarılabilir.

Gerektiğinde script sonucuna bağlı olarak bir kontrolcüye FORCE (yazma) işlemi de yaptırılabilir. Böylece script yalnızca gözlem ve hesaplama amacıyla değil, tanımlanan kontrol mantığı çerçevesinde proses üzerinde kontrollü bir işlem başlatmak için de kullanılabilir.

Gerçek Verilerden Türetilmiş Verilere

Script kullanımının SCADA açısından en güçlü sonuçlarından biri, sistemde doğrudan ölçülmeyen fakat mevcut gerçek verilerden hesaplanabilen türetilmiş verilerin oluşturulmasıdır. Böylece yalnızca saha cihazlarından gelen ham değerleri izlemek yerine, bu değerlerden yeni bilgi üreten bir veri işleme katmanı oluşturulabilir.

Örnek türetilmiş veri senaryoları:

  • Birden fazla ölçümden hesaplanan performans veya verim değeri.
  • Gerçek zamanlı ölçümlere göre hesaplanan proses göstergeleri.
  • Birden fazla şartın değerlendirilmesiyle oluşturulan durum veya karar TAG'leri.
  • Limit, eşik veya çalışma koşullarına göre hesaplanan yardımcı TAG'ler.
  • Gerçek veriler kullanılarak oluşturulan analiz sonuçlarının sanal TAG olarak sunulması.

Türetilmiş TAG'ler daha sonra ekranlarda gösterilebilir, trend ve raporlama süreçlerinde kullanılabilir veya alarm üretiminin girdisi haline getirilebilir. SCADA sistemlerinde script tabanlı hesaplamaların tag, event ve alarm mekanizmalarıyla birlikte kullanılması, karmaşık veri işleme ve otomasyon ihtiyaçlarının yapılandırılmasına olanak verir. citeturn0search0turn0search6

Script Kullanımının Sağladığı Esneklik

Standart SCADA yapılandırmaları birçok izleme, alarm ve kontrol ihtiyacını karşılayabilir. Ancak bazı uygulamalarda birden fazla TAG'in birlikte değerlendirilmesi, özel bir hesaplama yapılması, belirli bir koşulun izlenmesi veya hesaplama sonucuna göre farklı bir işlem gerçekleştirilmesi gerekir. Script mekanizması bu noktada SCADA'ya programlanabilir bir işlem katmanı kazandırır.

Önemli: Script ile kontrolcüye FORCE/yazma yapılabilecek uygulamalarda, yazma işleminin yalnızca açıkça tanımlanmış proses koşulları, yetkilendirme ve güvenlik kuralları çerçevesinde tasarlanması gerekir. Özellikle periyodik veya otomatik çalışan scriptlerde giriş değerleri, sınırlar, hata durumları ve çıkışların etkisi dikkatle değerlendirilmelidir.

Sonuç olarak EOS SCADA Script mekanizması; gerçek saha verilerinin okunması, programatik olarak işlenmesi, yeni türetilmiş verilerin oluşturulması, bu verilerin görüntülenmesi ve alarm mantığına aktarılması yanında, gerekli senaryolarda kontrol işlemlerinin de otomatikleştirilmesini sağlayan esnek bir uygulama katmanıdır.

← Önceki İçeriğe Dön