YAPISAL METİN (STRUCTURED TEXT ‐ ST) DİLİ İLE PLC PROGRAMLAMA FONKSİYON Ana program çağırdığı zaman belirtilen işlemleri yapan alt program parçasıdır. Parametreli olarak kullanıldığında ana programdan bir değişken değeri fonksiyona gönderilir, bu değer alt programda işletilir ve sonuç ana programa Return komutu ile geri gönderilir. Her fonksiyonda bir değer mutlaka ana programa geri döner. Örnek 1: Fonksiyon kullanılarak bir hesaplama işlemi yapılacaktır. Bu işlemde, ana programdan fonksiyona a,b,c değerleri gönderilecektir. Gönderilen a,b,c değerleri ile 2.a.b+5.c işlemi yapılacak ve sonuç ana programa geri gönderilecektir. Gerekli programı yapısal metin (ST) dili ile yazınız? {Ana Program Değişken Tanımlama} PROGRAM PLC_PRG VAR CONSTANT a:REAL:=8.0; b:REAL:=3.0; c:REAL:=5.0; END_VAR VAR sonuc :REAL; END_VAR {YAPISAL METİN PLC Programı} sonuc:=islem(a,b,c); {Fonksiyon Değişken Tanımlama} FUNCTION islem : REAL {Ana programdan gelen değişkenlerin atandığı kısım} VAR_INPUT x :REAL; y :REAL; z :REAL; END_VAR VAR {Local Değişkenlerin tanımlandığı kısım} END_VAR {FONKSİYON PLC Programı} islem:=2*x*y+5*z; RETURN; FONKSİYON BLOK Zamanlayıcı (timer), Sayıcı (counter), Analog okuma vb. gibi ana programdaki giriş bilgileri Fonksiyon Bloklara gönderilir. Fonksiyon Blokları, ana programdan gelen giriş bilgilerini alır, istenen işlemleri yapar. Ancak Fonksiyon sonuçlar, ana programdan çağrıldığı zaman fonksiyon bloklarından ana programa gönderilir. Fonksiyon Blok ile Fonksiyon arasındaki tek fark bu durumdur. Örnek 2: Örnek1’ de verilen soruyu Fonksiyon Blok kullanarak çözünüz? {Ana Program Değişken Tanımlama} PROGRAM PLC_PRG VAR sonuc :REAL; islem :Hesaplama; END_VAR {YAPISAL METİN PLC Programı} islem(a:=8.0,b:=3.0,c:=5.0); sonuc:=islem.deger; {Fonksiyon Değişken Tanımlama} FUNCTION_BLOCK Hesaplama {Ana programdan gelen değişkenlerin atandığı kısım} VAR_INPUT a :REAL; b :REAL; c :REAL; END_VAR {Fonksiyon Bloğundan ana programa gönderilen değişken. tanım. kısım} VAR_OUTPUT değer :REAL; END_VAR VAR {Local Değişkenlerin tanımlandığı kısım} END_VAR {FONKSİYON PLC Programı} deger:=2*a*b+5*c; ARDIŞIK FONKSİYON GÖSTERİMİ (SEQUENTIAL FUNCTION CHART ‐ SFC) DİLİ İLE PLC PROGRAMLAMA SFC programlama, gerçekleştirilecek işlemlerin ardışık, karmaşık ve çok dallı olması durumunda tercih edilen bir programlama dilidir. Bu programlama dilinde işlemler basamaklar halinde sırayla algoritma olarak hazırlanır. Her basamağın başlama ve bitişini kontrol eden şartlar vardır. Bu şartların oluşmasıyla program bir sonraki basamağa geçer. Örnek 3: Start ve stop butonu yardımıyla bir motorun kontrolü yapılacaktır. Start butonuna basıldığında motor çalışacak, stop butonuna basıldığında motor duracaktır. Gerekli programı Ardışık Fonksiyon Gösterimi (SFC) dili ile yazınız? PROGRAM_PLC VAR start AT%IX4000.0:BOOL; stop AT%IX4000.1:BOOL; motor AT%QX4000.0:BOOL; END_VAR {SFC PLC Programı} Örnek 4: Bir bant üzerinde ilerleyen kola şişesini algılayabilen üç sensör yardımıyla (S1,S2,S3) üç lamba (Yeşil, turuncu, mavi) kontrol edilecektir. Gerekli programı Ardışık Fonksiyon Gösterimi (SFC) dili ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR S1 AT %IX4000.1 :BOOL; S2 AT %IX4000.2 :BOOL; S3 AT %IX4000.3 :BOOL; YESIL AT %QX4000.1 :BOOL; TURUNCU AT %QX4000.2 :BOOL; MAVI AT %QX4000.3 :BOOL; END_VAR {SFC PLC Programı} 0; 
Download

YAPISAL METİN (STRUCTURED TEXT