Ae2 Project Endüstriyel RPI Uygulama Eğitimi Kısım 1 (21.11.16) Kısım 2 (Lab.) ( 28.11.16) Polly Electronics and Automation support@pe2a.com pe2a.com 1
İÇİNDEKİLER : Endüstriyel Otomasyon Giriş Klasik PLC Sistemleri Klasik PLC & RPI tabanlı iot Çözümleri RPI Tabanlı Örnek Otomasyon Projeleri MedIOEx Rpı Shield Sorular 2
Basit bir PLC Şeması megep.meb.gov.tr 3
PLC de Kullanılan Modüller Digital Input Digital Output Analog Input Analog Output Hızlı Sayıcılar PT100 girişi Haberleşme Modülleri vs. 4
Temel Otomasyon Bilgileri Digital Input Digital Output «0» signal gerilimi -3..+5V EN61131-2 «0» 0V «1» signal gerilimi 15..30V EN61131-2 «1» 24V Digital Input Digital Output megep.meb.gov.tr 5
Temel Otomasyon Bilgileri Digital Input 6
Temel Otomasyon Bilgileri Digital Output 7
Temel Otomasyon Bilgileri Analog Input / Output 8
Temel Otomasyon Bilgileri Analog Input / Output Rüzgar Türbini Dişli Kutusu Örnek Yağ Basıncı Hesabı: 4 ma : 0 16 ma : 4095 9
Klasik Otomasyon Sistemlerin Avantajı / Dezavantajı Avantajları Standartlara uygunluk Teknik servis ağı Bilinirlik IEC 61131-3 yazılımın basitleştirilmiş olması Dezavantajları Pahalı olması Çok adetli makine üretimlerine uygun olmaması» Yeni teknolojileri desteklememesi CPU mimarisinin ve hızlarının ilkel olması Her PLC nin kendine ait farklı haberleşme protokolü olması 10
Peki ya iot Sistemleri? Dezavantajları Standartlara uygunluk Teknik servis ağı Bilinirlik IEC 61131-3 yazılımın basitleştirilmiş olması Avantajları Uygun maliyet Çok adetli makine üretimlerine uygun olması Yeni teknolojileri desteklemesi (programlama) CPU mimarisinin ve hızlarının modern olması TCP/IP, MQQT gibi modern haberleşme protokolleri desteklemesi Bulut yapısına uygunluk 11
Karşılaştırma Basit bir PLC ve RPI Technical Data Siemens S7-1200 CPU 1211C Processor - Flash memory 50kb Internal Main Memory 1MB Operating system - Address Data 1kb GPIO 12 Görüntü Çıkışı - Stereo Çıkışı - Raspberry Pi 3 Teknik Özellikleri: 64 bit quad core ARMV8 işlemci 40 GPIO 1.2 GHz 1GB RAM Dahili Wifi BCM43143 Bluetooth 4.1 4 adet USB 2.0 4 uçlu stereo çıkışı ve composite video çıkışı HDMI çıkışı 12
Endüstri şu anda neden RPI Kullanmıyor? Raspberry ile yapılmış bir pano Endüstride Kullanılan bir pano 13
Endüstri şu anda neden RPI Kullanmıyor? Nedenleri: IO Shield ler endüstriyel kullanıma uygun değil Genelde hobi amaçlı kullanıcılar sadece output/inpu gibi özellikleri kullanıyor Endüstri yeterince konu ile ilgili Ar-Ge yapmıyor Çözüm: Pe2a, mühendisliği ve dizaynı tamamen yerli; açık kaynak kodlu MedIOEx IO Shield ini tasarladı 14
MedIOEx Nedir -1? Endüstriyel şartlar düşünülerek hazırlanmış Raspberry PI genişleme modulüdür. PLC ve endüstriyel PC nin çalıştığı her ortama uyumludur. PLC de olmayan bir bilgisiyarın sağlayabileceği tüm özellikleri destekler: Onboard wireless Linux based compuing Python, C/C++ extension Node.js, PHP kurulumu vs. VD2440111 IO Expander Kartı 15
MedIOEx Kimler Kullanmalı? Embedded linux öğrenmek ve öğrendiklerini sahada uygulamak isteyen lise/üniversite öğrencileri Eğitim modüllerinde Raspberry yi öğrenen ama bunu gerçek hayata uygulayamayan mühendisler/ilgililer. Öğrencilerine endüstriyel şartlara uygun otomasyon ve geleceğin sektörü iot ile ilgili gerçek uygulamalı örnek vermek isteyen öğretim görevlileri. Uygun maliyetli ve bulut tabanlı çalışmaya uygun endüstriyel PC, PLC arayan şirketler. VD2440111 IO Expander Kartı 16
MedIOEx IO Ayrıntıları - 1 VD2440111 Kart genel özellikleri: 16 Digital Output 16 Digital Input 4 Analog Input 4 Analog Output RS232/RS485 i2c Temperature Real Time Clock Haberleşme Modülleri: VD2440111 IO Expander Kartı 17
MedIOEx IO Haberleşme Altyapısı SPI DO AO AI Pin to pin i2c RS232 RTC Sicaklik RS485 DI VD2440111 IO Expander Kartı 18
MedIOEx ile Ae2 Araç Temel Kontrolör Tasarımı 19
MedIOEx IO Ayrıntıları -2 Digital Output 12 adet 24VDC, 80mA transistor Çıkışı 4 adet 250V, 5A Röle Çıkışı J3, J4, J5, J6 konnektörleri Max. çalışma akımı 80mA Analog Output 4 adet 12bit, 0-10V J1 konnektörü Max. çalışma çıkış akımı 10mA 20
MedIOEx IO Ayrıntıları - 3 Digital Input 16 adet 24VDC J14, J15, J16,J17 konnektörleri Analog Input 4 adet 12bit, 0-10V J13 konnektörü 21 Kart besleme gerilimini izlemek için SW2 «24V
MedIOEx IO Ayrıntıları - 4 24V Bus J2 J18 5V Bus J12 Bus hattını sahadaki sensör, kontak vs. gibi beslemelerde kullabilirsiniz. Max. çalışma akımı 200mA 22
MedIOEx IO Ayrıntıları - 5 Kart Besleme Konnektörü J11 POWER J10 POWER Kart beslemesi 24VDC dir. Min. 1A, 24VDC güç kaynağı bağlanması gerekmektedir. 24VDC bağlanmasından 5V OK ise D13 Led i yanar 23
MedIOEx IO Ayrıntıları - 6 RS485/RS232 Konnektörü J7 Topoloji ve bağlantı şekline bağlı olarak 32 adet rs85 node desteği SW1 switch i ile RS232/RS485 seçimini yapabilirsiniz. i2c Bus Çıkışı J8 24
MedIOEx IO Ayrıntıları - 6 Raspberry Pi 3 Teknik Özellikleri: 64 bit quad core ARMV8 işlemci 1.2 GHz 1GB RAM Dahili Wifi BCM43143 Bluetooth 4.1 4 adet USB 2.0 4 uçlu stereo çıkışı ve composite video çıkışı HDMI çıkışı Raspberry Pi 3 25
Kolay Montaj Tek yapmanız gereken Raspberry i MedIoEx e şekildeki gibi montajını yapmak: + = Karta, J10 veya J11 konnektöründen 24VDC verdikten sonra RPI üzerinde ufak tefek birkaç yazılım ayarıyla artık aklınızdaki tüm yazılımları gerçek hayata dökebilisiniz! 26
İlk Kurulum - 1 1-) Raspbian jessie işletim sisteminin yüklenmesi 2-) Bcm2835 kütüphanesinin kurulması RPI Terminalde aşağıdaki adımlar izlenmesi gerekiyor : $ sudo su $ mkdir newdir $ cd newdir $ git clone git://github.com/pe2a/medioex.git $ cd bcm2835-1.xx $./configure $ make check $ make install $ cd.. $gcc -o Do_test Do_test.c pmedex.c -lbcm2835 -std=gnu11 Program çalıştığında ledler «blink» yapacaktır. Pe2a.h kütüphanesinin kararlı sürümü için raspbian Jessie işletim sistemi önerilir. 27
İlk Kurulum - 2 3-) SPI portu disabled 4-) i2c portu raspi-config den enabled 5-) Serial port raspi-config enabled SPI portu kapalı olması gerekiyor! 28
İlk Kurulum - 3 8-) Kurulum bitti artık kart ile endüstriyel otomasyon projelerini hayata geçirebiliriz 29
İlk Kurulum - 3 8-) Kurulum bitti artık kart ile endüstriyel otomasyon projelerini hayata geçirebiliriz 30
pmedex.h ve pmedex.c Hakkında pmedex.h ve pmedex.c kütüphanesi tamamen açık kaynak ve VD2440111 kartına tam uyumlu bir kütüphane desteğidir. Haberleşme protokollerinin karmaşık işlemleriyle uğraşmanıza gerek kalmadan doğrudan projenizi basit fonksiyon bloklarıyla gerçekleştirebilirsiniz C veya C++ programlama dillerini çok az bilen kullanıcılar bile bu kütüphane desteği ile günlük hayatta karşılaştıkları birçok sorunun üstesinden gelebilirler. Bu kütüphaneyi kullanarak yapılmış birçok örnek proje uygulamasına erişerek ihtiyacınız olan programı basit revizelerle işinize uygun hale kolaylıkla getirebilirsiniz. 31
Digital Output Örnek Kullanımı Compile: gcc -std=gnu11 -o Do_test Do_test.c pmedex.c -lbcm2835 Run:./Do_test Pe2a_DO_DI_init() DO ve DI de kullanılacak pinlerin tanımlasını gerçekleştirir. Pe2a_DO_setHigh() J3, J4, J5, J6 konnektörlerini tetikler ve 24VDC çıkışta verilmesini sağlar. Pe2a_DO_setLow() J3, J4, J5, J6 konnektörlerinin iletimini keser ve çıkışta gerilimin 0V düşmesini sağlar. Program çıktısı: 100ms aralıklarla J4_1 pinin önündeki led yanıp/söner. pe2a_gpio_j14_1 pini eğer SW2 buzzer butonu aktif hala getirilirse aynı zamanda «buzzer» dan ses duyulmasını da sağlayacaktır. Kullanıcının ses ile uyarılması gibi işlemleri bu pini aktif hale getirerek kullanabilirsiniz. 32
Analog Output Örnek Kullanımı Compile: gcc -std=gnu11 -o Ao_test Ao_test.c pmedex.c -lbcm2835 Run:./Ao_test Pe2a_AO_init() AO da kullanılacak pinlerin tanımlasını gerçekleştirir. Pe2a_AO_writeVal() J1 konnektörünün pinlerinden analog gerilim referansı alınmasını sağlar. 0V -> 0 10V -> 4095 Program çıktısı: Her saniye pinlerdeki gerilim 245mA artar ve 10V olduğunda tekrar 0V a düşer. 33
Digital Input Örnek Kullanımı Compile: gcc -std=gnu11 -o Di_test Di_test.c pmedex.c -lbcm2835 Run:./Di_test pe2a_do_di_init() DO ve DI de kullanılacak pinlerin tanımlasını gerçekleştirir. pe2a_di_getval() J14,J15,J16,J17 konnektörünün pinleri Digital Input olarak kullanılabilir. 0 3V, «0» değeri >3V «1» değerini döndürecekir. Program çıktısı: Her saniye pinlerdeki gerilimi kontrol eder ve 3V yukarısındaki değerlerde 1 değerini döndürür. 34
Analog Input Örnek Kullanımı Compile: gcc -std=gnu11 -o Ai_test Ai_test.c pmedex.c -lbcm2835 Run:./Ai_test Pe2a_AI_init() AI da kullanılacak pinlerin tanımlasını gerçekleştirir. Pe2a_AI_getVal() j13 konnektörüne sahadan gelen gerilim referansını digital olarak kulalnıcıya verir. 0 -> 0V 4095 -> 10V Program çıktısı: Her saniye pinlerdeki gerilimi ölçer ve 12bit çözünürlüğünde kullanıcıya anlık gerilim değerinin döndürür. İlk test için SW2 24V sense butonu kullanılabilir. Buton aktif olduğunda pe2a_gpio_j13_1 konnektörü 24VDC den gelen gerilimi ölçecektir. 35
RS232/RS485 1) 2) Serial Portunun «enable» edilmesi RPI yeniden başlatıldığında J7 konnektörü D-Sub Bağlantısı yapıldığında karşı taraftaki bilgisiyar ile doğrudan haberleşmeye başlar VD2440111/ Med_IO_Ex RPI IO Expander Geliştirme Kartı 36
Yararlı Linkler MedIOEx İlk Devreye Alma : http://pe2a.com/medioex/tr/medioex-baslangic-tr.html MedIOEx Devreye Alma ve Yazılım Kurulumları Video: https://vimeo.com/album/4362016 MedIOEx Kaynak Kodları: https://github.com/pe2a/medioex MedIOEx Uygulama Örnekleri: https://github.com/pe2a/medioexsamplecodes http://pe2a.com/medioex/tr/medioex-ornekkodlar-tr.html https://www.raspberrypi.org/forums/ http://www.embedded.com/ http://elinux.org/main_page MedIOEx'e uygun fiyatlar ile sahip olmak için: http://www.samm.com/product/1493/medioex-raspberry-pi-endustriyel-io-shield.html VD2440111/ Med_IO_Ex RPI IO Expander Geliştirme Kartı 37
Dinlediğiniz için teşekkürler. Sıra sizde.. Sorular? Mail : support@pe2a.com VD2440111/ Med_IO_Ex RPI IO Expander Geliştirme Kartı 38