Scada Virgüllü Sayı

Bir çok müşterimiz scada’da decimal olarak okudukları sayıyı virgüllü sayıya nasıl çevireceklerini soruyor. Decimal sayı plc’den okunacaksa bu çevrim işlemine gerek yok. Zira plc programı içersinde virgüllü sayıya dönüştürebilirsiniz. Eğer enerji analizörü gibi dönüştürme işlemi cihaz içersinde yapılamıyorsa aşağıda açıkladığım şekilde dönüştürme işlemini yapabilirsiniz.

Decimal olarak okuduğumuz değişkeni, virgüllü sayı(Floatpoint) olarak okuduğumuz bir değişkene aktarmaktan ibarettir. Örneğin decimal değişkenimiz Tag_1 olsun, Tag_2 isminde dahili bir tag daha oluşturalım. Bu tagın tipi floatpoint olmalıdır. Scada script writer bölümünü açalım ve dönüştürme yapacağımız scripti yazalım.

Public Class MainClass ‘satırını bulup bu satırın hemen altına scada taglarını oluşturalım.

Public Tag_1 As Uint16 ‘Eğer decimal değişkenimiz 16 bit ve işaretsiz(her zaman artı) olan bir değişken ise Uint16 değilse uygun tipte oluşturulmalıdır.

Public Tag_2 As Single ‘Scada’da floatpoint olarak oluşturulan virgüllü sayı script içersinde single olarak oluşturulmalıdır.

Enerji analizörleri 220 volt’u 2200 şeklinde gösterir. Son hane virgülden sonraki kısımdır. Bu sayıyı virgüllü sayı olarak dönüştürmek için 10’a bölmeliyiz.

Public Sub Load ‘satırını bulup hemen altına bölme işlemini yazalım.

Tag_2 = val(Tag_1/10) ‘Val komutu ile bölme işlemini parantez içersine alıyoruz. Böylece bölmenin sonucunu Tag_2 data tipine uyguyn olarak dönüştürür. Tüm matematiksel işlemlerde Val komutunu kullanmalıyız. Aksi taktirde taşmalar oluşabilir.

Oluşturduğumuz script’i derleyip kaydedelim. Artık scriptimiz hazır, bu script henüz hiç bir zaman çalışmayacaktır. Scriptin çalışacağı zamanı belirlemeliyiz. Eğer 1024 Tag ve daha büyük bir scada satın almışsanız bu scripti kontrol panelinde netwok saykıl script olarak seçmeniz yeterlidir. Daha küçük bir scada satın aldıysanız; her scada sayfasının refresh fonksiyonuna eklemelisiniz. Sayfa üzerinde boş bir alana mouse sağ kılik yapıp, screen properties altında fonksiyonlardan refresh script olarak seçilmelidir.

Tag_2 değişkenini scada projenizde dilediğiniz yerde kullanabilirsiniz. Tag_1 değişkeninin virgüllü halini Tag_2 içersinde okuyacaksınız.

Scada ve Script sayı tipleri:

Boolean: Bit en küçük sayı birimi.

Uint16 : İşaretsiz 16 bit sayı.

int16: İşaretli 16 bit sayı.

Uint32: İşaretsiz 32 bit sayı.

int32: İşaretli 32 bit sayı.

floatpoint/single: 32 bit virgüllü sayı.

Datetime: Tarih saat değişkeni.

String: Text yazı formatındaki değişkenler.

Değişken tipleri haberleşme protokolüne göre farklılık oluşturur. Örneğin Siemens plc’lerde s5time gibi farklı data tipleri bulunur. Scada yardım sayfalarında her protokol için ayrı ayrı sayı tipleri açıklanmıştır.

Leave a Reply