OTOMASYON SİSTEMLERİ DERS NOTLARI Yrd.Doç.Dr. Birol ARİFOĞLU Yrd.Doç.Dr. Ersoy BEŞER 2015 OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
1
Endüstriyel Otomasyon Bir üretim sisteminin istenilen biçimde gerekli işlemlerin insan müdahalesine gerek olmadan otomatik olarak yapılmasını sağlayan süreç olarak tanımlanır. Başka bir ifadeyle üretim biriminin amaca uygun çalışmasını düzenler. Bu düzenleme esnasında ayrıca üretim biriminin yönetim ve planlanması için verilerin sahadan alınması ve ilgili birimlere aktarılması işlemlerini de gerçekleştirir. Endüstriyel otomasyon genel olarak; i) Endüstriyel kumanda sistemleri, ii) Endüstriyel kontrol sistemleri, iii) Endüstriyel veri iletişim sistemleri, alt bölümlerinden oluşur. Endüstriyel kumanda sistemleri : Üretim birimlerinin çalışma koşullarını mantıksal kurallara göre düzenleyen ve gerçekleyen sistemleridir. Bu tür devrelerde mantıksal ilişki, zamanlama ve sayma işlevleri kullanılarak amaca uygun kumanda işaretleri üretilir. Endüstriyel kontrol sistemleri : Bir üretim sürecini, her türlü bozucu etkiye istenen değerde çalışmasını sağlamak üzere kurulan sistemlerdir. Kontrol sisteminin temel görevi, herhangi bir nedenle oluşan hatayı (kontrol edilen büyüklük ile istenen büyüklük arasındaki fark) belirli değerler arasında tutmaya çalışmaktır. Endüstriyel veri iletişim sistemleri : Bilginin güvenilir ve hızlı şekilde birimler arasında gerçek zamanlı olarak akışını sağlayan sistemlerdir. Ayrıca SCADA (Supervisory Control and Data Acquisition) gibi özel yazılımlar ile gerçek zamanlı süreç izleme, uzaktan kumanda ve kontrol işlemleri gerçekleştirilir. Programlanabilir Lojik Kontrolör (PLC – Programmable Logic Controller) günümüzde endüstriyel otomasyon sistemlerinin yukarıda anlatılan her üç alt bölümünü de gerçekleyen aygıt özelliğini taşımaktadır. PROGRAMLANABİLİR LOJİK KONTROLÖR (PLC) Otomasyon sistemlerinin en önemli kısmını, bu sistemlere büyük esneklik veren programlanabilen cihazlar oluşturmaktadır. Bu cihazların temelini de mikroişlemciler ya da mikrodenetleyiciler oluşturmaktadır. Gerçekte PLC’ler mikroişlemciler ya da mikrodenetleyiciler kullanılarak gerçekleştirilmiş cihazlardır. PLC’lerin ortaya çıkarılma amacı, röleli kumanda sistemlerinin gerçekleştirdiği fonksiyonların mikroişlemcili kontrol sistemleri ile yerine getirilebilmesidir. Lojik temelli röle sistemlerine alternatif olarak tasarlandıklarından PROGRAMLANABILIR LOJIK KONTROLÖR (Programmnable Logic Controller) adı verilmiştir. İlk ticari PLC, 1969 yılında röleli elektriksel kumanda devrelerinin yerine kullanılmak üzere Modicon firması tarafından geliştirilmiş ve üretilmiştir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
2
Şekil 1. Modicon 084 ilk PLC Röleli kumanda devreleri yerine kullanılmak üzere geliştirilen bu aygıt yalnız temel mantıksal işlem komutları içerdiğinden programlanabilir lojik kontrolör adı ile piyasaya sunulmuştur. PLC’ler otomasyon sistemlerinde yardımcı röleler, zaman röleleri, sayıcılar gibi kumanda elemanlarının yerine kullanılan mikroişlemci temelli cihazlardır. Bu cihazlarda zamanlama, sayma, sıralama ve her türlü kombinasyonel ve ardışık lojik işlemler yazılımla gerçekleştirilir. Karmaşık otomasyon problemlerini PLC ile çözmek hızlı ve güvenli ve kolaydır. PLC’lerin avantajlarını kısaca sıralayacak olursak;  PLC’leri kullanmak daha kolay ve güvenilirdir.  Daha az yer tutar ve daha az arıza yaparlar.  Yeni bir uygulamaya daha çabuk adapte olurlar.  Kötü çevre şartlarından kolay etkilenmezler.  Daha az kablo bağlantısı isterler.  Hazır fonksiyonları kullanma imkanı vardır.  Giriş ve çıkışların durumları izlenebilir. PLC’ler ; lojiksel ve aritmatiksel işlemler, sıralama, sayma, veri işleme, karşılaştırma gibi fonksiyonları gerçekleştirirken girişleri değerlendirip çıkışları atayan, bellek, giriş/çıkış, CPU ve programlayıcı bölümlerinden oluşan entegre bir cihazdır. Günümüzde üretilen PLC’lerin giriş/çıkış sayısı, program belleği, işlem yeteneği gibi özellikleri başlangıçtaki durumu ile kıyaslanamayacak bir düzeye ulaşmıştır. Örneğin, geniş ölçekli bir PLC’lerde giriş/çıkış sayısı binleri, program belleği ‘megabyte’ boyutunu ve işlem yeteneği genel amaçlı kişisel bilgisayar düzeyine ulaşmıştır. Piyasada, Allen‐Bradley, General Electric, Siemens, Mitsubishi, Omron, Toshiba, ABB, Hitachi, Texas Instruments gibi firmalara ait PLC’ler yer almaktadır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
3
a) Siemens Simatic S7‐200 b) Siemens Simatic S7‐300 c) Siemens Simatic S7‐1200 d) Siemens Simatic S7‐1500 e) Siemens Simatic S7‐400 f) Omron PLC g) ABB AC500‐eCO h) Mitsubitsi PLC Şekil 2. Piyada yer alan PLC’lerden bazıları OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
4
PLC NİN KULLANIM AMACI VE ALANLARI PLC‟ler endüstri alanında kullanılmak üzere tasarlanmış, sayısal prensiplere göre yazılan fonksiyonu gerçekleyen, bir sistemi ya da sistem gruplarını giriş/çıkış birimleri ile denetleyen, içinde barındırdığı zamanlama, sayma, saklama ve aritmetik işlem fonksiyonları ile genel kontrol sağlayan elektronik bir cihazdır. PLC sistemi sahada meydana gelen fiziksel olayları, değişimleri ve hareketleri çeşitli ölçüm cihazları (algılayıcılar) ile belirleyerek, gelen bilgileri, yazılan programa göre bir değerlendirmeye tabi tutar. Mantıksal işlemler sonucu ortaya çıkan sonuçları da kumanda ettiği elemanlar aracılığıyla sahaya yansıtır. Sahadan gelen bilgiler ortamda meydana gelen aksiyonların elektriksel sinyallere dönüşmüş halidir. Bu bilgiler analog ya da sayısal olabilir. Bu sinyaller bir algılayıcıdan veya bir kontaktörün yardımcı kontağından gelebilir. Gelen bilgi analog ise gelen değerin belli bir aralığı için, dijital ise sinyalin lojik’0’ veya lojik’1’ olmasına göre sorgulama yapılabilir. Bu algılama olayları giriş birimleri ile müdahale olayları ise çıkış birimleri ile yapılır. PLC ile kontrolü yapılacak sistem büyüklük açısından farklılıklar gösterebilir. PLC ile sadece bir makine kontrolü yapılabileceği gibi bir fabrikanın komple kumandası da gerçekleştirilebilir. Aradaki fark sadece, kullanılan kontrolörün (PLC’nin) kapasitesi ile ilgilidir. PLC'ler her türlü otomasyon işlerinde kullanılmaktadır. Kimya sektöründen gıda sektörüne, üretim hatlarından depolama sistemlerine, marketlerden rafinerilere kadar çok geniş bir yelpazede PLC’ler kullanılmaktadır. Elektronik sektöründeki hızlı gelişmelere paralel olarak gelişen PLC teknolojisi, gün geçtikçe ilerlemekte otomasyon alanında mühendislere yeni ufuklar açmaktadır. İmalat sanayi, tarım, enerji üretimi, kimya sanayi vb. endüstrinin tüm alanlarında kullanılan PLC’lerin genel uygulama alanları aşağıda sıralanmıştır; i) Sıralı Kontrol PLC’lerde en çok kullanılan kontrol yöntemidir. Bu kontrol yöntemi “sıralı çalışma“ özelliği ile kumanda sistemlerine en benzer olan endüstriyel uygulamadır. Uygulama açısından, bağımsız makinelerde ya da makine hatlarında, konveyör ve paketleme makinelerinde ve hatta modern asansör denetim sistemlerinde kullanılmaktadır. ii) Hareket Kontrolü Doğrusal veya döner hareket denetim sistemlerinin PLC’ler ile ortak kullanılmasıdır. Örnek olarak servo kontrol veya hidrolik sürücülerde kullanılabilen tek ya da çok eksenli bir sistem denetimi verilebilir. PLC hareket kontrolü uygulamaları, sonsuz bir makine çeşitliliği ve çoklu hareket eksenlerini kontrol edebilirler. Bunlara örnek olarak; kartezyen robotlar, film, kauçuk ve dokunmamış kumaş tekstil sistemleri gibi ilgili örnekler verilebilir. iii) Süreç Denetimi Bu uygulama PLC’nin birkaç fiziksel parametreyi (sıcaklık, basınç, debi, hız, ağırlık vb gibi) denetleme yeteneğiyle ilgilidir. Bu da bir kapalı çevrim denetim sistemi oluşturmak için, OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
5
analog giriş/çıkış gerektirir. PID fonksiyonunun kullanımıyla PLC, tek başına kapalı çevrim denetleme görevini yerine getirebilir. Buna tipik örnek olarak plastik enjeksiyon makineleri ve ısıtma fırınları verilebilir. iv) Veri Yönetimi PLC ile verilerin toplanması, incelenmesi ve işlenmesi kolaylıkla yapılabilmektedir. PLC’ler denetlediği proses hakkında veri toplayıcı olarak kullanılabilir. Bu veriler, denetleyicinin belleğindeki referans veri ile karşılaştırılır ve rapor alımı için başka cihazlara aktarılabilir. Veri yönetimi, endüstride, malzeme işleme tesislerinde, kağıt, metal ve yiyecek işleme gibi birçok prosesde kullanılır. Kullanım Alanlarına Örnekler  Havalandırma ve soğutma tesislerinde,  Paketleme ve ambalajlama tesislerinde,  Taşıma tesislerinde,  Otomobil endüstrisi,  Petrol dolum ve yıkama tesislerinde,  Çimento sanayinde,  Klima ve asansör tesislerinde,  Aydınlatma ve vinç tesislerinde,  İmalat, tarım, tekstil ve her türlü makinelerde,  Elektro pnomatik–hidrolik sistemlerde,  Robot tekniğinde kullanılmaktadır. PLC NİN GENEL YAPISI Bir PLC, en genel anlamda işlevsel üç temel birimden oluşur. Bu birimler; giriş birimi, merkezi işlem birimi (CPU) ve çıkış birimidir. Şekil 3. PLC genel yapısı OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
6
Merkezi İşlem Birimi (CPU) : Merkezi işlem birimi; mikroişlemci, bellek çipleri, bellekten bilgi isteme ve bilgi saklama devreleri ve programlama aygıtlarıyla işlemcinin ihtiyaç duyduğu haberleşme devrelerinden oluşur. İşlemci zamanlama, sayma, tutma, karşılaştırma ve temel dört işlemi içeren matematik işlemleri gerçekleştirilebilir. Bellekler : PLC’ de bulunan bellekler 3 kısımdan oluşmaktadır.  Sistem Program Belleği : Bu bellek ROM tipi (sadece okunabilir) bellektir ve içinde PLC’ nin işletim sistemin bulunmaktadır.  Program Belleği : Bu bellek EEPROM tipi bellektir. Bu belleğe programcının yazdığı program kaydedilmektedir.  Veri Belleği : İşlem esnasında veya sonucunda oluşan ve daha sonra kullanılacak olan verilerin saklandığı yerdir. Örnek : Giriş/Çıkış ‘ ların durumları, sayıcı/zamanlayıcı içerikleri analog işaretlere ilişkin sayısal değerler vb. Ayrıca PLC’lerde ara değerlerin saklandığı Marker, Flag, Internal Output, Auxilary Relay gibi işimler verilen veri alanları da bulunmaktadır. Bu verilen için F, M, V gibi harflerle başlayan F0.1, M0.2, V0.0 gibi adresler kullanılır. Giriş Birimi : Sahadan, endüstriyel sistemden, algılama elemanlarından gelen elektriksel işaretleri mantıksal (lojik) gerilim seviyelerine dönüştüren birimdir. Giriş biriminde lojik gerilim seviyelerine dönüşmüş bilgiler Giriş Görüntü Belleğine alınmaktadır. Şekil 4. PLC’ ye bağlanan bazı giriş/çıkış elemanları Kumanda edilen sisteme ilişkin, basınç, seviye, sıcaklık algılayıcıları, kumanda düğmeleri ve yaklaşım anahtarları gibi elemanlardan gelen 2 değerli işaretler (lojik ‘0’ – lojik ‘1’) giriş birimi üzerinden alınır. Giriş biriminde gerilim seviyesi ; 24V DC, 100‐120V AC, 200‐240V AC olabilir. Çıkış Birimi : İşlem sonucunda elde edilen sonuçlar Çıkış Görüntü Belleğine aktarılmaktadır. Çıkış birimi, çıkış görüntü belleğindeki mantıksal (lojik) işaretleri, kontaktör, röle gibi kumanda elemanlarını sürmeye uygun elektriksel işaretlere dönüştüren kısımdır. Çıkış birimi; röle, transistör veya triyak çıkışlı olabilir.  Röle çıkış : 1A‐8A arasında sık devreye girmeyen ve elektriksel yalıtım gerektiren duumlarda kullanılır.  Transistör çıkış : Doğru akım (DC) devrelerinde 0.1A‐2A arasında ve hızlı açma‐
kapama yapılması gereken durumlarda kullanılır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
7
 Triyak çıkış : Alternatif akım (AC) devrelerinde 0.1A‐2A arasında ve hızlı açma‐kapama yapılması gereken durumlarda kullanılır. Diğer Birimler :  Besleme güç kaynağı : PLC içerisindeki elektronik devrelerin çalışması için gerekli olan gerilimi istenilen seviyede temin eder. PLC’ lerin 220 VAC veya 24 VDC de çalışan tipleri mevcuttur. Bazı PLC’lerde dahili bir güç kaynağı bulunmakta olup bu kaynak PLC’nin kendisinin, genişleme modüllerinin gereksinimini karşılamaktadır.  İletişim ara birimi : PLC’ nin dokunmatik panel, bilgisayar, motor sürücüleri ve diğer PLC ve cihazlar ile haberleşmesini sağlayan birimdir. Haberleşme esnasında, PLC’ler için geliştirilmiş, RS232, RS485, Profibus, Profinet gibi haberleşme protokolleri kullanılmaktadır.  Genişleme birimi: Giriş ve çıkış sayısı kumanda problemini çözecek miktarda değilse PLC sistemine ek bir takım modüller bağlanarak cihazın kapasitesi genişletilir. Bu durumda PLC’ye giriş ve çıkış üniteleri eklenmiş olur. Genişletilecek giriş ve çıkış sayıları PLC’lerin marka ve modellerine göre değişir. Hangi firmanın PLC’sine genişletme ünitesi eklenecekse o firmanı ürettiği genişletme modülleri kullanılır.  Yüksek hızlı sayıcı birimi,  Analog giriş/çıkış birimi : Analog giriş modülleri analog girişlerden alınan analog akım ve gerilim sinyallerini okumak için kullanılır. Bu sinyaller bir analog‐dijital‐konverter (ADC) sayesinde dijital sinyale çevrilir. Bu birimde analog sinyal ile orantılı olarak 12‐
16 bit ikili sayı (binary) şekline dönüştürülür. Analog girişe genellikle sıcaklık, hız, basınç, nem algılayıcıları gibi algılayıcılar bağlanır. Analog çıkış modülü ise dijital bilgiyi analog sinyale dönüştürerek, küçük motorlar, valfler ve analog ölçü aletleri gibi elemanlara kumanda eder.  Gerçek zamanlı saat birimi,  Programlayıcı birimi : Yazılan bir programı işletilmek üzere PLC program belleğine yüklenmesi bir programlayıcı birimi sağlanır. Bu birim günümüzde kişisel bilgisayara yüklenmiş bir yazılımdır. Bu birim programın yazılması, PLC’ ye aktarılması ve çalışma anında giriş/çıkış , sayıcı, zamanlayıcı ve veri belleğindeki çeşitli bilgilerin durumlarının gözlenmesi veya değiştirilmesi gibi olanakları da sağlamaktadır. PLC’lere gerektiği durumlarda ek olarak ;  Dijital Giriş/Çıkış (I/O – DI/DO) modülleri,  Analog Giriş/Çıkış (AI/AO) modülleri,  Hızlı Giriş/Çıkış (I/O – DI/DO) modülleri,  Termokupl modülleri,  Sürücü modülleri, bağlanabilmektedir. PLC Giriş/Çıkış Elemanları Butonlar :  Start Butonu : Start (NO kontak) (başlatma) butonudur. Bu butonlarda kontak normalde açıktır. Butona basılınca, açık olan kontak kapanır. Buton üzerinden etki kaldırıldığında, kapanan kontak hemen açılır. Bunlara ani temaslı buton da denir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
8
Şekil 5. Start butonunun elektriksel gösterimi ve resmi.  Stop Butonu : Stop (NC kontak) (durdurma) butonudur. Bu butonlarda kontak normalde kapalıdır. Butona temas edilince, kapalı olan kontak açılır; temas olduğu sürece açık kalır. Butondan temas kalkınca kontaklar normal konumunu alır. Şekil 6. Stop butonunun elektriksel gösterimi ve resmi.  İki Yollu Kumanda Butonu : Start (NO kontak) ve stop (NC kontak) butonunun birleşmesinden oluşmuştur. Kapalı kontak stop butonu olarak açık kontak ise start butonu olarak kullanılır. Şekil 7. Jog butonunun elektriksel gösterimi ve resmi. Mekanik Sınır Anahtarları : Mekanik bir etkiyle kontakları konum değiştiren giriş elemanlarıdır. Şekil 8. Sınır anahtarının elektriksel gösterimi ve resmi. Endüktif Yaklaşım Sensörler : Kendisine yaklaşan cismi temas etmeden algılamak için kullanılır. Sensör kendi algılama sahası içerisinde bir manyetik alan oluşturur. Algılama sahasına giren bir metal cisim bu manyetik alanı etkiler. Bu değişim sensör içerisindeki elektronik devrelerde işlenir ve sensörün çıkış değerini değiştirir. Endüktif yaklaşım sensörleri OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
9
daha çok, makinelerin hareketli metal parçalarının konumlarını algılamak amacıyla kullanılır. Endüstriyel alanda ise makine otomasyonunda pozisyon algılama ve hareket kontrol amacıyla kullanılırlar. CNC kontrollü takım tezgahları, robotik uygulamalar, enjeksiyon ve ekstrüksiyon makinaları, ambalaj makinaları, hidrolik presler, otomat tezgahları, sac kesme makinaları endüktif sensörlerin uygulama alanlarıdır. Endüktif sensörler genellikle 50mm mesafeye kadar algılama yaparlar. Fiziksel özellikleri birçok uygulama için farklılık gösterir. Standart uygulamalarda kullanılan modeller silindirik ve kübik olmalarına rağmen özel uygulamalarda birçok farklı şekilde imal edilebilirler. Metrik vida dişli standart silindirik sensörler M5, M8, M12, M18 ve M30’ dur. Sensör çapı büyüdükçe algılama mesafesi artar. Standart M5 endüktif sensör 1‐2mm mesafeye kadar algılama yaparken, standart M30 endüktif sensör 15‐20 mm mesafeden algılama yapabilirler. Şekil 9. Endüktif Yaklaşım sensörünün iç yapısı ve fotoğrafı. Kapasitif Yaklaşım Sensörler : Alandaki kapasitif değişikliği saptayarak algılama yaparlar. Kapasitif yaklaşım algılayıcıları hem iletken olmayan (plastik, tahta, cam, porselen vb.) hem de iletken olan (metaller) nesneleri algılamak için sanayide kullanılırlar. Metrik vida dişli standart silindirik sensörler M5, M8, M12, M18 ve M30’ dur. Sensör çapı büyüdükçe algılama mesafesi artar. 2 – 15mm mesafeden algılama yapabilirler. Şekil 10. Kapasitif Yaklaşım sensörünün fotoğrafı. Optik Sensörler : Optik sensörlerin, cisimden yansımalı, karşılıklı tip ve reflektörlü olanları mevcuttur. Tehlikeli makinelerin çevresinde güvenlik bariyeri olarak, otopark girişlerinde araç saydırma işlemlerinde, üretim bantlarında üretilen malın sayımında, alarm sistemlerinde, yaklaşım anahtarı olarak otomatik kapılarda vb. gibi yerlerde kullanılırlar. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
10
Şekil 11. Çeşitli optik sensörlerin fotoğrafları. Röleler : Küçük güçteki elektromanyetik anahtarlara, röle denir. Röleler elektromıknatıs, palet ve kontaklar olmak üzere üç kısımdan oluşur. Şekilde bir rölenin yapısı, görünüşü ve sembolü verilmiştir. Elektromıknatıs, demir nüve ve üzerine sarılmış bir bobinden ibarettir. Bobin uçlarına gerilim uygulandığında, nüve mıknatıslık özelliği kazanarak paleti kendine doğru çeker. Bu hareket sonucu, palet üzerindeki kontaklar konum değiştirir, açık olan kontak kapanır, kapalı olan kontak açılır. Rölelerde bir veya daha fazla sayıda kontak bulunabilir. Rölenin paletine bağlanmış bir yay kontakların normal konumda kalmalarını sağlar. Rölenin kontakları normalde açık ("Normally Open ‐ NO"), normalde kapalı ("Normally Closed ‐ NC") şeklinde olabilir.
Şekil 12. Bir rölenin yapısı, fotoğrafı ve sembolü. Kontaktörler : Kontaktörler, bobinine enerji verilmesiyle açık kontakları kapatan, kapalı kontakları açan, uzaktan kontrol edilmeye imkân veren elektromanyetik anahtarlardır. Rölelerin aksine, yüksek akım çeken devrelerde kullanılır. Kontaktör elektrik motorlarında, kompanzasyonda kondansatörlerin devreye alınıp çıkarılmasında, ısıtma sistemlerinin ayarlanmasında sıklıkla kullanılır. Termik röleler ile kullanıldığında ise cihazları ve tesisleri aşırı yük akımlarına karşı korurlar. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
11
Şekil 13. Kontaktörün çalışma prensibi. Şekil 14. Çeşitli kontaktörlerin fotoğrafları. Bir kontaktörün yapısında bulunan temel elamanlar demir nüve, bobin, palet ve kontaklardır.  Demir Nüve: Alternatif akım kontaktörlerinde ince saçlardan yapılır, doğru akım kontaktörlerinde tek parçalı yumuşak demirden imal edilir. AC kontaktörlerinde nüvenin ön yüzüne oyuklar açılır ve bu oyuklara bakır halkalar yerleştirilir. Bu halkalar hem gürültü ve titreşimi önler hem de akımın sıfır olduğu durumda nüvenin bırakılmasına engeller. DC kontaktörlerinde ise bobinin enerjiden kesildiği anda paleti hemen bırakması için plastik pullar yerleştirilir. Şekil 15. Kontaktör nüvesi, bakır halka ve bobin resimleri.  Bobin: Üzerinden akım geçmesiyle nüveye manyetik özellik katar. Sarım sayısı çalışma gerilimine göre değişir. Bobinlerin gerilimleri DC ya da AC olarak 24 ‐ 48 ‐ 220 ‐ 380 volt olabilmektedir.  Kontaklar: Normalde açık (NO) ve normalde kapalı (NC) olmak üzere iki çeşittirler. Bunlar ana ve yardımcı kontaklar olarak da adlandırılırlar. Palet üzerine yerleştirilen OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
12
kontakların bir kısmı başlangıçta açık veya kapalıdırlar. Bobinin enerjilenmesiyle kontaklar durum değiştirirler. Güç Kontakları Yardımcı Kontaklar Şekil 16. Kontaktör bobin ve kontak sembolleri. Güç kontakları (ana kontaklar), ana akım yolu üzerinde bulunur ve yük akımını taşırlar. Yardımcı kontaklara göre yüksek akıma dayanıklı olup, motor vb. alıcıları çalıştırmak için kullanılırlar. Bu nedenle yapıları büyüktür. Kumanda kontakları (yardımcı kontaklar), isminden de belli olduğu üzere kumanda sisteminde kullanılır ve kumanda devresinin akımını taşırlar. Termik aşırı akım rölesi, zaman rölesi, ısı kontrol rölesi, mühürleme vb. gibi düzeneklerin çalıştırılmasında görev yaparlar. Bu kontakların ana akım kontaklarına göre mukavemetleri düşüktür. Bu nedenle yapıları küçüktür ve ana akım devresine bağlanmamalıdır.Ana kontaklar yük akımını, yardımcı kontaklar kumanda akımını taşırlar. Şekil 17. Kontaktör kontaklarını elektriksel sembol ve numaraları. Zaman Röleleri : Zaman röleleri, zamanı tutmak için kullanılan kumanda elemanıdır. Özelliğine göre, zaman rölelerinin kontakları, ani ya da zaman gecikmeli olarak konum değiştirir. Zaman röleleri en çok düz zaman rölesi (ON delay timer) ve ters zaman rölesi (OFF delay timer) olarak bulunur. Şekil 18. Çeşitli zaman röle fotoğrafları. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
13
 Düz zaman röleleri : Bobinine enerji verildikten belli bir süre sonra, normalde açık olan kontağını kapatır, normalde kapalı olan kontağını da açar. Başka deyişle ; Röle bobinine enerji uygulandığında, ayarlanan süre sonunda kontaklar konum değiştirir. Röle bobininin enerjisi kesildiğinde kontaklar ilk konumuna geri döner. Şekil 19. Düz zaman rölesi bobin ve kontak sembolleri. Şekil 20. Düz ve ters zaman rölesi zaman diyagramları.  Ters zaman röleleri : Röle bobinine enerji uygulanır uygulanmaz, kontaklar hemen konum değiştirir. Röle bobininin enerjisi kesildiğinde, ayarlanan süre sonunda kontaklar ilk konumuna geri döner. Zamanlayıcının gecikme zamanı, kullanılan zamanlayıcının tipine bağlıdır. Örneğin 0.1sn., 1sn., 1dk. vb. Şekil 21. Ters zaman rölesi bobin ve kontak sembolleri. Sayıcılar : Sayıcı, girişine uygulanan verileri saymaya yarayan kumanda elemandır. Sayıcılar, ardışık diyagram içerisinde numaraları kontrol etmek ve göstermek amaçları ile kullanılır. Sayıcılar, toplam sayıcı ve on değer sayıcısı olmak üzere ikiye ayrılabilir. Toplam sayıcı, saymaya ve sayılan değeri ekranında göstermeye yarar. Herhangi bir çıkış kontağı yoktur. On değer sayıcısı ise, önceden belirtilmiş olan değere kadar giriş verilerini sayar ve bu değere ulaşıldığı anda çıkış kontağını aktif eder. On değer sayıcıları hemen hemen toplam sayıcıların sahip olduğu tüm özelliklere sahiptir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
14
Şekil 22. Çeşitli sayıcı fotoğrafları.  Yukarı sayıcı (UP counter) : Bu sayıcı, her giriş sinyalinde saymış olduğu sayıyı bir yukarıya arttırır.  Asağı sayıcı (DOWN counter) : Bu sayıcı, her giriş sinyalinde saymış olduğu sayıyı bir aşağıya doğru azaltır.  Yukarı / asağı (UP/Down) sayıcı : Bu sayıcı, her bir sinyalin gelişine göre toplam sayıyı artıran ya da azaltan fonksiyona sahiptir. Şekil 23. Sayıcı zaman diyagramları. Kaynaklar 1) PLC ile Endüstriyel Otomasyon, Salman Kurtulan,2010. 2) MEB Temel PLC Eğitimleri, 2011. 3) Elektromekanik kumanda sistemleri, Yrd.Doç.Dr. Nuray At, Yrd.Doç.Dr. Hanife Apaydın Özkan, Anadolu üniversitesi, 2013. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
15
KUMANDA DEVRELERİ Örnek : Stop öncelikli Start – Stop Devresi (Klasik Mühürleme Devresi): START butonuna basıldığında M kontaktörü enerjilenir, M kontaktörünün normalde açık (NO) kontakları kapanır ve motor dönmeye başlar. Aynı anda M kontaktörünün START butonuna paralel bağlı olan kontağı da kapanır ve akım üzerinden geçmeye başlar. Dolayısıyla START butonu bırakılsa bile akım start butonuna paralel bağlı M kontağından geçerek M kontaktörünü enerjili tutmaya devam eder. Bu olaya mühürleme (elektriksel mühürleme) adı verilir. STOP butonuna basıldığı zaman M kontaktörünün enerjisini kesilir, kontaktör enerjilendiğinde kapanan kontaklar eski durumuna geri döner ve motor durur. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
16
Örnek : Start öncelikli Start – Stop Devresi : Örnek : Elektriksel Kilitlemeli Dönüş Yönünü Değiştirme Devresi Motoru istenilen yönde döndürmek için ILERI ve GERI butonları kullanılır. Motor bir yönde dönmekteyken tersi yönde dönmesi kumanda devresinden elektriksel olarak engellenmiştir. Örneğin ILERI butonuna basıldığında I kontaktörü enerjilenecek ve motor ileri yönde dönmeye başlayacaktır. I kontaktörü enerjilendiğinde, G kontaktörünün önünde bulunan I kontaktörünün normalde kapalı kontağı (NC) açılır ve Geri butonuna basılsa bile G OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
17
kontaktörünün enerjilenmesini engeller. Bu duruma elektriksel kilitleme denir. Dolayısıyla motoru geri döndürmek için önce STOP butonuna basılarak I kontaktörünün enerjisinin kesilmesi gerekir. Örnek : Sınır Anahtarı ile Dönüş Yönü Değiştirme OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
18
Örnek : 2 start ve 2 stop butonu ile 2 ayrı motorun kontrolü yapılacaktır. 1. motorun start butonuna basıldığında 1 nolu motor çalışacaktır. 1 nolu motor çalışırken 2. motorun start butonuna basılsa bile 2 nolu motor çalışmayacaktır. Aynı durum 2 nolu motor içinde geçerli olacak yani 2 nolu motor çalışırken 1. motorun start butonuna basılsa bile 1 nolu motor çalışmayacaktır. Gerekli kumanda ve güç devresini çiziniz. Örnek : Bir giyotin pres çalıştırılacaktır. Güvenlik amacıyla pres üzerinde 2 adet start butonu yerleştirilmiştir.  2 start butonuna 1 dk süre ile basıldığında pres devreye girecek ve 3 dk. çalışıp devreden çıkacaktır.  2 start butona basıldığında ve basılı kaldığı süre boyunca bir korna çalacak ve pres çalışmaya başlayınca 2 start butonuna basılsa bile korna devreden çıkacaktır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
19
Örnek : Bir tezgah üzerindeki 3 motor aşağıdaki sıra ve şartlara uygun çalışacaktır.  Start butonuna basılır basılmaz sistem kontaktörü devreye girecektir.  Sistem kontaktörünün devreye girmesi ile birlikte 1 nolu motor devreye girecektir.  1 nolu motor 10dk çalışıp devreden çıkacak ve 2 nolu motor devreye girecektir.  2 nolu motor 15dk çalışıp devreden çıkacak ve 3 nolu motor devreye girecektir.  3 nolu motor 5dk çalışıp devreden çıkacak ve sistem başa, start butonuna basılmadan önceki durumuna dönecektir. Örnek : Bir start ve stop butonu ile bir motor periyodik olarak çalıştırılacaktır. Start butonuna basıldığında bir sistem kontaktörü devreye girecektir. Sistem kontaktörü ile beraber motor devreye girecektir. Motor 3dk çalışıp, 2dk durarak periyodik olarak çalışacaktır. Bu periyodik çalışma stop butonuna basılmasıyla duracaktır. Gerekli kumanda ve güç devresini çiziniz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
20
Örnek : Bir hidrolik pompa sistemi çalıştırılacaktır. (NOT: Sistem kontaktörü kullanılmayacaktır.)  Start butonuna basıldığı zaman uyarı korması çalmaya başlayacak ve start butonuna 1 dk boyunca sürekli basılırsa hidrolik pompa devreye girecektir.  Hidrolik pompa 10dk çalışıp devreden çıkacaktır.  Eğer start butonuna 1dk’ dan az süre ile basılırsa hidrolik pompa devreye girmeyecektir.  Hidrolik pompa devreye girdikten sonra start butonu bırakılsa bile hidrolik pompa 10dk boyunca devrede kalacaktır.  Hidrolik pompa devreye girince korna devreden çıkacaktır.  Hidrolik pompa devreden çıktıktan sonra start butonuna basılsa bile 5dk boyunca devreye girmesi engellenecektir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
21
Örnek : Zaman diyagramı verilen sistemin kumanda devresini gerçekleştiriniz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
22
Ba
ş
lan
gı
ç
PLC ‘ DE PROGRAMIN YÜRÜTÜLMESİ PLC ‘ de programın yürütülmesi, yukarıdaki şekilde görüldüğü gibi belirli işlemlerin sürekli periyodik bir çevrim halinde yapılması ile gerçeklenir. Kesmeli çalışma, analog giriş/çıkış biriminden veri okuma veya yazma, giriş biriminden anında okuma, çıkış birimine anında yazma gibi işlemlerin yapılmadığı sadece dijital giriş/çıkış biriminden okuma veya yazma yapıldığı durumlarda yukarıda görülen periyodik çevrim sürekli tekrarlanır. Yukarıda belirtilen periyodik çevrime “1 tarama süresi” (1 scan time) adı verilir. Tarama süresi (scan time) genel olarak 1024 Byte başına işlem hızı olarak adlandırılır ve 0.1ms – 20ms arasında değişebilir. PLC’ nin çalışması kısaca anlatacak olursak; 1) PLC’ nin Giriş Birimine bağlı olan giriş elemanlarından gelen giriş bilgileri okunur ve PLC’ nin Giriş Görüntü Belleğine yazılır. Bu bilgiler bir sonraki tarama çevrimine kadar değişmez. 2) Program belleğinde yer alan komutlar sırayla işlenir ve elde edilen çıkış değerleri Çıkış görüntü Belleğine yazılır. 3) İşlemci ve işletim süreci denetlenir herhangi bir sorun yoksa Çıkış Görüntü Belleğindeki bilgiler Çıkış Birimine aktarılır. Çıkış Birimine aktarılan dijital bilgiler bir sonraki tarama çevrimine kadar değişmez. Böylece 1 tarama çevrimi tamamlanır ve bir sonraki çevrime geçilir. Bu çevrim PLC, STOP durumuna alınıncaya kadar devam eder. PLC’ lerde WATCHDOG Timer (Bekçi Köpeği) olarak isimlendirilen bir zamanlayıcı bulunmaktadır. Eğer PLC WATCHDOG Timer’ da ayarlanan süre içerisinde tarama çevrimini tamamlayamaz ise PLC’ de Hata (Fault) olduğu varsayılarak PLC durdurulur ve tüm çıkışlar sıfırlanır. Watchdog Timer’ ın zaman süresini programcı PLC kataloğunda yer alan sürelere göre ayarlar. Normal çalışma durumunda PLC’ nin girişleri tarama çevriminin başında okunur, PLC’ nin çıkışları da tarama çevriminin sonunda güncellenir. Özel durumlarda, bazı girişlerin komutların işlendiği anda okunması, bazı çıkışların da komutların işlendiği anda yazılması (çıkışa yansıtılması) istenebilir. Başka bir deyişle girişlerin, giriş görüntü belleğinden değilde doğrudan giriş biriminden okunması ve/veya çıkışların çıkış görüntü belleğinden değilde doğrudan çıkış birimine yazılması istenir. Bu durumda İvedi Giriş/Çıkış komutları (Immediate I/O Instructions) kullanılarak PLC ile anında okuma yazma OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
23
yapılabilir. Ancak bu komutlar ile sadece komutların işlendiği anda girişlerden okuma, çıkışlardan yazma yapılabilir. Gerçek anlamda girişlerden gelen bilgileri kaçırmamak için (Hızlı değişen bilgileri algılayabilmek için) Kesme (Interrupt) kullanılır. Kesme kullanıldığı durumda programın bulunduğu yere bakılmaksızın Kesme Girişi geldiği anda PLC’ nin o an yürüttüğü program durdurulur, Kesme alt programına geçilir ve kesme programı yürütülür. Kesme programı bitince PLC Kesmeye dallanmadan önce yürüttüğü programa kaldığı yerden devam eder. Üç farklı kesme durumu vardır. Bunlar; Zaman Kesmeli Çalışma, Olay Kesmeli Çalışma (Girişlerden gelir) ve Hızlı Sayıcı Kesmeli Çalışmadır.  Olay Kesmeli Çalışma; kesme kaynağı olay olan kesmeli çalışmadır. Olaylar PLC’ nin belirli girişlerinden gelen yükselen veya düşen kenar sinyalleri ile algılanır.  Zaman Kesmeli Çalışma; tarama süresinden bağımsız olarak tanımlanmış belirli sürelerde gerçekleşen kesmeli çalışmadır. Kesme süresi programcı tarafından belirlenmektedir.  Hızlı sayıcılar, PLC’ nin tarama süresine (scan time) göre çok kısa sürelerde gelen hızlı sinyalleri algılayıp, değerlendirip duruma göre kumanda sinyalleri üretmek için kullanılır. PROGRAMLAMA YAPILARI Doğrusal (Lineer) Programlama Doğrusal programlama, bütün komutların aynı program alanına yazıldığı bir programlama biçimidir. Komut yazım sırasına göre yürütülür ve bir çevrim boyunca bütün komutlar işleme girer. Bu programlama biçiminde program ana program ve alt program biçiminde düzenlenir. Alt programlar ya ana programın program sonu komutundan (END, MEND gibi ) sonra ya da özel bir alana yazılır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
24
Yapısal Programlama Yapısal programlama, büyük ölçekli programların yaptığı işlere göre parçalanarak ve aynı işleri sağlayan durumlar için yalnız bir program parçasının kullanıldığı bir programlama biçimidir. Genelde büyük PLC’ lerde yapısal programlama kullanılır. PLC’ LERDE PROGRAM YAZIM DİLLERİ Bir sistemin istenen biçimde çalışması için kullanılan sözel yada matematiksel kuralların PLC program belleğine aktarılmak üzere uygun bir dil kullanılarak düzenlenmesine program yazım dili denir. Genel olarak PLC’ lerde yaygın olarak kullanılan 6 türlü program yazım dili tanımlanmıştır. Program yazım dillerinin anlaşılmasına yardımcı olması açısından aşağıda verilen basit bir kumanda devresinin 6 farklı program yazım dili ile oluşturulması amaçlanmıştır. 1) Komut Listesi (IL: Instruction List) : Belirli bir komut kümesi kullanılarak program yazılır. En düşük seviyeli program yazım dilidir. Komut Örnekleri: LD, LDN, ANDN, OR, ORN, ST, LD Start OR Sistem ANDN Stop ST Sistem 2) Yapısal Metin (ST: Structured Text) : Yüksek seviyeli dillere (Pascal, C, Basic, vb.) benzer program yazım dilidir. Komut Örnekleri: IF, ELSE, END_IF, VAR, AND, IF (Start=TRUE OR Sistem=TRUE) AND (Stop=FALSE) THEN Sistem:=TRUE; ELSE Sistem:=FALSE; END_IF; 3) Merdiven Dili (LD: Ladder Diagram) : Açık kontak, kapalı kontak simgeleri ile lojik ilişkilerin gösterildiği program yazım dilidir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
25
4) Fonksiyon Blok Diyagram (FBD: Function Block Diagram) : Lojik kapılar ve blok diyagram mantığı ile yazılan program yazım dilidir. 5) Grafik Editör (CFC: Continious Function Chart ) : Grafiksel arayüz kullanılarak yapılan program yazım dilidir. 6) Ardışık Fonksiyon Gösterimi (SFC: Sequential Function Chart) : Ardışık sıralı işlemlerin yapıldığı yazılımlar için uygun program yazım dilidir. CODESYS İLE PLC PROGRAMLAMA Otomasyon sistemlerinde, PLC firma sayısı çoğalmaktadır. CoDeSys 61131‐3 uluslararası bir endüstri standardı IEC programlama denetleyici uygulamaları için bir geliştirme ortamıdır. Codesys ile Fabrika Otomasyonu, Enerji Otomasyonu, proses Otomasyonu, bina Otomasyonu gibi endüstri alanlarında kullanılan kontrol sistemleri için yazılımlar yapılabilmektedir. Codesys standardı PLC programlamada birçok firma tarafından artık kullanılmaktadır. ABB, Schneider, Wago, Eaton, Böseri, Mitsubishi, Festo, Beckhoff gibi firmalar bu yazılım standardı ile ürünlerini geliştirmektedir. Yazılımda ayrıca ücretsiz fonksiyon bloklar geliştirilmektedir. Dış kütüphaneler, hazırlanabilmektedir. ABB CONTROL BUILDER PLUS VE CODESYS PROGRAMININ TANITIMI İlk olarak ABB CONTROL BUILDER PLUS programı bilgisayara kurulur ve kurulan program çalıştırılır. Açılış Penceresi Şekil 1’ de görülmektedir. Açılış penceresinde File New project AC 500 project tıklanır ve projeye isim/yer belirtilerek yeni proje oluşturulur. OK butonuna basıldığında yeni bir OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
26
pencere açılarak program, kullanıcıdan PLC modeli seçmesini bekler. PLCs sekmesi tıklandığında ABB firmasına ait tanımlı PLC listesi gelmektedir. Gelen listeden AC500‐eCo PM‐554‐ETH PLC modeli eklenir. Şekil 1. ABB Control Builder Programının açılış penceresi PLC modeli eklendiğinde, açılış penceresinin solundaki bölümde seçilen PLC’ ye ait donanım bilgileri gelmektedir. Açılış penceresinin solundaki sekmelere girilerek, kullanılacak PLC’ nin Merkezi İşlem Birimi (CPU), Giriş/Çıkış (I/O), haberleşme gibi donanım konfigurasyonları yapılabilir. Şekil 2. ABB PLC Donanım Konfigurasyonları Codesys programına geçmeden önce program yazımı sırasında kolaylık olması açısından kullanılacak PLC’ nin giriş ve çıkışlarına isim atamaları yapılabilir. İsim atamaları yapmak için Şekil 2’ de görülen IO(Onboard IOs) satırı çift tıklanır. IO(Onboard IOs) çift tıklandığında sağda açılan pencereden 8DI+6DO I/O Mapping sekmesi tıklanır. Şekil 3’ te kırmızı oklar ile belirtilen yerlere isim atamaları yapılabilir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
27
Şekil 3. Giriş/Çıkışlara isim atama Şekil 3’ te seçilen PLC’ ye ait giriş/çıkış sayıları ve adresleri görülmektedir. Seçilen AC500‐eCo PM‐554‐
ETH PLC’ nin 8 giriş (DI) ve 6 çıkışı (DO) bulunmaktadır. Input 0’ ın adresi %IX4000.0 olup bu girişe “Start” ismi verilmiştir. İsim atamaları tamamlandıktan sonra Şekil 3’ te yeşil ok ile belirtilen AC500 satırı çift tıklanarak CodeSys programı açılır. CodeSys programının açılış penceresi Şekil 4’ te görülmektedir. CodeSys açılış penceresinin sol kısmında bulunan PLC_PRG(PRG) sağ tıklanır ve Delete Object komutu ile silinir. Şekil 4. CodeSys programının açılış penceresi OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
28
CodeSys açılış penceresinin sol kısmında bulunan POUs satırı sağ tıklanarak Add Object seçilir. Add Object seçildiğinde Şekil 5’ te görülen New POU menüsü karşımıza çıkar. Şekil 5. Yeni Program sayfası ekleme Şekil 5’ te görülen New POU menüsünde 6 farklı PLC program yazım dillerinden herhangi biri seçilebilir. Merdiven Dilini seçmek için (LD) sekmesi işaretlenerek Ok butonuna basılır. Açılan PLC_PRG(PRG) sayfası Şekil 6’ da görülmektedir. Şekil 6’ da kırmızı daire içine alınmış kontak komutları kullanılarak PLC programı merdiven dilinde oluşturulur. Kontaklar/çıkışlar sayfaya alındığında tanımsız olarak gelmektedirler. Kontaklara/çıkışlara daha önce tanımlanan isimler verilerek kontaklar ve çıkışlar tanımlanır. Şekil 6. PLC_PRG sayfası ile merdiven diyagramında program yazmak Merdiven dilinde yazılan programının simülasyon modunda çalıştırmak için Online sekmesinden “Simulation Mode” seçilir (Şekil 8). OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
29
Şekil 8. Simulasyon Modunun seçimi “Simulation Mode” seçimi yapıldıktan sonra yine Online sekmesinden sırasıyla önce “Login” ve sonra “Run” seçilir. PLC “Run” moduna alındıktan sonra yazılan programın simülasyonu yapılır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
30
KUMANDA DEVRELER İLE PLC ÇALIŞMA ARASINDAKİ FARKLAR Kumanda devreleri ile PLC çalışma arasındaki farkı bir örnek ile açıklayalım. PLC’ lerde yazılım satır satır işletilir. Dolayısıyla komutların yazılış sıraları programın etkileyen faktördür. Bir komutun PLC’ de işletilme süresi en kötü 0.36s’ dir. Bu süre gelişmiş PLC’ lerde 0.1s civarındadır. PLC YAZILIMI YAPILIRKEN YAPILMAMASI GEREKEN KURALLAR 1) Bir çıkış PLC’ de sadece bir yerde tanımlanır. 2) Bir girişin kapalı kontağı ile açık kontağı seri bağlanmaz. 3) Bir girişin kapalı kontağı ile açık kontağı paralel bağlanmaz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
31
PLC MERDİVEN DİLİNDE YAPILAN ÖRNEKLER Örnek : Bir torna makinasında bir adet sistem kontaktörü ve iki motora ait iki ayrı kontaktör bulunmaktadır. Hem sistem kontaktörü hemde motorlara ait kontaktörler ayrı start‐stop butonları ile kumanda edilmektedir. Sistemdeki her motor sistem kontaktörü devreye girdiğinde çalışabilmektedirler. Ancak 1 nolu motor çalışırken 2 nolu motor çalışmayacaktır. 2 nolu motor çalışırken de 1 nolu motorun çalışması istenmemektedir. Sistem için gerekli merdiven diyagramını çiziniz? Örnek : Bir start butonu ile bir motorun kontrolü yapılacaktır. Start butonuna bir kez basıldığında motor çalışacak, start butonuna ikinci kez basıldığında motor duracaktır. Gerekli PLC programını merdiven dilinde çiziniz? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
32
Örnek : Bir start butonu ve 1 stop butonu ile iki motorun kontrolü yapılacaktır. Start butonuna bir kez basıldığında 1 nolu motor çalışacak, start butonuna ikinci kez basıldığında 1 nolu motor duracak ve 2 nolu motor çalışacaktır. Start butonuna tekrar basılırsa 2 nolu motor duracak ve 1 nolu motor çalışmaya başlayacaktır. Stop butonuna basıldığında çalışan motor duracaktır. Gerekli PLC programını merdiven dilinde çiziniz? ÖDEV : Bir freze makinasının kontrolü PLC ile yapılacaktır. Freze de bulunan üç motorun hazır hale gelmesi için bir sistem kontaktörü olacaktır. Sistem kontaktörü freze makinasını devre alıp, devreden çıkarma özelliğine sahip olacaktır. Frezede bulunan üç motor aşağıda belirtilen şartlara uygun çalışacaktır.  1. Motor çalışırken 2. Motor çalışmayacaktır.  2. Motor çalışırken 3. Motor çalışmayacaktır.  3. Motor çalışırken 1. Motor çalışmayacaktır. Freze makinası için gerekli PLC programını merdiven dilinde çiziniz? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
33
LOJİK KAPILARIN PLC MERDİVEN DİLİNDE EŞDEĞER KARŞILIKLARI VE (AND) KAPISI VEYA (OR) KAPISI DEĞİL (NOT) KAPISI VE‐DEĞİL (NAND) KAPISI ÖDEV : Veya‐Değil (NOR), Özel Veya (EX‐OR), Özel Veya‐Değil (EX‐NOR) kapılarının PLC merdiven dilindeki eşdeğer karşılıklarını çiziniz. Örnek : Aşağıda lojik kapılar kullanılarak yapılmış sistemin PLC merdiven dilindeki eşdeğer karşılığını çiziniz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
34
Yöntem I. İç bit kullanılarak merdiven diline çevrilebilir. Yöntem II. İç bit kullanılmadan (doğrudan) merdiven diline çevrilebilir. ÖDEV : Aşağıda lojik kapılar kullanılarak yapılmış sistemin PLC merdiven dilindeki eşdeğer karşılığını çiziniz. ÖDEV : Aşağıda lojik kapılar kullanılarak yapılmış sistemin PLC merdiven dilindeki eşdeğer karşılığını çiziniz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
35
KOMUT LİSTESİ ve YAPISAL METİN ile PROGRAMLAMA Örnek: LD AND AND ST Örnek: LDN ANDN ANDN ST Örnek: LD OR OR ST Örnek: S0 S1 S2 Q0 IF (S0=TRUE AND S1=TRUE AND S2=TRUE) THEN Q0:=TRUE; ELSE Q0:=FALSE; END_IF; S0 S1 S2 Q0 IF (S0=FALSE AND S1=FALSE AND S2=FALSE) THEN Q0:=TRUE; ELSE Q0:=FALSE; END_IF; S0 S1 S2 Q1 IF (S0=TRUE OR S1=TRUE OR S2=TRUE) THEN Q1:=TRUE; ELSE Q1:=FALSE; END_IF; OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
36
LDN ORN ORN ST Örnek: S0 S1 S2 Q1 IF (S0=FALSE OR S1=FALSE OR S2=FALSE) THEN Q1:=TRUE; ELSE Q1:=FALSE; END_IF; LD AND ST LD OR ST S0 S1 Q2 S2 S3 Q3 IF (S0=TRUE AND S1=TRUE) THEN Q2:=TRUE; ELSE Q2:=FALSE; END_IF; IF (S2=TRUE OR S3=TRUE) THEN Q3:=TRUE; ELSE Q3:=FALSE; END_IF; Örnek: LDN AND ( OR ) ST S0 S1 Q2 Q2 IF (S0=FALSE AND (S1=TRUE OR Q2=TRUE)) THEN Q2:=TRUE; ELSE Q2:=FALSE; END_IF; LD OR ANDN ST S1 Q2 S0 Q2 IF ((S1=TRUE OR Q2=TRUE) AND S0=FALSE) THEN Q2:=TRUE; ELSE Q2:=FALSE; END_IF; OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
37
Örnek: LD OR ( ANDN AND ) ST S1 TRUE S0 Q2 Q2 LDN AND OR ST S0 Q2 S1 Q2 IF ((S0=FALSE AND Q2=TRUE) OR S1=TRUE) THEN Q2:=TRUE; ELSE Q2:=FALSE; END_IF; IF (S1=TRUE OR (S0=FALSE AND Q2=TRUE)) THEN Q2:=TRUE; ELSE Q2:=FALSE; END_IF; Örnek: Merdiven diyagramında (LD) verilen PLC programının komut listesi (IL) ve yapısal metin (ST) dilinde yazınız? LD S0 AND ( S1 AND S2 OR ( S4 AND ( S5 OR S6 ) ) ) ANDN S3 ST Q2 IF (S0=TRUE AND ((S1=TRUE AND S2=TRUE) OR (S4=TRUE AND (S5=TRUE OR S6=TRUE))) AND S3=FALSE) THEN Q2:=TRUE; ELSE Q2:=FALSE; END_IF Örnek: Komut listesi (IL) ile verilen PLC programını Merdiven diyagramı (LD) ve yapısal metin (ST) dilinde yazınız? LD OR AND OR ( AND ) AND ANDN ST S6 S5 S4 S1 S2 S0 S3 Q2 OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
38
IF ((((S6=TRUE OR S5=TRUE) AND S4=TRUE) OR (S1=TRUE AND S2=TRUE)) AND S0=TRUE AND S3=FALSE) THEN Q2:=TRUE; ELSE Q2:=FALSE; END_IF ÖDEV: Merdiven diyagramında verilen PLC programının komut listesi (IL) ve yapısal metin (ST) ile yazınız? ZAMANLAYICILAR (TIMERS) Codesys dilinde üç tip zamanlayıcı bulunmaktadır. Bunlar;  Düz Zaman Rölesi (TON : On Delay Timer)  Ters Zaman Rölesi (TOF : Off Delay Timer)  Darbe Zaman Rölesi (TP : Pulse Timer) Düz zaman rölesi, ters zaman rölesi ve darbe zaman rölesinde bulunan IN ve PT parametreleri zamanlayıcının girişleri, Q ve ET parametreleri ise zamanlayıcının çıkışlarıdır. IN ve Q, BOOL tipinde, PT (Preset Time: Zaman ayar değeri) ve ET (Zaman anlık değeri) ise TIME tipinde parametrelerdir. PT Örnekleri :  T#5d23h46m38s48ms  T#23m10s24ms  T#10s Düz Zaman Rölesi (TON : On Delay Timer) CAL LD ST Zaman(IN:=SO, PT:=T#5s) Zaman.Q Q2 {Zaman değişkeni TON tanımlanmalıdır.} OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
39
 Düz zaman rölesinde IN girişi gelmediği zaman (IN=FALSE) zamanlayıcı çalışmaz ve çıkış vermez (Q=FALSE).  Düz zaman rölesinde IN girişi geldiği zaman (IN=TRUE) zamanlayıcı çalışır ve süre sıfırdan itibaren saymaya başlar. Süre ayarlanan PT değerine ulaştığı zaman zamanlayıcı çıkış verir (Q=TRUE).  Düz zaman rölesinde IN girişi geldiği zaman (IN=TRUE) zamanlayıcı çalışır ve süre sıfırdan itibaren saymaya başlar. Fakat süre ayarlanan PT değerine ulaşmadan IN girişi giderse (IN=FALSE) süre sıfırlanır ve zamanlayıcı çıkış vermez (Q=FALSE). Ters Zaman Rölesi (TOF : Off Delay Timer) CAL LD ST Zaman (IN:=SO, PT:=T#5s) Zaman.Q Q2 {Zaman değişkeni TOF tanımlanmalıdır.}  Ters zaman rölesinde IN girişi gelmediği zaman (IN=FALSE) zamanlayıcı çalışmaz ve çıkış vermez (Q=FALSE).  Ters zaman rölesinde IN girişi geldiği zaman (IN=TRUE) zamanlayıcı çalışır ve hemen çıkış verir (Q=TRUE). Zamanlayıcı çalıştıktan sonra IN girişi gittiğinde (IN=FALSE) süre sıfırdan itibaren saymaya başlar. Süre ayarlanan PT değerine ulaştığında zamanlayıcının çıkışı gider (Q=FALSE). Darbe Zamanlayıcı (TP : Pulse Timer) CAL LD ST Zaman (IN:=SO, PT:=T#5s) Zaman.Q Q2 {Zaman değişkeni TP tanımlanmalıdır.} OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
40
 Darbe zaman rölesinde IN girişi gelmediği zaman (IN=FALSE) zamanlayıcı çalışmaz ve çıkış vermez (Q=FALSE).  Darbe zaman rölesinde IN girişi geldiği zaman (IN=TRUE) zamanlayıcı çalışır, hemen çıkış verir (Q=TRUE) ve süre sıfırdan itibaren saymaya başlar. Süre ayarlanan PT değerine ulaştığı zaman zamanlayıcının çıkışı gider (Q=FALSE). Örnek: Düz zaman rölesi kullanarak Ters Zaman Rölesi elde eden programı merdiven diyagramı ile çiziniz. LD OR ANDN ANDN ST LD ANDN AND ST CAL S0 Q0 S1 T1.Q Q0 TRUE S0 Q0 T1.IN T1(PT := T#5s) ÖDEV: Düz zaman rölesi kullanarak Darbe zamanlayıcı elde eden programı merdiven diyagramı ile çiziniz. ÖDEV: Ters zaman rölesi kullanarak Düz Zaman Rölesi elde eden programı merdiven diyagramı ile çiziniz. ÖDEV: Ters zaman rölesi kullanarak Darbe zamanlayıcı elde eden programı merdiven diyagramı ile çiziniz. Örnek: Bir fabrikada 3 adet büyük güçlü motor bulunmaktadır. Bu motorların aynı anda devreye girmeleri istenmemektedir. Bu üç motordan herhangi biri devreye girdikten 4 dakika sonra diğer motor devreye alınabilecek ve 2. Motor devreye girdikten 4 dakika sonrada son motor devreye alınabilecektir. Motorların rastgele devreye alınabilecekleri dikkate alınarak gerekli PLC programını merdiven dilinde çiziniz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
41
LD ANDN OR ANDN ST LD ANDN OR ANDN ST LD ANDN OR ANDN ST LD OR OR ANDN ST CAL S0 T1.Q Q1 S1 Q1 S2 T1.Q Q2 S3 Q2 S4 T1.Q Q3 S5 Q3 S0 S2 S4 T1.Q T1.IN T1(PT := T#30s) ÖDEV: Yukarıdaki soruyu sadece bir adet düz zaman rölesi kullanarak merdiven dilinde çiziniz. ÖDEV: a) Yukarıdaki soruda herhangi bir motoru devreye almak için motorun start butonuna sürekli basıyoruz ve start butonundan elimizi çekmiyoruz. Bu durumda 4 dk sonra diğer iki motordan birini sonrada diğerini devreye alabilir miyiz? b) Ödev a’ da verilen durumda diğer iki motoru devreye alabilmek için gerekli PLC programını merdiven dilinde çiziniz. ÖDEV: Yukarıdaki soruda iki start butonuna aynı anda basılınca iki motorda devreye giriyor. Bu sorunu giderecek gerekli düzenlemeleri yapınız. İki butona aynı anda basıldığında küçük numaralı motor ilk devreye girmelidir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
42
CODESYS’ DE KULLANILAN DEĞİŞKEN TİPLERİ Değişken Adı Alt Limit Üst Limit Bellekte Kapladığı Alan Bool 0 (False)
1 (True)
1 Bit Byte 0
255
8 Bit Word 0
65535
16 Bit Dword 0
4294967295
32 Bit ‐128
127
8 Bit 0
255
8 Bit ‐32768
32767
16 Bit Uint 0
65535
16 Bit Dint ‐2147483648
2147483647
32 Bit 0
4294967295
32 Bit Sint Usint int Udint Real ‐ ‐ 32 Bit Lreal ‐ ‐ 64 Bit Time, Time_of_Day(TOD), Date, Date_of_Time(DT) 32 Bit CODESYS’ DE KULLANILAN FONKSİYON BLOKLARI (OPERATÖRLER) ARİTMATİK FONKSİYON BLOKLARI (ARITHMETIC OPERATORS) Aritmetik fonksiyon blokları kullanılarak BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL and LREAL tipindeki değişkenler ile işlem yapılabilir. ADD (ADDITION) ‐ TOPLAMA FONKSİYONU F:= A+B;
F:= A+B+C; OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
LD ADD ADD ST A B C F LD ADD ST A B,C F 43
MUL (MULTIPLICATION) – ÇARPMA FONKSİYONU F:= A*B; F:= A*B*C; SUB (SUBTRACTION) – ÇIKARMA FONKSİYONU LD MUL MUL ST A B C F LD MUL ST A B,C F F:= A‐B;
F:= (A‐B) – C; DIV (DIVISION) – BÖLME FONKSİYONU LD SUB SUB ST A B C F F:= A / B;
F:= (A / B) / C; OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
LD DIV DIV ST A B C F 44
MOD (MODULO DIVISION) – MOD ALMA FONKSİYONU F:= A MOD B; LD MOD MOD ST A B C F MAX (MAXIMUM FUNCTION) – MAKSİMUM SAYIYI BULMA FONKSİYONU F:= MAX(A,B); F:= MAX(MAX(A,B) , C); LD MAX MAX ST A B C F MIN (MINIMUM FUNCTION) – MİNİMUM SAYIYI BULMA FONKSİYONU F:= MIN(A,B); F:= MIN(MIN(A,B) , C); OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
LD MIN MIN ST
A B C F 45
SQRT (SQUARE ROOT) – KAREKÖK ALMA FONKSİYONU F:= SQRT(A); LD A SQRT ST F KARŞILAŞTIRMA FONKSİYON BLOKLARI (COMPARISON OPERATORS) Karşılaştırma fonksiyon blokları kullanılarak BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME and STRING tipindeki değişkenler ile işlem yapılabilir. GT (GREATER THAN) – BÜYÜK FONKSİYONU Büyük fonksiyonu çalıştırıldığında; A>B koşulu doğru ise F=TRUE (Lojik 1) değerini, A>B koşulu yanlış ise F=FALSE (Lojik 0) değerini almaktadır. F:= A > B; LD GT ST A B F LT (LESS THAN) – KÜÇÜK FONKSİYONU Küçük fonksiyonu çalıştırıldığında; A<B koşulu doğru ise F=TRUE (Lojik 1) değerini, A<B koşulu yanlış ise F=FALSE (Lojik 0) değerini almaktadır. F:= A < B; LD LT ST A B F GE (GREATER THAN OR EQUAL TO) – BÜYÜK‐EŞİT FONKSİYONU F:= A >= B; LD GE ST A B F OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
46
Büyük‐Eşit fonksiyonu çalıştırıldığında; A>=B koşulu doğru ise F=TRUE (Lojik 1) değerini, A>=B koşulu yanlış ise F=FALSE (Lojik 0) değerini almaktadır. LE (LESS THAN OR EQUAL TO) – KÜÇÜK‐EŞİT FONKSİYONU Küçük‐Eşit fonksiyonu çalıştırıldığında; A<=B koşulu doğru ise F=TRUE (Lojik 1) değerini, A<=B koşulu yanlış ise F=FALSE (Lojik 0) değerini almaktadır. F:= A <= B; LD LE ST A B F EQ (EQUAL TO) – EŞİT FONKSİYONU Eşit fonksiyonu çalıştırıldığında; A=B koşulu doğru ise F=TRUE (Lojik 1) değerini, A=B koşulu yanlış ise F=FALSE (Lojik 0) değerini almaktadır. F:= A = B; LD EQ ST A B F NE (NOT EQUAL TO) – EŞİT‐DEĞİL FONKSİYONU Eşit‐Değil fonksiyonu çalıştırıldığında; AB koşulu doğru ise F=TRUE (Lojik 1) değerini, AB koşulu yanlış ise F=FALSE (Lojik 0) değerini almaktadır. F:= A <> B; LD NE ST A B F OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
47
Örnek: Bir motoru periyodik olarak çalıştırınız. Start butonuna basıldığında bir sistem değişkeni çıkış verecektir. Sistem ile beraber motor periyodik olarak çalışmalıdır. Motor 30s çalışıp, 20s durarak çalışacaktır. Bu periyodik çalışma stop butonuna basılmasıyla duracaktır. Gerekli programı merdiven diyagramı ile çiziniz. Örnek: Tek zaman rölesi kullanarak bir motoru periyodik olarak çalıştırınız. Start butonuna basıldığında bir sistem değişkeni çıkış verecektir. Sistem ile beraber motor periyodik olarak çalışmalıdır. Motor 30s çalışıp, 20s durarak çalışacaktır. Bu periyodik çalışma stop butonuna basılmasıyla duracaktır. Gerekli programı merdiven diyagramı ile çiziniz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
48
Örnek: Tek zaman rölesi kullanarak trafik ışığı uygulaması gerçekleştiriniz. Start butonuna basıldığında bir sistem değişkeni çıkış verecektir. Sistem ile beraber trafik ışığı çalışmalıdır. Bu periyodik çalışma stop butonuna basılmasıyla sonlanacaktır. Gerekli programı Grafik Editör (CFC) ile çiziniz. (Kırmızı ışık 29s, Kırmızı ve Sarı ışık birlikte 1s, Yeşil ışık 29s, Sarı ışık 1s çalışmalıdır.) OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
49
Örnek: Zaman diyagramı verilen sistemin programını merdiven diyagramı ile devresini gerçekleştiriniz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
50
Ö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. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
51
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 yada PV değerinden büyük (CV>=PV) olduğu zaman sayıcı çıkış verir (Q=TRUE). Sayıcı anlık değeri (CV) sayıcı ayar değerinden (PV) küçük (CV<PV) 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=LOAD=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 (CV=0) olduğu zaman sayıcı çıkış verir (Q=TRUE). Sayıcı anlık değeri (CV), sıfırdan farklı (CV0) 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. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
52
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=LOAD=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 (CV=0) olduğu zaman sayıcı QD çıkışı, çıkış verir (QD=TRUE). Sayıcı anlık değeri (CV), sıfırdan farklı (CV0) 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 yada PV değerinden büyük (CV>=PV) olduğu zaman sayıcı QU çıkışı, çıkış verir (QU=TRUE). Sayıcı anlık değeri (CV) sayıcı ayar değerinden (PV), küçük olduğu (CV<PV) 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? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
53
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? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
54
Örnek: Aşağıdaki Lojik kapılardan oluşan devrenin Ladder (merdiven) diyagramını çiziniz. (x1=IX4000.1, x2= IX4000.2, x3= IX4000.3, x4= IX4000.4, x5= IX4000.5, x6= IX4000.6, x7= IX4000.7, Y=QX4000.0 olarak ladder diyagramda belirtilecektir.) OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
55
Örnek: Aşağıdaki zaman diyagramının PLC programını merdiven dilinde yazınız. IX4000.0
t
QX4000.0
t
QX4000.1
t
IX4000.1
t1
t2
t
QX4000.2
t
t3
QX4000.3
t
IX4000.2
t4
t5
t4
t5
t4
t
OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
56
Örnek: Bir tezgah üzerinde üç adet motor, motorlara ait start/stop butonları ve sarı, kırmızı, yeşil renkli lambalar bulunmaktadır. Bu üç motordan herhangi biri devrede iken sarı lamba yanacak, 1 ve 2 nolu motor veya 2 ve 3 nolu motor devrede iken kırmızı lamba yanacak, 1 ve 3 nolu motor devrede iken yeşil lamba yanacaktır. Gerekli kumanda devresini çiziniz. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
57
RS Fonksiyon Blok RS Fonksiyonu Stop öncelikli Start‐Stop devresi işlemini gerçekleştiren bir fonksiyon bloğudur. RS fonksiyonunun matematiksel ifadesi; Q1 = RESET1 AND (Q1 OR SET) şeklindedir. Matematiksel ifadeden de anlaşılacağı üzere SET ve RESET1 girişleri aynı anda geldiğinde (SET=TRUE ve RESET1=TRUE), Q0 çıkış vermemektedir (Q0=FALSE). Başka bir deyişle RESET öncelikli fonksiyon bloğudur. CAL LD ST {RS_FF değişkeni RS tanımlanmalıdır.} RS_FF(SET:= S0,RESET1:=S1) RS_FF(SET:= S0, RESET1:=S1 ); RS_FF.Q1 Q0 := RS_FF.Q1 ; Q0 SR Fonksiyon Blok SR Fonksiyonu Start öncelikli Start‐Stop devresi işlemini gerçekleştiren bir fonksiyon bloğudur. RS fonksiyonunun matematiksel ifadesi; Q1 = (RESET AND Q1) OR SET1 şeklindedir. Matematiksel ifadeden de anlaşılacağı üzere SET1 ve RESET girişleri aynı anda geldiğinde (SET1=TRUE ve RESET=TRUE), Q0 çıkış vermektedir (Q0=TRUE). Başka bir deyişle SET öncelikli fonksiyon bloğudur. CAL LD ST {SR_FF değişkeni SR tanımlanmalıdır.} SR_FF(SET1:= S0,RESET:=S1) SR_FF(SET1:= S0, RESET:=S1 ); SR_FF.Q1 Q0 := SR_FF.Q1 ; Q0 Yükselen Kenar Algılama Fonksiyon Blok (Rising Trigger) BOOL tipinde bir değişkenin, başka bir ifadeyle bir dijital girişin Lojik 0’dan Lojik 1’e değişmesi durumuna yükselen kenar yada pozitif kenar adı verilmektedir. Böyle bir değişimin PLC tarafından tespit edilebilmesi için Yükselen kenar algılama fonksiyon bloğu kullanılır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
58
CAL LD ST Yukselen(CLK := S0) Yukselen.Q Q0 {Yukselen değişkeni R_TRIG tanımlanmalıdır.} Yukselen(CLK:= S0); Q0:= Yukselen.Q; Düşen Kenar Algılama Fonksiyon Blok (Falling Trigger) BOOL tipinde bir değişkenin, başka bir ifadeyle bir dijital girişin Lojik 1’den Lojik 0’a değişmesi durumuna düşen kenar yada negatif kenar adı verilmektedir. Böyle bir değişimin PLC tarafından tespit edilebilmesi için Düşen kenar algılama fonksiyon bloğu kullanılır. CAL LD ST Dusen(CLK := S0) Dusen.Q Q0 {Dusen değişkeni F_TRIG tanımlanmalıdır.} Dusen(CLK:= S0); Q0:= Dusen.Q; Periyodik Çalışan Çıkış Blok (Blink Function) Periyodik çalışan çıkış bloğunda ENABLE girişi geldiğinde (ENABLE=TRUE); TIMELOW girişinde ayarlanan süre kadar blok çıkış vermez (OUT=FALSE), TIMEHIGH girişinde ayarlanan süre kadar ise blok çıkış verir (OUT=TRUE). {Periyod değişkeni BLINK tanımlanmalıdır.} CAL Periyod(ENABLE:=S0, TIMELOW:=T#1s, TIMEHIGH:=T#1s) Periyod(ENABLE:=S0, TIMELOW:=T#1s, TIMEHIGH:=T#1s); LD ST Periyod.OUT Q0 Q0:=Periyod.OUT; OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
59
YAPISAL METİN (STRUCTURED TEXT) DİLİ İLE PLC PROGRAMLAMA IF … THEN … ELSIF … END_IF DEYİMİ IF deyimi bir koşul deyimidir. Koşullar sağlandığı zaman IF deyimi içerisindeki komutlar işletilir. Örnek : IX4000.2 girişi kontak verdiği zaman QX4000.1 çıkışını aktif yapan programı yapısal metin (ST), komut dili (IL) ve merdiven diyagramı (LD) ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR GIRIS AT %IX4000.2 :BOOL; CIKIS AT %QX4000.1 :BOOL; END_VAR {YAPISAL METİN PLC Programı} PROGRAM_PLC {Değişken Tanımlama} VAR GIRIS AT %IX4000.2 :BOOL; CIKIS AT %QX4000.1 :BOOL; END_VAR {KOMUT DİLİ PLC Programı} IF (GIRIS=TRUE) THEN CIKIS:=TRUE; END_IF LD S GIRIS CIKIS Örnek : IX4000.2 girişi kontak verdiği zaman QX4000.1 çıkışını aktif yapan aksi halde çıkış vermeyen programı yapısal metin (ST), komut dili (IL) ve merdiven diyagramı (LD) ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR GIRIS AT %IX4000.2 :BOOL; CIKIS AT %QX4000.1 :BOOL; END_VAR {YAPISAL METİN PLC Programı} PROGRAM_PLC {Değişken Tanımlama} VAR GIRIS AT %IX4000.2 :BOOL; CIKIS AT %QX4000.1 :BOOL; END_VAR {KOMUT DİLİ PLC Programı} IF (GIRIS=TRUE) THEN CIKIS:=TRUE; ELSE CIKIS:=FALSE; END_IF LD ST GIRIS CIKIS OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
60
Örnek : IX4000.2 girişi geldiği zaman QX4000.1 çıkışını aktif yapan (TRUE), IX4000.1 girişi geldiği zaman QX4000.1 çıkışını pasif (FALSE) yapan programı yapısal metin (ST), komut dili (IL) ve merdiven diyagramı (LD) ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR GIRIS1 AT %IX4000.2 :BOOL; GIRIS2 AT %IX4000.1 :BOOL; CIKIS AT %QX4000.1 :BOOL; END_VAR {YAPISAL METİN PLC Programı} PROGRAM_PLC {Değişken Tanımlama} VAR GIRIS1 AT %IX4000.2 :BOOL; GIRIS2 AT %IX4000.1 :BOOL; CIKIS AT %QX4000.1 :BOOL; END_VAR {KOMUT DİLİ PLC Programı} IF (GIRIS1=TRUE) THEN CIKIS:=TRUE; END_IF IF (GIRIS2=TRUE) THEN CIKIS:=FALSE; END_IF LD S GIRIS1 CIKIS LD R GIRIS2 CIKIS Örnek : Bir kola şişesi yürüyen bant üzerinde ilerlerken şişeyi, 1 nolu sensör algıladığında yeşil lambanın, 2 nolu sensör algıladığında turuncu lambanın, 3 nolu sensör algıladığında mavi lambanın yanması istenmektedir. Gerekli programı yapısal metin (ST) dili ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR SENSOR1 AT %IX4000.1 :BOOL; SENSOR2 AT %IX4000.2 :BOOL; SENSOR3 AT %IX4000.3 :BOOL; YESIL AT %QX4000.1 :BOOL; TURUNCU AT %QX4000.2 :BOOL; MAVI AT %QX4000.3 :BOOL; END_VAR {YAPISAL METİN PLC Programı} IF (SENSOR1=TRUE) THEN YESIL:=TRUE; TURUNCU:=FALSE; MAVI:=FALSE; ELSIF (SENSOR2=TRUE) THEN YESIL:=FALSE; TURUNCU:=TRUE; MAVI:=FALSE; OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
61
ELSIF (SENSOR3=TRUE) THEN YESIL:=FALSE; TURUNCU:=FALSE; MAVI:=TRUE; ELSIF (SENSOR1=FALSE AND SENSOR2=FALSE AND SENSOR3=FALSE) THEN YESIL:=FALSE; TURUNCU:=FALSE; MAVI:=FALSE; END_IF Örnek : Bir buton yardımıyla bir doğru akım motoru dönüş yönünün kontrolü yapılacaktır. Butona 1 kez basıldığında motor saat yönünde dönecek, butona 2. kez basıldığında motor duracak ve motora 3. kez basıldığında motor saat yönünün tersi yönünde dönecektir. Bu durum periyodik olarak devam edecektir. Gerekli programı yapısal metin (ST) dili ile yazınız? NOT: Sayıcı kullanılmayacaktır. PROGRAM_PLC {Değişken Tanımlama} VAR BUTON MTR_SAAT MTR_TERS_SAAT MTR_DURUM END_VAR AT %IX4000.0 AT %QX4000.1 AT %QX4000.2 :BOOL; :BOOL; :BOOL; :USINT; {YAPISAL METİN PLC Programı} IF (BUTON=TRUE AND MTR_DURUM=0) THEN MTR_SAAT:=TRUE; MTR_TERS_SAAT:=FALSE; ELSIF (BUTON=FALSE AND MTR_SAAT=TRUE) THEN MTR_DURUM:=1; ELSIF (BUTON=TRUE AND MTR_DURUM=1) THEN MTR_SAAT:=FALSE; MTR_TERS_SAAT:=FALSE; ELSIF (BUTON=FALSE AND MTR_SAAT=FALSE AND MTR_TERS_SAAT=FALSE AND MTR_DURUM=1) THEN MTR_DURUM:=2; ELSIF (BUTON=TRUE AND MTR_DURUM=2) THEN MTR_SAAT:=FALSE; MTR_TERS_SAAT:=TRUE; ELSIF (BUTON=FALSE AND MTR_TERS_SAAT=TRUE) THEN MTR_DURUM:=3; ELSIF (BUTON=TRUE AND MTR_DURUM=3) THEN MTR_SAAT:=FALSE; MTR_TERS_SAAT:=FALSE; ELSIF (BUTON=FALSE AND MTR_SAAT=FALSE AND MTR_TERS_SAAT=FALSE AND MTR_DURUM=3) THEN MTR_DURUM:=0; END_IF Örnek : Bir motor periyodik olarak çalıştırılacaktır. Start butonuna basıldığında bir sistem değişkeni çıkış verecektir. Sistem ile beraber motor periyodik olarak çalışmalıdır. Motor 30s çalışıp, 20s durarak çalışacaktır. Bu periyodik çalışma stop butonuna basılmasıyla sonlanacaktır. Gerekli programı yapısal metin (ST) dili ile yazınız? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
62
PROGRAM_PLC {Değişken Tanımlama} VAR Start AT %IX4000.0 :BOOL; Stop AT %IX4000.1 :BOOL; Motor AT %QX4000.0 :BOOL; Sistem :BOOL; T1 :TON; T2 :TON; END_VAR {YAPISAL METİN PLC Programı} IF (Start=1) THEN Sistem:=1; END_IF IF (Stop=1) THEN Sistem:=0; END_IF IF Sistem=1 THEN T1(IN:=NOT(T2.Q), PT:=T#30s); Motor:=NOT(T1.Q); T2(IN:=(T1.Q), PT:=T#20s); END_IF OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
63
Örnek : Tek zaman rölesi kullanarak bir motoru periyodik olarak çalıştırınız. Start butonuna basıldığında bir sistem değişkeni çıkış verecektir. Sistem ile beraber motor periyodik olarak çalışmalıdır. Motor 10s çalışıp, 5s durarak periyodik çalışacaktır. Bu periyodik çalışma stop butonuna basılmasıyla duracaktır. Gerekli programı yapısal metin (ST) dili ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR Start AT %IX4000.0 :BOOL; Stop AT %IX4000.1 :BOOL; Motor AT %QX4000.0 :BOOL; Sistem :BOOL; T1 :TON; Zaman :UINT; END_VAR {YAPISAL METİN PLC Programı} IF (Start=1) THEN Sistem:=1; END_IF IF (Stop=1) THEN Sistem:=0; END_IF IF Sistem=1 THEN T1(IN:=NOT(T1.Q), PT:=T#15s); Zaman:=TIME_TO_UINT(T1.ET); IF (Zaman>=1 AND Zaman<10000) THEN Motor:=1; ELSE Motor:=0; END_IF END_IF PROGRAM_PLC {Değişken Tanımlama} VAR Start AT %IX4000.0 :BOOL; Stop AT %IX4000.1 :BOOL; Motor AT %QX4000.0 :BOOL; Sistem :BOOL; Periyod :BLINK; END_VAR {YAPISAL METİN PLC Programı} IF (Start=1) THEN Sistem:=1; END_IF IF (Stop=1) THEN Sistem:=0; END_IF Periyod(ENABLE:=S, TIMELOW:=T#5s, TIMEHIGH:=T#10s); Motor:=Periyod.OUT; Örnek : Bir start buton ile 3 motorun kontrolü yapılacaktır. Start butonuna basıldıktan 10s sonra 1 nolu motor, 1. motor çalıştıktan 10s sonra 2 nolu motor, 2. motor çalıştıktan 10s sonra 3 nolu motor çalışacaktır. Start butonu bırakıldığında motorlar duracaktır. Gerekli programı yapısal metin (ST) dili ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR Start AT %IX4000.0 :BOOL; M1 AT %QX4000.1 :BOOL; M2 AT %QX4000.2 :BOOL; M3 AT %QX4000.3 :BOOL; T1 :TON; T2 :TON; T3 :TON; END_VAR OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
64
{YAPISAL METİN PLC Programı} T1(IN:=Start,PT:=T#10s); T2(IN:=T1.Q,PT:=T#10s); T3(IN:=T2.Q,PT:=T#10s); M1:=T1.Q; M2:=T2.Q; M3:=T3.Q; CASE … OR ELSE … END_CASE Çok sayıda iç içe IF blokları kullanıldığında ve şartların hep aynı kritere bağlı olduğu durumlarda IF deyimi yerine CASE deyimi kullanılabilir. Örnek : Bir start bir stop butonu yardımıyla motor kontrolü yapılacaktır. Motor start butonuna basıldığında çalışmaya başlayacak ve 10s çalışıp kendiliğinden duracaktır. Stop butonuna basıldığında zamanlayıcı hangi zaman değerinde olursa olsun motor duracaktır. Zamanlayıcının zaman değeri; 0‐2s aralığında iken yeşil lamba yanacak, 2‐4s aralığında iken sarı lamba yanacak, 4‐6s aralığında iken kırmızı lamba yanacak ve kalan sürede tüm lambalar sönük kalacaktır. Gerekli programı yapısal metin (ST) dili ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR Start AT %IX4000.0 :BOOL; Stop AT %IX4000.1 :BOOL; Motor AT %QX4000.0 :BOOL; Yesil AT %QX4000.1 :BOOL; Sari AT %QX4000.2 :BOOL; Kirmizi AT %QX4000.3 :BOOL; Zaman :TON; END_VAR {YAPISAL METİN PLC Programı} IF (Start=TRUE OR Motor=TRUE) AND (Stop=FALSE) AND (ZAMAN.Q=FALSE) THEN Motor:=TRUE; ELSE Motor:=FALSE; END_IF Zaman(IN:=Motor, PT:=T#10s); CASE TIME_TO_UINT(Zaman.ET) OF 1..2000: Yesil:=TRUE; Sari:=FALSE; Kirmizi:=FALSE; 2001..4000: Yesil:=FALSE; Sari:=TRUE; Kirmizi:=FALSE; OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
65
4001..6000: Yesil:=FALSE; Sari:=FALSE; Kirmizi:=TRUE; ELSE Yesil:=FALSE; Sari:=FALSE; Kirmizi:=FALSE; END_CASE FOR … TO … BY … DO … END_FOR FOR döngüsü sayaç döngüsüdür. Verilen alt ve üst limitler arasında istenilen artım değeri kadar döngü içerisinde bulunan komutları tekrarlar. Diğer programlama dillerindeki gibi FOR döngüsü bittiği anda program döngüden çıkar. Ancak PLC her tarama süresinin (scantime) sonunda sürekli komutları yenilediğinden dolayı FOR döngüsünün başında herhangi bir koşul yok ise döngüyü tekrar çalıştıracaktır. Bu sebepten dolayı FOR döngüsü kullanılırken bu duruma dikkat etmek gerekir. Örnek : Bir start butonu ve bir stop butonu ile bir motor kontrol edilmektedir. Motor çalıştığı zaman 1’den 5’e kadar olan sayıların toplanması istenmektedir. Gerekli programı yapısal metin (ST) dili ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR Start AT %IX4000.0 :BOOL; Stop AT %IX4000.1 :BOOL; Motor AT %QX4000.0 :BOOL; Deger :USINT; Toplam :USINT; END_VAR {YAPISAL METİN PLC Programı} IF (Start=TRUE OR Motor=TRUE) AND (Stop=FALSE) THEN Motor:=TRUE; ELSE Motor:=FALSE; END_IF IF (Motor=TRUE AND Toplam=0) THEN FOR Deger:=1 TO 5 BY 1 DO Toplam:=Toplam+Deger; END_FOR END_IF OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
66
WHILE … DO … END_WHILE WHILE deyimi bir koşullu döngüdür. Koşullar sağlandığı sürece döngü içerisindeki komutlar işletilir. Örnek : Bir start butonu ve bir stop butonu ile bir motor kontrol edilmektedir. Motor çalıştığı zaman 1’den 10’a kadar olan sayıların toplanması istenmektedir. Gerekli programı yapısal metin (ST) dili ile yazınız? PROGRAM_PLC {Değişken Tanımlama} VAR Start AT %IX4000.0 :BOOL; Stop AT %IX4000.1 :BOOL; Motor AT %QX4000.0 :BOOL; Deger :USINT; Toplam :USINT; END_VAR {YAPISAL METİN PLC Programı} IF (Start=TRUE OR Motor=TRUE) AND (Stop=FALSE) THEN Motor:=TRUE; ELSE Motor:=FALSE; END_IF WHILE (Motor=TRUE AND Deger<10) DO Deger:=Deger+1; Toplam:=Toplam+Deger; END_WHILE ÖDEV : Yapısal Metin (ST) Dili ile cevapları verilmiş olan Örnek4 ile Örnek 11 arasındaki soruları Komut Dili (IL) ve Merdiven Diyagram (LD) dili ile yazınız? 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 : 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? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
67
{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 : Bir önceki örnektee 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; OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
68
Örnek : Aşağıdaki zaman diyagramının PLC programını merdiven (LD) dilinde yazınız? NOT: PLC programında kullanılacak zamanlayıcı, Fonksiyon (Function) kullanılarak yapılacaktır. IX4000.0
t
QX4000.0
t
QX4000.1
t
IX4000.2
t1
t
PROGRAM PLC_PRG VAR start AT%IX4000.0:BOOL; stop AT%IX4000.1:BOOL; sistem AT%QX4000.0:BOOL; motor AT%QX4000.1:BOOL; END_VAR FUNCTION zamanlayici : BOOL VAR_INPUT A :BOOL; END_VAR VAR T1: TON; END_VAR
Örnek : Aşağıdaki zaman diyagramının PLC programını merdiven (LD) dilinde yazınız? NOT: PLC programında kullanılacak zamanlayıcılar, Fonksiyon / Fonksiyon Blok (Function / Function Block) kullanılarak yapılacaktır. IX4000.0
t
QX4000.0
t
QX4000.1
t
t1
QX4000.2
t2
t
QX4000.3
t3
t
IX4000.2
t
OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
69
PROGRAM PLC_PRG VAR start AT%IX4000.0 stop AT%IX4000.1 sistem AT%QX4000.0 m1 AT%QX4000.1 m2 AT%QX4000.2 m3 AT%QX4000.3 Zaman END_VAR :BOOL; :BOOL; :BOOL; :BOOL; :BOOL; :BOOL; : Elektrik; FUNCTION_BLOCK Elektrik VAR_INPUT sistem : BOOL; END_VAR VAR_OUTPUT X : BOOL; Y : BOOL; Z : BOOL; END_VAR VAR T1 :TON; T2 :TON; T3 :TON; END_VAR
{Fonksiyon Blok – Alt Programının CFC Dili ile Yazılmış Hali} Örnek : Bir motor periyodik olarak çalıştırılacaktır. Start butonuna basıldığında bir sistem değişkeni çıkış verecektir. Sistem ile beraber motor periyodik olarak çalışmalıdır. Motor t1 süre kadar çalışıp, t2 süre kadar durarak çalışacaktır. Bu periyodik çalışma stop butonuna basılmasıyla sonlanacaktır. Gerekli programı periyodik çalışma için Fonksiyon Blok (Function Block) oluşturarak yazınız? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
70
Çözüm 1: PROGRAM PLC_PRG VAR start AT%IX4000.0 stop AT%IX4000.1 sistem AT%QX4000.0 motor AT%QX4000.1 Y: PeriyodikCalisma; END_VAR :BOOL; :BOOL; :BOOL; :BOOL; FUNCTION_BLOCK PeriyodikCalisma VAR_INPUT Yetki : BOOL; T_OFF : TIME; T_ON : TIME; END_VAR VAR_OUTPUT Out :BOOL; END_VAR VAR T1 :TON; T2 :TON; END_VAR Çözüm 2: PROGRAM PLC_PRG VAR start AT%IX4000.0 :BOOL; stop AT%IX4000.1 :BOOL; sistem AT%QX4000.0 :BOOL; m1 AT%QX4000.1 :BOOL; m2 AT%QX4000.2 :BOOL; XX : Kare_Dalga_Uret; END_VAR FUNCTION_BLOCK Kare_Dalga_Uret VAR_INPUT yetki : BOOL; Dur_Zamani : TIME; Calis_Zamani : TIME; END_VAR VAR_OUTPUT Out_Duz :BOOL; Out_Ters :BOOL; END_VAR VAR T1 :TON; T2 :TON; END_VAR OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
71
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 : 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? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
72
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ı} Örnek : Aşağıda Ardışık Fonksiyon Gösterimi (SFC) dili ile yazılmış programın çalışmasını yorumlayınız? OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
73
Örnek : Bir tezgah üzerinde üç adet motor, motorlara ait start/stop butonları ve yeşil, turuncu, mavi renkli lambalar bulunmaktadır. Bu üç motordan herhangi biri devrede iken yeşil lamba yanacak, üç motordan herhangi ikisi devrede iken turuncu lamba yanacak, üç motorun üçü de devrede iken mavi lamba yanacaktır. Gerekli programı Ardışık Fonksiyon Gösterimi (SFC) dili ile yazınız? PROGRAM PLC_PRG {Değişken Tanımlama} VAR S1 S2 S3 M1 M2 M3 END_VAR AT %IX4000.1 AT %IX4000.2 AT %IX4000.3 AT %QX4000.4 AT %QX4000.5 AT %QX4000.6 :BOOL; :BOOL; :BOOL; :BOOL; :BOOL; :BOOL; S4 S5 S6 YESIL TURUNCU MAVI AT %IX4000.4 AT %IX4000.5 AT %IX4000.6 AT %QX4000.1 AT %QX4000.2 AT %QX4000.3 :BOOL; :BOOL; :BOOL; :BOOL; :BOOL; :BOOL; {SFC PLC Programı} OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
74
GÖRSEL EKRAN TASARIMI (VISUALIZATIONS) Visualizations sekmesi, PLC programlarına görsel arayüz tasarlamak için kullanılır. Ancak dokunmatik (touch) panellerin çoğu bu görsel arayüzü desteklememektedirler. ABB firmasının dokunmatik panelleri için Panel Builder programı kullanılmaktadır. Visualizations sekmesinde bulunan nesneler görülmektedir. 1. NESNE ÖZELLİKLERİ : 1.1. Shape : Görsel ekrana (form) eklenen nesne şeklinin dikdörtgen, köşeleri yuvarlatılmış dikdörtgen, elips veya çizgi şeklinde ayarlanmasını sağlar. 1.2. Text : Görsel ekrana eklenen nesnenin içerisine eklenecek yazı için kullanılır. Ayrıca bu sekmede yazının formatı da ayarlanabilir. 1.3. Line Width : Görsel ekrana (form) eklenen nesnenin çizgi kalınlığını ayarlamak için kullanılır. İstenirse çizgi kalınlığı PLC programında bulunan bir değişken ile ilişkilendirilebilir. Böyle PLC programında bulunan bir değişkenin içeriği değiştirildiğinde çizgi kalınlığı da değişmiş olur. 1.4. Text Variables : Görsel ekrana eklenen nesnenin içerisine eklenecek yazının rengini, yazı tipini, yazı yüksekliğini (punto) PLC programında belirlenen bir değişken ile kontrol edilebilir hale getirmek için kullanılır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
75
1.5. Colors : Görsel ekrana (form) eklenen nesnenin rengini ayarlamak için kullanılır. Color sekmesinde color ve alarm color şeklinde iki seçenek bulunmaktadır. Color nesnenin normal durumdaki rengini, alarm color ise değişmesi istenen değerdeki rengini ayarlamak için kullanılır. 1.6. Motion Absolute : Görsel ekrana (form) eklenen nesnenin ekranda hareket etmesini sağlamak için kullanılır. Nesneler X, Y eksenlerinde belirtilen değer kadar hareket ettirilebilir. İstenirse X, Y değerleri PLC programında belirlenen değişkenler ile ilişkilendirilebilir. 1.7. Motion Relative : Görsel ekrana (form) eklenen nesnenin çalışma alanındaki boyutlarını ayarlamak için kullanılır. Nesnenin sol, sağ, yukarı, aşağı doğru genişlikleri ayarlanabilir. 1.8. Variables : Görsel ekrana (form) eklenen nesnenin PLC programında belirlenen değişkenlere bağlı olarak görünmez yapma, renk değiştirme, yazı yazma, ipucu verme gibi aksiyonlar yapmasını sağlamak için kullanılır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
76
1.9. Input : Görsel ekrana veri girişi yapmak için kullanılır. 1.9.1. Toggle variable : PLC programında tanımlanmış değişkenin değerini kalıcı set/reset (lojik “0” / lojik “1”) olarak değiştirir. Kalıcı buton (Anahtar) çalışma olarak düşünülebilir. 1.9.2. Tap variable : PLC programında tanımlanmış değişkenin değerini set/reset (lojik “0” / lojik “1”) olarak değiştirir. Buton çalışma olarak düşünülebilir. 1.9.3. Text input of variable : Görsel ekrana Numpad veya Keypad üzerinden bilgi girmek için kullanılır. 2. TABLE : PLC programında tanımlanmış bir dizinin içeriğini grafiksel ekranda göstermek amacıyla kullanılan bir sekmedir. Visualizations nesnelerinden “table” sekmesi seçilip görsel ekran sayfasında bir kutu çizildiğinde aşağıda görülen “configure table” penceresi açılmaktadır. Açılan pencerede “Array” kısmına PLC programında dizi olarak tanımlanmış ve tablo üzerinde gösterilecek olan değişken atanır. Daha sonra sütun (Columns) sekmesinde tabloda gösterilecek sütun seçilir. Örnek : PROGRAM PLC_PRG VAR dizi : ARRAY[1..10] OF INT:=1,30,20,10,30,30,10,20,30,40; END_VAR OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
77
3. METER : Skalası programcı tarafından ayarlanabilen gösterge elemanı sekmesidir. Visualizations nesnelerinden “meter” sekmesi seçilip görsel ekran sayfasında bir kutu çizildiğinde aşağıda görülen “configure meter” penceresi açılmaktadır. Bu pencerede görsel ekranda kullanılacak olan gösterge elemanının özellikleri ayarlanabilmektedir. Arrowtype : Arrowtype sekmesi ile gösterge üzerinde hareket eden ibrenin türünü belirlenir. Arrow start / Arrow end : Bu sekme ile gösterge skalasının başlangıç ve bitiş açıları belirlenir. Arrowcolor : Bu sekme ile gösterge üzerinde hareket eden ibrenin rengi belirlenir. Variable/Scale : Bu sekme ile gösterge skalasının başlangıç değeri, bitiş değeri ve bu iki değer arasındaki birim (ara) değerler ayarlanır. Ayrıca PLC programında tanımlanmış ve gösterge üzerinde gösterilecek olan değişken ve birimi tanımlanır. Color areas : Bu sekme, gösterge skalasında bulunan değerler arasına renk atamak için kullanılır. Örnek : PROGRAM PLC_PRG VAR x :INT:=3; END_VAR 4. BAR DISPLAY : PLC programında tanımlanmış bir değişkenin değerini bar şeklinde gösterilmesini sağlayan sekmedir. Visualizations nesnelerinden “bar display” sekmesi seçilip görsel ekran sayfasında bir kutu çizildiğinde aşağıda görülen “configure bar display” OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
78
penceresi açılmaktadır. Bu pencerede görsel ekranda kullanılacak olan bar gösterge elemanının özellikleri ayarlanabilmektedir. Diagram type : Diagram type sekmesi ile gösterge üzerindeki “bar” ın skala içinde/dışında olması ayarlanır. Orientation : Bar göstergesinin yatay veya dikey olması belirlenir. Running direction : Bu sekme ile bar hareketinin yukarıdan aşağıya veya aşağıdan yukarıya olması ayarlanır. Bar color : Bu sekme, gösterge skalasında bulunan bar rengini ayarlar. Alarm color : Bar üzerinde belirlenen değer aşıldığında veya belirlenen bir değerin altına düşüldüğünde bar rengi değiştirilerek alarm verilebilir. Alarm color sekmesi ile alarm değeri ve rengi ayarlanır. Variable/Scale : Bu sekme ile bar skalasının başlangıç değeri, bitiş değeri ve bu iki değer arasındaki birim (ara) değerler ayarlanır. Ayrıca PLC programında tanımlanmış ve gösterge üzerinde gösterilecek olan değişken ve birimi tanımlanır. Örnek : PROGRAM PLC_PRG VAR x :INT:=3; END_VAR OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
79
5. HISTOGRAM : PLC programında tanımlanmış birden fazla değişkenin değerlerini bar şeklinde gösterilmesini sağlayan sekmedir. Ancak birden fazla değişkenin bir dizi içinde toplanması gerekir. Visualizations nesnelerinden “histogram” sekmesi seçilip görsel ekran sayfasında bir kutu çizildiğinde aşağıda görülen “configure histogram” penceresi açılmaktadır. Bu pencerede görsel ekranda kullanılacak olan histogram gösterge elemanının özellikleri ayarlanabilmektedir. Presentation : Bu sekme, değişken değerlerinin çiziminin, bar, çizgi veya eğri şeklinde olmasının seçimini yapmaktadır. Bar color : Bu sekme, gösterge skalasında bulunan bar / çizgi / eğrinin rengini ayarlar. Arraybegin : Bu sekme, çizimi yapılacak dizinin başlangıç adresini ayarlamaktadır. Arraybegin : Bu sekme, çizimi yapılacak dizinin bitiş adresini ayarlamaktadır. Barwidth : Bu sekme, çizimin (bar/çizgi/eğri) çizim alanında kaplayacağı alanı ayarlamaktadır. Alarm color : Çizim üzerinde belirlenen değer aşıldığında veya belirlenen bir değerin altına düşüldüğünde bar/çizgi/eğri rengi değiştirilerek alarm verilebilir. Alarm color sekmesi ile alarm değeri ve rengi ayarlanır. Variable/Scale : Bu sekme ile bar/çizgi/eğri skalasının başlangıç değeri, bitiş değeri ve bu iki değer arasındaki birim (ara) değerler ayarlanır. Ayrıca PLC programında tanımlanmış ve gösterge üzerinde gösterilecek olan değişken ve birimi tanımlanır. Color areas : Bu sekme, gösterge skalasında bulunan değerler arasına renk atamak için kullanılır. Örnek : PROGRAM PLC_PRG VAR CONSTANT dizi : ARRAY[1..10] OF INT:=1,30,20,10,30,30,10,20,30,40; END_VAR OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
80
6. BITMAP : Görsel ekrana bmp, tif,jpg formatında resim eklemek için kullanılan sekmedir. Visualizations nesnelerinden “bitmap” sekmesi seçilip görsel ekran sayfasında bir kutu çizildiğinde eklemek istenilen resmin adresini gösterildiği bir pencere açılmaktadır. İstenilen resmin adresi belirtildiği zaman resim, görsel ekrana eklenmektedir. Örnek : Yukarıda anlatılan özellikleri bir örnek ile uygulamalı olarak açıklayalım. PROGRAM PLC_PRG VAR C1: CTU; Start AT %IX4000.0 :BOOL; Stop AT %IX4000.1 :BOOL; Sistem AT %QX4000.0 :BOOL; Arttir AT %IX4000.2 :BOOL; dizi : ARRAY[0..2] OF INT; END_VAR OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
81
ANALOG ‐ DİJİTAL / DİJİTAL – ANALOG DÖNÜŞTÜRÜCÜLER (ADC / DAC) Günümüzde değişik amaçlar için birçok elektronik cihaz kullanılmaktadır. Bu elektronik cihazlar, çevremizdeki fiziksel değişimleri çeşitli sensörler ile algılayıp kontrol etmemizi sağlar. Bir sensör; ağırlık, uzunluk, ışık şiddeti, sıcaklık, basınç, debi gibi fiziksel büyüklükleri, bunlarla orantılı akım veya gerilim cinsinden elektriksel değerlere dönüştürür. Maksimum ve minimum sınırları arasında farklı değerler alarak değişen elektriksel büyüklüklere analog bilgi yada analog değer denir. Akım ve gerilim analog değerlerdir. Örneğin DC güç kaynağı sıfır ile maksimum değerleri arasında sonsuz sayıda farklı bir değere ayarlanabilir. Büyüklüklerin “var” veya “yok” anlamına gelen lojik“1” ve lojik“0” şeklinde iki rakam kullanılarak ifade edilmesine dijital bilgi ya da dijital değer denir. Sensör çıkışlarında genellikle analog değer bulunur. Mikroişlemci ile çalışan elektronik cihazlar sadece dijital bilgileri alıp değerlendirebilir. Bu durumda mikroişlemcili ve dijital birçok cihaz için analog bilgilerin dijital bilgilere dönüştürülmesi gerekir. Analog değerleri dijital değerlere dönüştüren devrelere ADC (Analog Digital Converter – AD Dönüştürücü) denir. Analog değerler dijitale dönüştürüldükten sonra işlenir, saklanır, uzak mesafelere iletilir, çeşitli ekranlarda gösterilir. Bazı durumlarda dijital değerleri yeniden analog değerlere dönüştürmek gerekir. Örneğin bilgisayarımızda bir müzik parçasını dijital olarak kayıtlı bulunmaktadır. Dinlemek istediğimizde bu dijital değerler hoparlör için anlamlı ve kullanılabilir değerler değildir. Yeniden analog değere dönüştürülerek hoparlöre verilir ve ses gibi fiziksel bir büyüklüğe dönüştürülür. Dijital değerleri analog değerlere dönüştüren devrelere DAC (Digital Analog Converter, D/A dönüştürücü) denilir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
82
Analog – Dijital Dönüşüm sırasında çözünürlük (resolution) ve örnekleme zamanı (sample time) çok önemli iki parametredir. Dönüştürücülerde çözünürlük bit sayısı ile ifade edilmektedir. Piyasada 8, 10, 12, 16 gibi dönüştürücüler bulunmaktadır. ABB firmasının bazı PLC’ lerinde (PM554‐ETH gibi) dahili analog giriş veya dahili analog çıkış bulunmamaktadır. Bu tip PLC’ lerde analog giriş/çıkışa ihtiyaç var ise harici (AX561 gibi) analog giriş / çıkış modülü bağlamak gerekir. Harici modül eklemek için Control Builder Plus programında soldaki proje penceresinde IO_BUS sekmesine sağ tıklayarak “Add Device” sekmesi seçilir. Ekrana gelen Add Device penceresinde ilgili modül (AX561) seçilerek PLC’ ye eklenir. AX561 modülünde 4 analog giriş 2 analog çıkış bulunmaktadır. Fakat bazı PLC’ lerinde (PM564‐ETH gibi ) dahili analog giriş veya dahili analog çıkış vardır. Ancak bu giriş, çıkışlar özel giriş/çıkış olup dijital veya analog şeklinde ayarlanması gerekir. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
83
HIZ / KONUM GERİBESLEME ELEMANLARI Geribesleme elemanları bir servo sistemin, hızını, motor milinin bulunduğu konumu ve yükün bulunduğu konumu ölçmek ve belirlemek için kullanılır. Uygulamalarda kullanılan geribesleme elemanı türleri aşağıdaki gibi sınıflandırılabilir. Şekil1. Geri besleme eleman türleri Geri besleme elemanları motora bağlı bir şekilde kullanılırlar ve genellikle motor ile aynı devirde çalışırlar. Bu nedenle yüksek hızlarda ısınır ve ürettikleri işaretler bulundukları ortamdaki manyetik alandan etkilenir. Geribesleme elemanlarının, sistemi olumsuz yönde etkileyecek bu etkilerden arındırılması gerekir. Pratik uygulamalarda yüksek hız nedeniyle ısınmanın önlenmesi için uygun yataklama sistemleri kullanılabilir. Elemanların elektromanyetik alandan korunması için de ekranlama yapılabilir. Takogeneratör Eski sistemlerde genellikle doğru akım motorlarında en çok kullanılan hız geri besleme elemanıdır. Doğru akım stator sargıları rotor devrine göre belli bir seviyede (+‐10V gibi) hızla orantılı bir doğru gerilim üretir. En önemli özelliği (Volt / Devir Sayısı) oranının sabit olmasıdır. Şekil 2. Takogeneratör fotoğrafı OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
84
Resolver Bu algılayıcılar sargılı bir rotor, birbirlerine göre 90 faz farkıyla yerleştirilmiş iki stator sargısı yanında, bir sargısı stator ve bir sargısı rotorda bulunan sabit hava aralıklı döner transformatörden oluşur. Statorda bulunan döner transformatörün uyarma sargısına yüksek frekanslı (2‐10kHz) besleme gerilimi verildiğinde, stator sargılarında 90 faz farklı gerilimler indüklenir. Bu gerilimlerin genlikleri konuma bağlı olarak değişir. Statorda indüklenen gerilimlerin birbirine göre oranı alınarak rotor konumu yüksek kesinlik derecesinde elde edilir. Resolverin rotor ve statorunda mekanik bir bağlantı yoktur. Bu nedenle çok yüksek hızlarda sorunsuz olarak kullanılabilirler. Bu elemanlar mekanik olarak da oldukça dayanıklıdırlar. Şekil 3’te resolver iç yapısı görülmektedir. Şekil 3. Resolver iç yapısı Konum bilgisi mikroişlemci içinde doğrudan bu iki gerilimin oranının arktanjantı alınarak hesaplanır. Hesaplanan konum bilgisi kullanılarak hız bilgisi de dolaylı olarak ölçülmüş olur. Şekil 4. Resolver fotoğrafı OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
85
En basit, en sağlam, çevre gürültülerine en dayanıklı geribesleme elemanıdır. Analog çalışması bakımından takogeneratöre benzer. Motor hareket halinde değilken de konum bilgisini verir. Bunun yanında hassasiyetleri çok yüksek değildir. Şekil 5. Resolverin konuma bağlı çıkış sinyalleri Mutlak Enkoder Mutlak tip enkoder, açısal pozisyonun şeffaf ve koyu kısımların bir kombinasyonu şeklinde kodlandığı enkoder tipidir (Şekil 6). Kodlama işlemi uygun bir dijital kodlama ile gerçekleştirilir. En çok kullanılanları grey kodu, ikili (binary) ve BCD kodlamadır. Yüksek kesinlik derecesine sahip olan bu algılayıcılar pahalıdır ve mekanik dayanımları azdır. Şekil 6. Mutlak enkoder iç yapısı OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
86
Mutlak enkodere “Endat encoder” de denilir. Işık kaynağının önüne koyulan filtre ve çarktaki kodlama sistemine göre (örneğin Gray Code) MHz mertebesinde saat (clock) frekansıyla çift sinyalle çalışır. Şekil 7. Mutlak enkoder çıkış sinyalleri Şekil 8. Mutlak enkoder fotoğrafı Artımsal Enkoder Artımsal tip enkoder, bir adım açısı miktarında döndürüldüğünde bir çıkış darbesi (pulse) veren enkoder tipidir. Şek9l 8. Artımsal enkoder fotoğrafı OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
87
Şekil 8. Artımsal enkoderin çıkış sinyalleri HIZLI SAYICI MODÜLÜ Hızlı sayıcılar CPU çevrim süresinden daha hızlı gerçekleşen sinyalleri okumak için kullanılırlar. PLC ile hızlı sayıcı uygulaması yapabilmek için hızlı sayıcıya ait donanımın mutlaka PLC’ de olması ya da PLC’ ye harici bir hızlı sayıcı modülünün bağlanması gerekir. PM554 PLC’de 1 adet hızlı sayıcı girişi bulunmaktadır. Hızlı sayıcılar hareket eden nesnelerin ilerleme miktarlarını ölçmek için kullanılabildiği gibi motorların dönme hızı veya açısını ölçmek için de kullanılmaktadırlar. PLC’ LERDE HABERLEŞME PLC’ lerde haberleşme için kullanılan çeşitli protokoller bulunmaktadır. Bu protokolleri, 
Profibus 
Modbus RTU 
Interbus 
DeviceNet 
CANopen 
CC‐link OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
88

TCP/IP 
Modbus TCP Şeklinde sıralayabiliriz. Bu protokoller sayesinde PLC’ ler arasında databus üzerinden bilgi alışverişi yapılabilmektedir. MODBUS İLE HABERLEŞME Modbus, modicon firması tarafından geliştirilmiş, endüstriyel aygıtların haberleşmesi için kullanılan tamamen açık bir protokoldür. Açık protokolün anlamı farklı üreticiler bu protokole uygun cihazları herhangi bir telif ücreti ödemeden üretebilir ve kullanabilir. Bu sebepten ötürü endüstriyel sistemlerde yaygın kullanılmaktadır. Modbus ağında bir adet master cihaz, 247 slave cihaz ile birlikte bulunabilir. Bunu anlamı modbus ağına bağlı cihaz diğer slave cihazdan aldığı verileri işleyip başka bir slave cihaza bilgi gönderebilir. ELEKTRİK MOTOR SÜRÜCÜLERİ OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
89
Yukarıda Siemens ve ABB firmalarına ait motor sürücüleri görülmektedir. Elektrik motor sürücüleri, konveryör, CNC tezgahları, paketleme makinaları, asansör uygulamaları gibi birçok endüstriyel uygulamalarda kullanılmaktadır. Elektrik motor sürücüleri doru akım ve alternatif akım motor sürücüleri olarak iki ana grupta sınıflandırılmaktadır. Doğru akım motorları kullanımı günümüzde azalmaktadır. Güç elektroniği elemanlarının ve mikroişlemcilerin gelişimi ile birlikte alternatif akım motor sürücüleri gelişmiş ve kullanımı yaygınlaşmıştır. Alternatif akım motor sürücüleri de genel olarak asenkron motor sürücüleri ve servo motor sürücüleri olarak iki grupta toparlanabilir. Asenkron motorlar sürücü ile birlikte hassasiyetin önemli olmadığı basit uygulamalarda, servo motorlar ise hassas uygulamalarda kullanılmaktadır. Alternatif akım sürücülerinin yapısında genel olarak doğrultucu (rectifier), evirici (inverter), doğru akım barası için kondansatör ve frenleme için kıyıcı (chopper) bulunmaktadır. OtomasyonSistemleriDersNotları–B.ARİFOĞLU&E.BEŞER
90
Download

otomasyon sistemleri - Kocaeli Üniversitesi