Örnek: Bir kapasitif sensör ile yürüyen banttaki cam şişelerin sayma

Örnek: Bir kapasitif sensör ile yürüyen banttaki cam şişelerin sayma işlemi yapılmaktadır. Şişe sayısı 12 olduğu zaman Paketleme işlemi başlatılmaktadır. Paketleme işlemi 1dk sürmekte ve işlem sonunda şişe sayısı sıfırlanmaktadır. Gerekli PLC programını merdiven diyagramında (LD) çiziniz? (NOT: Soru sayıcı kullanılmadan çözülmelidir.) SAYICILAR (COUNTERS) Codesys dilinde üç tip sayıcı bulunmaktadır. Bunlar;  Yukarı (İleri) Sayıcı (CTU : Up Counter)  Aşağı (Geri) Sayıcı (CTD : Down Counter)  Yukarı‐Aşağı (İleri‐Geri) Sayıcı (CTUD : Up‐Down Counter) CTU : YUKARI (İLERİ) SAYICI (UP COUNTER) Yukarı (ileri) sayıcıda bulunan CU, RESET ve PV parametreleri sayıcının girişleri, Q ve CV parametreleri ise sayıcının çıkışlarıdır. Yukarı sayıcıda CU girişi Yükselen kenar (Pozitif kenar) algılama özelliğine sahiptir. CU, RESET ve Q, BOOL tipinde, PV (Preset Value: Sayıcı ayar değeri) ve CV (Counter Value : Sayıcı anlık değeri) ise INT tipinde parametrelerdir. CAL LD ST {Sayici değişkeni CTU tanımlanmalıdır.} Sayici(CU := S0, RESET := S1, PV := 5) Sayici(CU:= S0, RESET:=S1, PV:= 5); Sayici.Q Q0:= Sayici.Q ; Q0  İleri sayıcıda RESET girişi geldiği zaman (S1=RESET=TRUE) sayıcı anlık değeri sıfırlanır (CV=0).  İleri sayıcıda her CU girişi geldiğinde (S0=CU=TRUE) sayıcı anlık değeri (CV) 1 (bir) artar.  Sayıcı anlık değeri (CV), sayıcı ayar değerine (PV) eşit olduğu yada PV değerinden büyük olduğu zaman sayıcı çıkış verir (Q=TRUE). Sayıcı anlık değeri (CV) sayıcı anlık değerinden (PV) küçük olduğu zaman sayıcı çıkış vermez (Q=FALSE). CTD : AŞAĞI (GERİ) SAYICI (DOWN COUNTER) Aşağı (geri) sayıcıda bulunan CD, LOAD ve PV parametreleri sayıcının girişleri, Q ve CV parametreleri ise sayıcının çıkışlarıdır. Aşağı sayıcıda CD girişi Yükselen kenar (Pozitif kenar) algılama özelliğine sahiptir. CD, LOAD ve Q, BOOL tipinde, PV (Preset Value: Sayıcı ayar değeri) ve CV (Counter Value : Sayıcı anlık değeri) ise INT tipinde parametrelerdir. CAL LD ST {Sayici değişkeni CTD tanımlanmalıdır.} Sayici(CD := S0, LOAD := S1, PV := 5) Sayici(CD:= S0, LOAD:=S1, PV:= 5); Sayici.Q Q0:= Sayici.Q ; Q0  Geri sayıcıda LOAD girişi geldiği zaman (S1=RESET=TRUE) sayıcı anlık değerine (CV), sayıcı ayar değeri (PV) yüklenir (CV=PV).  Geri sayıcıda her CD girişi geldiğinde (S0=CD=TRUE) sayıcı anlık değeri (CV) 1 (bir) azalır.  Sayıcı anlık değeri (CV), sıfıra eşit olduğu zaman sayıcı çıkış verir (Q=TRUE). Sayıcı anlık değeri (CV), sıfırdan farklı olduğu zaman sayıcı çıkış vermez (Q=FALSE). CTUD : YUKARI‐AŞAĞI (İLERİ‐GERİ) SAYICI (UP‐DOWN COUNTER) Yukarı‐Aşağı (ileri‐geri) sayıcıda bulunan CU, CD, RESET, LOAD ve PV parametreleri sayıcının girişleri, QU, QD ve CV parametreleri ise sayıcının çıkışlarıdır. Yukarı‐Aşağı sayıcıda CU ve CD girişleri Yükselen kenar (Pozitif kenar) algılama özelliğine sahiptir. CU, CD, RESET, LOAD, QU VE QD, BOOL tipinde, PV (Preset Value: Sayıcı ayar değeri) ve CV (Counter Value : Sayıcı anlık değeri) ise INT tipinde parametrelerdir. CAL LD ST {Sayici değişkeni CTUD tanımlanmalıdır.} Sayici(CU:=S0, CD := S1,RESET:=S2, LOAD := S3, PV := 5) Sayici.Q Q0 Sayici(CU:=S0, CD := S1,RESET:=S2, LOAD := S3, PV := 5) ; Q0:= Sayici.Q ;  İleri‐Geri sayıcıda RESET girişi geldiği zaman (S2=RESET=TRUE) sayıcı anlık değeri sıfırlanır (CV=0).  İleri‐Geri sayıcıda LOAD girişi geldiği zaman (S3=RESET=TRUE) sayıcı anlık değerine (CV), sayıcı ayar değeri (PV) yüklenir (CV=PV).  İleri‐Geri sayıcıda her CU girişi geldiğinde (S0=CU=TRUE) sayıcı anlık değeri (CV) 1 (bir) artar.  İleri‐Geri sayıcıda her CD girişi geldiğinde (S1=CD=TRUE) sayıcı anlık değeri (CV) 1 (bir) azalır.  Sayıcı anlık değeri (CV), sıfıra eşit olduğu zaman sayıcı QD çıkışı, çıkış verir (QD=TRUE). Sayıcı anlık değeri (CV), sıfırdan farklı olduğu zaman sayıcı QD çıkışı, çıkış vermez (QD=FALSE).  Sayıcı anlık değeri (CV), sayıcı ayar değerine (PV) eşit olduğu yada PV değerinden büyük olduğu zaman sayıcı QU çıkışı, çıkış verir (QU=TRUE). Sayıcı anlık değeri (CV) sayıcı anlık değerinden (PV), küçük olduğu zaman sayıcı QU çıkışı, çıkış vermez (QU=FALSE). Örnek: Bir buton yardımı ile 3 adet motor kontrol edilecektir. Butona 1 kez basıldığında 1. Motor devreye girecek, butona 2. kez basıldığında 1. Motor devreden çıkacak 2. Motor devreye girecek, butona 3. kez basıldığında 2. Motor devreden çıkacak 3. Motor devreye girecektir. Butona 4. Kez basıldığında 3. Motor devreden çıkacak ve sistem başa dönecektir. Gerekli PLC programını merdiven diyagramında (LD) çiziniz? LD ST CAL Buton C1.CU C1(RESET := C4.Q, PV := 1) LD ANDN ST C1.Q C2.Q M1 LD ST CAL Buton C2.CU C2(RESET := C4.Q, PV := 2) LD ANDN ST C2.Q C3.Q M2 LD ST CAL Buton C3.CU C3(RESET := C4.Q, PV := 3) LD ST C3.Q M3 LD ST CAL Buton C4.CU C4(RESET := C4.Q, PV := 4) LD ST CAL LD EQ ST LD EQ ST LD EQ ST Buton C1.CU C1(RESET := C1.Q, PV := 4) C1.CV 1 M1 C1.CV 2 M2 C1.CV 3 M3 Örnek: Bir otoparkın giriş ve çıkışında bulunan sensörler yardımıyla otopark içerisindeki araçların sayım işlemi yapılacaktır. Start butonuna basıldığında bir sistem değişkeni çıkış verecektir. Sistem çıkışı ile birlikte sayma işlemi başlayacak ve stop butonu ile işlem sonlandırılacaktır. Otoparkın kapasitesi 10 araçtır. Otopark içerisindeki boş park yeri sayısı 0’dan büyük olduğu zaman otopark girişinde bulunan tabelada BOŞ yazması istenmektedir. Gerekli PLC programını merdiven diyagramında (LD) çiziniz? { Ara sınav sorularının çözümleri verilecektir.}