PIC 16F877A Mikro denetleyicisinin PLC olarak kullanılması PIC LDR Programlama Using PIC16F877A microcontroller for PLC programming PIC LDR Programming Murat BAŞKAN, Mustafa Eren GAZĐ, Kadir Has Üniversitesi T.B.M.Y.O Mekatronik Programı, 34590, Selimpaşa-Đstanbul baskan@khas.edu.tr, mustafaeren.gazi@gmail.com ÖZET Önerilen çalışmada yeni bir arayüz geliştirilerek assembler ve macro düzenlenmesine gerek kalmadan ladder programamının doğrudan PIC e yazılan hex kodlara dönüşümü sağlanmıştır. Böylece ladder programlama bilmek PLC programını yazmak için yeterli olacaktır. Programlanabilir mantık denetleyicileri (PLC) tıpkı mikrodenetleyiciler gibi giriş ve çıkışları olan programlanabilir sistemlerdir, ancak birçok uygulamada daha ekonomik oldukları için PLC yerine mikrodenetleyiciler tercih edilir. Bir mikrodenetleyici programlamak için bazı programlama dillerini bilmek gerekir. Ladder (basamak) diyagramları programlama işlemini oldukça kolaylaştırır. PIC LDR Programlama programı, mikrodenetleyiciyi Ladder diyagramı ile programlamak için geliştirilmiştir. Kullanılan arayüz programı, Visual Basic dili ile yazılmıştır. Bu çalışmada PIC 16F877A ve Siemens S7-200 PLC deney setleri kullanılmış ve önerilen yöntemle maliyetin ciddi bir biçimde azaldığı gözlemlenmiştir. ABSTRACT In the proposed work by using a new interface, ladder program is directly converted to the hex codes written on PIC without assembler and macros. Therefore only ladder programming will be sufficient to write a PLC program. PLCs are programmable systems that contain inputs & outputs just like microcontrollers, but in most applications, microcontrollers are preferred rather than PLCs since they are more economical. It is necessary to know some programming languages in order to program a microcontroller. The ladder diagrams make the programming process significantly easier. The program named PIC LDR Programlama is improved to program microcontrollers with Ladder diagram. The GUI we used is written by Visual Basic Language. In this study, PIC 16F877A & Siemens S7-200 PLC experiment setups are used, and it is observed that the cost is dramatically reduced by the proposed method. 1. GĐRĐŞ 1.1.PROGRAMLANABĐLĐR LOJĐK KONTROLÖR (PLC) Programlanabilir Lojik Kontrolör, otomasyon ve kontrol sistemleri için geliştirilmiş, özel amaçlı bir sayısal kontrolör veya başka bir deyişle endüstriyel bilgisayardır. Bu cihazların ilk kullanım alanı otomasyon sistemleri olmasına karşın, günümüzde PLC ler bir tesisin hem kumanda hem de geri beslemeli kontrol devrelerini gerçeklemek için kullanılır. PLC bir tesis veya bir makinenin önceden yazılmış programa ve durum değişikliğine göre kontrolünü yapan mikroişlemci tabanlı bir kontrol cihazıdır. 1.1.1.PLC nin Yapısı PLC ler endüstriyel otomasyon sistemlerinde doğrudan kullanıma uygun özel giriş ve çıkış birimleri ile donatılmıştır. Girişe basınç, seviye, sıcaklık algılayıcıları gibi analog sinyal üreten veya buton gibi iki değerli lojik bilgisi taşıyan elemanlar, çıkışa ise röle kontaktör, selenoid, valf 1
gibi kumanda devre sürücü elemanları doğrudan bağlanabilir. PLC sistemi analog-dijital girişçıkış bağlantıları aracılığı ile birçok makine ve sistemin kontrolünde kullanılmaktadır. Şekil 1. ve 2. den görüldüğü gibi, Bir PLC temel olarak Bir sayısal işlemci bellek Giriş ve çıkış birimleri, Programlayıcı birimi, Besleme güç kaynağı gibi temel kısımlardan oluşmaktadır.[1] Şekil 2. PLC blok diyagram. Şekil 1. PLC deney seti [2]. 1.2 ES110 BĐLGĐSAYAR DESTEKLĐ PIC MĐKRODENETLEYĐCĐ DENEY SETĐ [3] 1.2.1 PAM ANA MODÜL Üzerinde proje geliştirilecek olan PIC'in takılarak programlandığı ve çalıştırıldığı modüldür. Ana modül üzerinde yerleşik programlayıcı devresi vardır. Bu modül üzerinde bulunan 6 adet 2x5 header pin konnektör vasıtasıyla diğer uygulama modüllerine bağlantı yapılır. Her konnektör üzerinde bulunan 2 pin diğer modüle gerilim sağlamak için, geriye kalan 8 pin de bir port taki data pin leri olarak kullanılmaktadır. Bu deney setinde 40 pin PIC 16F877A mikrodenetleyici kullanılmıştır.(şekil 3.) Şekil 3. PAM ana modül. Şekil 4. Buton giriş modülü. 1.2.2 BUTON GĐRĐŞ MODÜLÜ Dijital giriş (5V, 0V) yapabilmek amacıyla üzerine 8 adet buton yerleştirilen modüldür. Butonlara bağlanan 10K lık dirençlerle girişler pull-up yapılmıştır (5V a bağlı olduğunda normalde lojik-1 verir). Butona basılınca lojik-0 (0V) modül çıkışına gönderilir. (Şekil 4.) 1.2.3 RÖLE MODÜLÜ Üzerinde tek kontaklı, bobin gerilimi 5V olan 4 adet röle bulunan modüldür. Role kontak gerilimi 220V, Şekil 5. Röle modülü 2
10A de kullanılabilir. Röle bobinleri BC337 transistorlarıyla sürülmüştür. Her bir röle çalıştığında karşısındaki LED yanar. (Şekil 5.) Geliştirilen sistemde kullanılan mödüllerin devre yapıları Şekil 6. ve 7. de gösterilmiştir. Şekil 6. Buton bağlantı modülü. Şekil 7. Röle bağlantı modülü. 2. PIC LDR Programlama Şekil 8. PIC LDR masaüstü PIC LDR programlamanın kurulum dosyası çalıştırıldığında bilgisayarda masa üstüne 2 adet ikon yükler. Bunlar Şekil 8. de görülen dosyalardır. Kontrol edilmek istenilen sistem için yazılacak ladder Şekil 9. da görülen arayüz kullanılarak oluşturulur. Programlama işlemi sonucunda PIC 16F877A ya yüklenilecek olan *. asm dosyası elde edilir. Buradaki programlama işlemi bittikten sonra masaüstünde ikonu bulunan Microchip firmasının MPASM derleyici programı çalıştırılarak *.asm dosyası PIC e yüklenilecek olan *.hex dosyasına dönüştürülür. Artık PIC e yazılmaya hazır hale gelmiş olan program mikrodenetleyici deney setinde takılı olan PIC 16F877A ya MicroPro programı aracılığıyla yüklenir. Sonuç olarak artık sistem PLC yerine geçen bir gömülü sistem haline gelmiştir. Programın arayüzünde ilk olarak (1) ile işaretli olan bölümde, kullanılan sisteme göre seçim yapılmalıdır. Program ona göre kodlama yapar. Eğer butona basıldığında lojik-1 bilgisi gidiyorsa pozitifi, lojik-0 bilgisi gidiyorsa negatifi seçmek gerekir. Kullanılan deney setinde butona basılınca lojik-0 bilgisi gönderildiği için burada negatif seçilmiştir. Şekil 9. PIC LDR Programlama Ara yüz. 3
Arayüzde kullanılan (2) numaralı kısım projeye eklenecek elemanı belirlemek için kullanılır. (3)numaralı kısımda ise belirlenmiş eleman LDR programlama mantığı ile buraya eklenir. (4) numaralı kısımda ise kullanılan network de eğer yapacağınız proje büyük ise çalışma ortamları etkinleştirilerek proje genişletilir. Yapılan bu çalışma da burada veya mantığı kullanılarak genişleme işlemi yapılmıştır. Şekil 10. PIC LDR arayüzünde kullanılan bölümler Şekil 10. da yazılan program deneme.asm olarak kayıt edilir. Şekil 11. de (2) nolu kısımda görülen Browse butonuna tıklanarak asm dosyası seçilir. (3) nolu kısımda derleme işlemi yapılarak Hex dosyası haline getirilen program mikro denetleyiciye şekil 12. de görülen Micropro programı kullanılarak gönderilir. Şekil 11. PIC için MPASM derleme programı Şekil 12. de görülen Micropro programı ile PIC için oluşturulan deneme.hex dosyası PIC e yüklenerek işlem tamamlanmış olur. PIC artık PLC yerine kullanılan bir sistem haline gelmiştir. Şekil 12. Micropro Programının görüntüsü ve yapılan işlemler 4
Programın ana sayfasında F2 kısa yoluna tıklayarak o ana kadar ki kodlanan program kodları görülebilir. Böylece yapılan LDR nin assembler dilindeki hali pratik bir şekilde görülebilir aramalar yapılabilir ve düzenlenerek kayıt edilebilir. Şekil 13. Araçlar Menüsü ve Assembly Kodları Şekil 14. Makrolar Programın ana sayfasında F3 kısa yoluna tıklayarak programda kullanılan makrolar görebilir ve kaydedilebilir [4]. Bu makrolar geliştirilerek yeni makrolar yaratılarak MPASM klasörü içine bir kütüphane dosyası olarak ilave edilebilir. Makrolar MPASM derleyici programında kullanılır. PIC deney setinde kullanılan 16F877A nın A portu giriş olarak kullanılmış ve giriş sayısı 6 adet olarak sınırlandırılmıştır. A Portuna bağlı olan buton devresi girişler için kullanılmıştır. Burada kullanılan lojik 1 sinyali +5 volttur. B portu çıkış olarak kullanılmıştır. Toplam 8 adet çıkış vardır ve programlama sırasında Şekil 10. da gösterilen (2) nolu bölümde bu seçim yapılır. Geliştirilen projede sadece dijital giriş-çıkış işlemleri yapılabilmektedir. B portuna PIC deney setinde bulunan röle çıkışı bağlanarak PLC benzetimi yapılmak istenmiştir. 5
2.1 Örnek proje 3 adet yarışmacının önünde butonlar bulunmaktadır. Butonlara yarışmacılardan hangisi daha hızlı basarsa onun önündeki ışık yanacaktır. Đlk butona basıldıktan sonra diğer yarışmacıların butonları çalışmayacaktır [5]. Şekil 15.a Siemens S7-200 Ladder diyagram Şekil 15.b PIC LDR Ladder diyagram Şekil 15.a da Siemens S7-200 PLC nin Step7Win yazılımı ile ladder diyagramı programlanması görülmektedir [6]. Şekil 15.b de aynı işlem PIC LDR Programlama programı kullanılarak gerçekleştirilmiştir. 3. SONUÇ Bu çalışmanın benzer diğer çalışmalardan farkı, geliştirilen arayüz ile assembler ve makro düzenleme ile uğraşmadan yazılan ladder programının doğrudan PIC e yazılan HEX kodlara dönüşüm sağlamasıdır. Kullanıcının sadece ladder programlama bilmesi yeterli olacaktır. Gerçekleştirilen sistem ve kullanılan arayüz kullanıcı dostu olması için işlemler gayet basit olarak düzenlenmiştir. Yapılan çalışmada sistemler maliyet bakımından karşılaştırıldığında önerilen sistemin çok daha avantajlı olduğu görülebilir. Bu projede PIC için yazılmış olan makrolar geliştirilerek PLC de mevcut olan zamanlayıcılar, sayıcılar vb. gibi komutlar eklenebilir. Bu şekli ile sistem geliştirmeye açık bir yapıya sahiptir. Ayrıca yapılan projede öğrencilerin mekatronik programında eğitimleri süresince aldıkları PLC ve Mikroişlemci/Mikrodenetleyici derslerini birleştirmeleri sağlanmıştır. Kullanılan PIC deney seti yerine giriş ve çıkışlarında optik yalıtım olan ve PLC yapısına daha uygun olan bir devre de tasarlanabilir. KAYNAKÇA [1] Çolak, D., Bayındır, R., Kurusçu, S., PLC Kontrollü Asansör Eğitim Seti Tasarımı ve Uygulaması, Erciyes Üniversitesi Fen Bilimleri Enstitüsü Dergisi 23 (1-2), 86 94, (2007). [2] Çokesen Elektronik Operatör Panelli Simülasyonlu PLC Deney Seti (Çanta Tipi) ES300.03 kullanım kılavuzu. [3] Çokesen Elektronik ES110 Mikrodenetleyici Deney Seti kullanım kılavuzu. [4] M. Uzam, PIC16F877A Mikrodenetleyicisi Temelli PIC PLC - 3 Kontak ve Röle Temelli Makrolar, Endüstri & Otomasyon, 155, 30-33, Şubat 2010. [5] http://www.duzce.edu.tr/~umitaydemir/plc/deneyler.htm [6] Simatic S7-200 Programlanabilir Otomasyon Cihazı Kullanma Kılavuzu, Aralık 2002. 6