ELEKTROMEKANİK KUMANDA SİSTEMLERİ - Ünite 8: Kumanda Sistemlerinde PLC Kullanımı Özeti :
PAYLAŞ:Ünite 8: Kumanda Sistemlerinde PLC Kullanımı
Giriş
Otomasyon ve kontrol sistemlerinde kullanılan Programlanabilir Lojik Kontrolör endüstriyel bir denetleyicidir. İlk üretildiği yıllarda basit lojik işlemler için kullanılmasına rağmen zamanla geliştirilmiş ve çok karmaşık kumanda ve kontrol problemlerinde kolaylıkla kullanılabilir hale getirilmiştir.
PLC’ler günümüzde endüstriyel otomasyon sistemlerinin kumandasında çok geniş bir kullanım alanına sahiptir. Geçmişte kontaktör, zaman rölesi ve sayıcı gibi elemanlarla kullanılan kumanda devrelerinin yerini günümüzde aynı işlevi rahatlıkla yerine getiren PLC’li sistemler almıştır.
Piyasada, birçok firmanın ürettiği değişik PLC’ler bulunmakla beraber, ülkemizde en çok tercih edilen PLC serisi Siemens tarafından üretilen S7-200 serisi PLC’lerdir. Bu ünitede S7-200 PLC’ler esas alınarak PLC’ler ve programlama teknikleri ele alınacaktır. Kumanda sistemlerinde PLC kullanımı ve çeşitli uygulamaları gösterilecektir.
PLC (Programlanabilir Lojik Kontrolör)
PLC endüstriyel ortamlar için üretilmiş kumanda ve kontrol cihazıdır. PLC cihazlarında zamanlama, sayma sıralama ve her türlü kombinasyonel lojik işlemler programlama ile gerçekleştirilir.
- Enerji ve bakım maliyeti düşük, montajı kolaydır.
- Her türlü elektrik-elektronik bileşene uygundur.
- Röleli sistemlere göre çok daha hızlı ve uzun ömürlüdür.
- Az yer tutar.
- Kolay programlanabilir.
- Kontrol edilen sistemde değişiklik olması halinde, PLC’de program değişikliği yapılarak yeni sisteme adaptasyon sağlanabilir.
Bu özellikleri sayesinde PLC’ler kumanda sistemlerinde çok kullanılır olmuşlar ve PLC sistemleri de hızla geliştirilmiştir. Türkiye’de çok kullanması ile bilinen Siemens, General Elektrik, Mitsubishi, Toshiba gibi birçok firma PLC üretmiştir.
Enerji dağıtım sistemleri, karmaşık fabrika otomasyonları, motor kontrolü gibi alanlar başta gelmek üzere, PLC’ler endüstrinin hemen her alanında yaygın olarak kullanılmaktadır. Endüstriyel otomasyon sistemlerinin kumanda devreleri, PLC’lerin en sık kullanıldığı alanlardan biridir. Kumanda devrelerini PLC’lerle gerçekleştirmek için önce problemin çözümü için gerekli lojik fonksiyonun oluşturulması ve ikinci olarak da bu lojik fonksiyon programının PLC’ye yüklenmesi gerekir. Bunun için bir programlama editörüne ihtiyaç vardır. Her model PLC için özel programlama yazılımı mevcuttur. Örneğin, Step 7-Micro/Win programıS7-200 PLC’leri programlamak için kullanılır.
Bir PLC, programlama desteği ile girişleri değerlendirip, çıkışları oluşturan işlemci (Central Prosessing Unit, CPU), bellek, giriş/çıkış birimleri ve güç birimi gibi temel kısımlardan oluşur (S: 140, Şekil 8.2).
CPU, PLC’nin en önemli ünitelerinden birisidir. PLC programında yer alan lojik işlemleri gerçekleştirir, modüller (giriş modülü, çıkış modülü, güç modülü vb.) arasındaki haberleşmeyi sağlar. S7-200 PLC’lerin farklı CPU’lara (CPU 212, CPU 214, CPU 222 vb.) sahip modelleri vardır.
Bellek, PLC’lerdeki kontrol programını saklamaya yarar. PLC’lerde, PLC’ye ilişkin değişmeyen bilgilerin saklandığı sadece okunur bellek (ROM: Read Only Memory) ve kullanıcı programı, giriş çıkış lojik durumlarının bulunduğu rastgele erişimli bellek (RAM: Random Access Memory) olmak üzere iki çeşit bellek bulunur.
Giriş modülü kontrolü yapılan sistemden algılayıcılar (sensör, ölçme aracı, fotosel, buton, anahtar vs.) yoluyla aldığı sinyali, lojik gerilim seviyelerine dönüştürerek kullanılmasını sağlar. Çıkış modülü ise kontrolü yapılan sistem için 5V DC, 12V DC veya 220V AC lik çıkış sinyalleri sağlar ve bu sinyalleri çıkışlarına bağlı elemanlara (selonoid valf, lamba, röle, motor vs.) aktarır.
Güç birimi, PLC’deki elektronik devrelerin çalışması için gerekli olan enerjiyi temin eder.
PLC Programlaması
PLC programlamada kullanılan programlama teknikleri, Merdiven (Ladder) dili, deyimsel (Boolean) dili, lojik kapılarla programlama, C+ gibi yüksek seviyeli dil ile programlama şeklinde sıralanabilir. Bunlar içinde en çok kullanılan programlama dilleri deyim listesi (statement list, STL) ve merdiven diyagramı (ladder diagram, LAD) dır.
LAD, kumanda sistemlerindeki röleli kontrol diyagramına benzer grafiksel gösterime sahip bir programlama dilidir. STL ise deyimsel komutlar kullanılarak boolean dilinde yazılır. Ancak, yaygın olarak kullanılan STL’nin en büyük dezavantajı her firmanın ürettiği PLC’ye ait komut listesinin farklı olmasıdır.
PLC’de program yazarken, PLC giriş çıkışlarının hangilerinin kullanıldığının programda mutlaka verilmesi gerekir. Kontaklı kumanda devreleri lojik fonksiyonlarla gösterilebilir. Bu ifadeler de PLC’de kontrol komutları ile ifade edilir. Kontrol komutları PLC belleğinde bir adrese atanmaktadır. Kumanda işlemi gerçekleştirilirken bu adreslerdeki bilgiler kullanılmaktadır. Bir adres ifadesi adres tipi, byte numarası ve byte’ın kaçıncı biti olduğu bilgilerini içerir. Örneğin , “I0.2” şeklinde ifade edilen bir adreste “I” adres tipini, “0” byte numarasını ve “2” byte’ın kaçıncı biti olduğunu göstermektedir. CPU 212 için, bu ünitede kullanılacak olan bilgi adres aralıkları kitapta yer alan tabloda (S:141, Tablo 8.1) verilmiştir.
PLC Kumanda Komutları
S7-200’e ait temel komut listesi ve sembolleri kitapta yer alan tabloda (S: 141, Tablo 8.2) verilmiştir.
PLC’de bir program işlerken, bilgi alanına özgü adresler dışında, yığın (stack) bellek denilen bir bellek de kullanılır. S7-200’de 9 seviyeli bir yığın bellek vardır. Yeni bir bilgi yığın belleğe yüklendiğinde en üstteki bilgi bir alta indirilir ve en alttaki bilgi hafızadan silinir.
a. Out Komutu: PLC’de röleler çıkış ismini almıştır ve OUT (=) komutuyla sürülür. Bobin girişi lojik 1 ise işlem sonucu lojik 1, giriş lojik 0 ise işlem sonucu lojik 0’dır. Kitapta yer alan şekilde (S: 142, Şekil 8.3) OUT komutunu örnekleyen LAD ve STL verilmiştir.
b. Load Komutu: LOAD (LD) komutuyla o anki kontağın değeri yığın belleğin en üst seviyesine yüklenir. Yığın elemanları bir kaydırılır, en son eleman silinir. Kitapta yer alan şekilde (S:143, Şekil 8.4) LOAD komutunu örnekleyen LAD ve STL verilmiştir.
c. Load Not Komutu: LOAD NOT (LDN) komutuyla o anki kontağın değerinin tümleyeni yığın belleğin en üst seviyesine yüklenir. Yığın elemanları bir kaydırılır, en son eleman silinir. Kitapta yer alan şekilde (S:143, Şekil 8.5) LOAD NOT komutunu örnekleyen LAD ve STL verilmiştir.
d. And Komutu: AND (A) komutu o anki değerini yığın belleğin en üst seviyesindeki değer ile lojik AND işlemine tabi tutar ve elde edilen değeri yığın belleğin en üst seviyesine yükler. Kitapta yer alan şekilde (S: 143 Şekil 8.6) AND komutunu örnekleyen LAD ve STL verilmiştir.
e. And Not Komutu: AND NOT (AN) komutu o anki değerin tümleyenini yığın belleğin en üst seviyesindeki değer ile lojik AND işlemine tabi tutar ve elde edilen değeri yığın belleğin en üst seviyesine yükler. Kitapta yer alan şekilde (S:143, Şekil 8.7) AND NOT komutunu örnekleyen LAD ve STL verilmiştir.
f. Or Komutu: OR (O) komutu o anki değeri yığın belleğin en üst seviyesindeki değer ile lojik OR işlemine tabi tutar ve elde edilen değeri yığın belleğin en üst seviyesine yükler. Kitapta yer alan şekilde (S:144, Şekil 8.8) OR komutunu örnekleyen LAD ve STL verilmiştir.
g. Or Not Komutu: OR NOT (ON) komutu o anki değerin tümleyenini yığın belleğin en üst seviyesindeki değer ile lojik OR işlemine tabi tutar ve elde edilen değeri yığın belleğin en üst seviyesine yükler. Kitapta yer alan şekilde (S: 144, Şekil 8.9) OR NOT komutunu örnekleyen LAD ve STL verilmiştir.
h. And Blok Komutu: AND BLOCK (ALD) komutu yığın belleğin en üst seviyesindeki iki değeri birbiri ile lojik AND komutuna tabi tutar. Sonuç yine yığın belleğin en üst seviyesine yüklenir. Kitapta yer alan şekilde (S: 144, Şekil 8.10) AND BLOCK komutunu örnekleyen LAD ve STL verilmiştir.
i. Or Blok Komutu: OR BLOCK (OLD) komutu yığın belleğin en üst seviyesindeki iki değeri birbiri ile lojik OR komutuna tabi tutar. Sonuç yine yığın belleğin en üst seviyesine yüklenir. Kitapta yer alan şekilde (S145, Şekil 8.12) OR BLOCK komutunu örnekleyen LAD ve STL verilmiştir.
j. Not Komutu: NOT (NOT) komutuyla yığın belleğin 1. seviyesindeki değer durum değiştirir. Eğer bu değer lojik 1 ise lojik 0, lojik 0 ise lojik 1 olur. NOT komutunu örnekleyen LAD ve STL kitapta yer alan şekilde (S: 145, Şekil 8.13) verilmiştir.
k. Set Komutu: SET (S) komutu bir hafıza alanının istenen bitinden itibaren n adet biti set ( lojik 1) yapmak için kullanılır. Set yapılan çıkışlar hafızaya alınır ve reset yapılana kadar lojik 1 olarak kalır. Kitapta yer alan şekilde (S: 145, Şekil 8.14) SET komutunu örnekleyen LAD ve STL verilmiştir.
l. Reset Komutu: RESET (R) komutu bir hafıza alanının istenen bitinden itibaren n adet biti reset (lojik 0) yapmak için kullanılır. Reset yapılan çıkışlar hafızaya alınır ve set yapılana kadar lojik 0 olarak kalır. Kitapta yer alan şekilde (S:146, Şekil 8.15) RESET komutunu örnekleyen LAD ve STL verilmiştir.
PLC’de zamanlayıcılar iki gruba ayrılır: 1. Gecikmeli Zamanlayıcı(TON) 2. Gecikmeli Kalıcı Tip Zamanlayıcı(TONR). Kitapta yer alan şekillerde (S: 147, Şekil 8.18(a) ve 8.18 (b)) sırasıyla TON tipi ve TONR tipi zamanlayıcı görülmektedir.
TON tipi zamanlayıcı enable girişine pozitif bir akım geldiğinde zamanlama işlemini başlatır. Enable girişindeki pozitif akım gittiğinde ise zamanlayıcı reset olur. Zamanlayıcıyı sıfırlamak için reset komutu da kullanılabilir.
TONR tipi zamanlayıcı enable girişine pozitif bir akım geldiğinde zamanlama işlemini başlatır. Enable girişindeki pozitif akım gittiğinde ise zamanlayıcı durmaz, sayılan zaman bellekte tutulur. Enable girişine tekrar pozitif bir akım geldiğinde, zaman sayıcı kaldığı yerden saymaya devam eder. Zamanlayıcıyı sıfırlamak için sadece reset komutu kullanılabilir.
TON ve TONR tipi zamanlayıcılar maksimum 32767 değerine kadar sayabilir. Her iki zamanlayıcıda Preset Time (PT) ve 1 msn, 10 msn ve 100 msn lik çarpan değerler vardır. Zamanlayıcının sağladığı gecikme zamanı= PT*çarpan değer ile hesaplanır. S7-200’deki CPU 212’de 64 adet zamanlayıcı vardır. S7-200’deki CPU 212 için zamanlayıcı tipleri ve çarpanların dağılımı kitapta yer alan tabloda (S:147, Tablo 8.3) gösterilmektedir. Tabloda da görüldüğü gibi T0-T31, değişik çarpanlara sahip TON tipi zamanlayıcıları, T32-T63 de yine değişik çarpanlara sahip TONR tipi zamanlayıcıları göstermektedir.
PLC’de sayıcılar iki gruba ayrılır: 1. YukarıSayıcı(CTU) 1. Yukarı/AşağıSayıcı(CTUD). Kitapta yer alan şekillerde (S: 148, Şekil 8.20 (a) ve (b)) sırasıyla CTU tipi ve CTUD tipi sayıcılar görülmektedir.
CTU tipi sayıcılarda sayıcı girişi lojik 0 dan lojik 1 e değiştiğinde sayıcının değeri 1 artar. Sayıcı 32767 değerine gelince sayma işlemi durur, reset komutunun işlemesiyle sıfırlanır.CTU sayıcıda CU yukarı sayıcının sayma girişi, R reset girişidir. CXXX sayıcının değeri PV girişinin değerine eşit ya da büyük olduğunda sayıcı biti (counter bit) lojik 1 durumuna geçer.
CTUD sayıcının CTU dan farkı sayıcıya fazladan CD girişinin eklenmesidir. CTUD sayıcıda CU yukarı sayıcı girişidir, bu giriş lojik 0 dan lojik 1 e değiştiğinde sayıcının değeri 1 artar; CD aşağı sayıcı girişidir, bu giriş aktif olduğunda sayıcının değeri 1 azalır. R ve PV girişlerinin işlevi CTU sayıcıdakiyle aynıdır.
Karşılaştırma komutları iki değeri büyüklük, küçüklük ve eşitlik ölçütlerine göre karşılaştırır. LDW bu komutlardan bir tanesidir. LDW verilen iki değeri verilen ölçüte göre karşılaştırır, elde edilen lojik değeri yığın belleğin en üst seviyesine yükler.
LOGIC PUSH (LPS) komutu yığın belleğin 1. seviyesinin değerini bir kere daha yığın belleğin üzerine yazarak yığını aşağı kaydırır.
LOGIC READ (LRD) komutu yığın belleğin 2. seviyesini yığın belleğin 1. seviyesine kopyalar.
LOGİC POP (LPP) komutu yığın belleği bir yukarı kaydırıp 1. seviyedeki elemanı atar.
END (MEND) komutu programın bittiğini CPU’ya bildirir.