ii - ftherol.files.wordpress.com fileii ÖnsÖz ve teŞekkÜr sürekli gelişen ve yenilenen...
TRANSCRIPT
i
ii
ÖNSÖZ VE TEŞEKKÜR
Sürekli gelişen ve yenilenen teknolojik üretimler, daha kaliteli ve ihtiyaca daha çabuk
cevap vermesi bakımından makinalar aracılığı ile otomatik olarak yapılmaktadır.
Böylece daha seri üretilen, kaliteli, hata oranı çok daha az ürünler elde edilmektedir.
Endüstri alanın bu üretimler sırasında işlemler PLC denilen mikroişlemci tabanlı
denetleyiciler ile denetlenmektedir. Ayrıca bu alandaki endüstriyel uygulamalarda
üretilmek istenilen ürün veya yapılmak istenilen işlem yaptırılabilmesi için kamera
kullanımı ve buna bağlı olarak görüntü işleme teknikleri oldukça önem arz etmektedir.
Bu alanda çalışma yapmamıza olanak sağlayan ve gerekli laboratuvar desteğini
esirgemeyen değerli hocam Yrd. Doç. Dr. Sıtkı ÖZTÜRK’ e, çalışmamızda bizden
yardımlarını esirgemeyen ve motivasyonumuzu en yüksek seviyede tutan değerli
araştırma görevlileri Melih KUNCAN ve Kaplan KAPLAN hocalarıma ve bu güne
kadar her zaman yanımda olan kıymetli aileme teşekkürlerimi sunarım.
Haziran-2015 Fatih EROL
iii
İÇİNDEKİLER
ÖNSÖZ VE TEŞEKKÜR ..................................................................................................... ii
İÇİNDEKİLER ..................................................................................................................... iii
ŞEKİLLER DİZİNİ……………………………………………………………………...v
TABLOLAR DİZİNİ…………………………………………………………………. vii
ÖZET .................................................................................................................................. viii
ABSTRACT ......................................................................................................................... ix
1. GİRİŞ ................................................................................................................................. 1
2. SİSTEM ÇALIŞMASI VE SİSTEM ELEMANLARININ TANITILMASI ................ 3
2.1. Sistem Elemanlarının Tanıtılması ................................................................................... 5
2.1.1. S7-1200 PLC ........................................................................................................... 5
2.1.2. Servo Motorlar ........................................................................................................ 7
2.1.3. Servo Motor Sürücü ................................................................................................. 8
2.1.4 Sistemde Kullanılan Algılayıcılar Hakkında Genel Bilgiler ..................................... 11
2.1.5 Logitect C270 HD Webcam .................................................................................... 11
3. ...MATLAB VE PLC KONTROLLÜ SİSTEMİN OPC TEKNOLOJİSİ ÜZERİNDEN
GERÇEK ZAMANLI HABERLEŞMESİ ......................................................................... 13
3.1 TIA PORTAL Programı .......................................................................................... 13
3.1.1. TIA PORTAL ........................................................................................................ 13
3.1.2. TIA PORTAL Programı ile S7-1200 Kurulumu ..................................................... 13
3.1.3. S7-1200 PLC’nin Konfigürasyonu ......................................................................... 15
3.1.4. S7-1200 İstasyonu Ekleme ..................................................................................... 15
3.1.5. Ethernet Portunun IP Adresinin Değiştirilmesi ....................................................... 16
3.1.6. Kullanıcı Programı Oluşturma .............................................................................. 16
3.1.7 Ağ Kartının IP Adresini Değiştirme ........................................................................ 17
3.1.8 S7-1200 PLC Programının Derlenmesi Ve Yüklenmesi.......................................... 17
3.2 OPC (Open Process Control) ......................................................................................... 19
3.2.1 OPC Uyumlu Yazılımlar ......................................................................................... 20
3.2.2 OPC Sunucusu Olan Donanımlar ............................................................................ 20
3.2.3. TIA PORTAL’da İstasyon Eklenmesi .................................................................... 21
3.2.4. TIA PORTAL’da OPC Server Ekleme ................................................................... 22
3.2.5. TIA PORTAL’da IE Genaral Ethernet Arayüzü Ekleme ......................................... 23
3.2.6. OPC Station Yapılandırma Ayarları ....................................................................... 23
iv
3.2.7. S7 Bağlantısını Yapılandırma................................................................................ 25
3.2.8. S7 Bağlantısı ........................................................................................................ 25
3.2.9. S7 Bağlantılarının Görüntülenmesi ve Değiştirilmesi ............................................ 26
3.2.10. PC İstasyon Ayarlarının Yapılandırması Derlenmesi ve Yüklenmesi ................... 27
3.2.11. OPC Scout V10’da .............................................................................................. 29
3.3 MATLAB ORTAMINDA OPC BAĞLANTISI ............................................................. 31
4. PLC YAZILIMI .............................................................................................................. 32
4.1 S7-1200 PLC ile Servo Motor Kontrolü ......................................................................... 32
4.1.1.Motor Kontrol Projesi Oluşturma ve Konfigürasyonunu yapma............................... 32
4.2 TIA PORTAL Main Blok Yazılımı................................................................................ 36
5. GANTRY ROBOTUN JOYSTİC İLE MANUEL KONTROLÜ ............................... 43
6. KARAKTER TANIMA.................................................................................................. 45
6.1.Veri Tabanı ................................................................................................................... 47
6.2Karakter Tanıma Aşamasının Adım Adım Anlatımı........................................................ 48
7. SONUÇLAR ................................................................................................................... 51
KAYNAKLAR .................................................................................................................... 53
v
ŞEKİLLER DİZİNİ
Şekil 1.1 : Sistem kontrolünün genel blok diyagramı ......................................................... 2
Şekil 2.1 Gantry Robot Sisteminin Genel Görünümü ........................................................ 3
Şekil 2.2 : Matlap Guide ....................................................................................................... 4
Şekil 2.3 : S7-1200 PLC [6] ................................................................................................. 6
Şekil 2.4 : PLC blok şeması[6] ............................................................................................. 6
Şekil 2.5 : PLC Çalışma Döngüsü........................................................................................ 7
Şekil 2.6 : Sistemde Kullanılan Servo Motor ve Çalışma Modları .................................... 8
Şekil 2.7 : ServoMotor Sürücüsü ......................................................................................... 8
Şekil 2.8 : Servo sürücü konum çalışma modu konfigürasyonu[7] ................................... 9
Şekil 2.9 : Servo sürücü kontrol kartı[7]............................................................................ 10
Şekil 2.10 : Endüktif algılayıcının şematik gösterimi ....................................................... 11
Şekil 2.11 : Logitect C270 Webcam[5] ............................................................................. 12
Şekil 3.1 : Proje Oluşturma................................................................................................ 14
Şekil 3.2 : Projeye İsim Girme .......................................................................................... 14
Şekil 3.3 : Açılan projeye geçiş ......................................................................................... 14
Şekil 3.4 : Yeni aygıt ekleme ............................................................................................ 15
Şekil 3.5 : Kullanılan PLC seçimi ..................................................................................... 15
Şekil 3.6 : S7-1200 Ağ Ayarları ........................................................................................ 16
Şekil 3.7 : Program bloğu ekleme ..................................................................................... 16
Şekil 3.8 : Ağ kartının IP adresini değiştirme .................................................................. 17
Şekil 3.9 : PLC yazılımın derlenmesi ................................................................................ 17
Şekil 3.10 : PLC'ye programın download edilmesi........................................................... 18
Şekil 3.11 : " Extendeddownloadtodevice " penceresi ................................................... 18
Şekil 3.12 : Load Preview Penceresi ................................................................................. 19
Şekil 3.13 : Load Results Penceresi ................................................................................... 19
Şekil 3.14 : PC İstasyonu ekleme ....................................................................................... 21
Şekil 3.15 : PC İstasyonu seçimi ........................................................................................ 22
Şekil 3.16 : PCstation iç bölümleri .................................................................................... 22
Şekil 3.17 : TIA PORTAL için OPC server seçimi .......................................................... 23
Şekil 3.18 : TIA PORTAL için IE General seçimi ........................................................... 23
Şekil 3.19 : İstasyon Yapılandırma Sembolü ................................................................... 24
Şekil 3.20 : StationConfiguration Editor penceresinin ilk hali ........................................ 24
Şekil 3.21 : Station Configuration Editor penceresine IE general ve OPC server
eklenmiş hali ........................................................................................................................ 25
Şekil 3.22 : S7 bağlantı sayfası ......................................................................................... 25
Şekil 3.23 : S7 Bağlantısının OPC Server Özellikleri Bölümü ........................................ 26
Şekil 3.24 : S7 Bağlantısının OPC Server Aktif Edilmesi................................................ 26
Şekil 3.25 : S7 Bağlantısının OPC Server Görünür Oldu Görüntüsü .............................. 27
Şekil 3.26 : PC Station derleme.......................................................................................... 27
Şekil 3.27 : PC Station yükleme işlemi ............................................................................. 28
vi
Şekil 3.28 : "Extendeddownloadtodevice " penceresi .................................................... 28
Şekil 3.29 : "Loadpreview" penceresi ................................................................................ 28
Şekil 3.30 : StationConfiguration Editor penceresi........................................................... 29
Şekil 3.31 : OPCSimaticNET penceresi ............................................................................ 29
Şekil 3.32 : S7_Verbindung_1" klasörünün görüntülenmesi ........................................... 30
Şekil 3.33 : Oluşturulan item’ler ........................................................................................ 31
Şekil 3.34 : Matlab Ortamında OPC Ayarlama Kodu ...................................................... 31
Şekil 4.1 : "Technologyobject" e nesne eklenmesi ........................................................... 32
Şekil 4.2 : "Technologyobject" e nesne eklenmesi ........................................................... 33
Şekil 4.3 : PTO Eklenmesi.................................................................................................. 33
Şekil 4.4 : Pulse, yön ve birim ayarları .............................................................................. 34
Şekil 4.5 : Servo Motor Devir Bilgileri ............................................................................ 34
Şekil 4.6 : X Axes Sınır Anahtar Bilgileri ......................................................................... 35
Şekil 4.7 : Motorun Hareket İvmeleri ................................................................................ 35
Şekil 4.8 : Motora Home İşleminin Öğretilmesi ............................................................... 36
Şekil 4.9 : OB1 Bloğu X Eksen Servosu için Yazılan Kod .............................................. 38
Şekil 4.10 : OB1 Bloğu Y Eksen Servosu için Yazılan Kod............................................ 40
Şekil 4.11 : OB1 Main Bloğu Servo Motor Durum Bilgileri ........................................... 41
Şekil 4.12 : Havalı Piston ve Vakum Çalışması................................................................ 42
Şekil 5.1 : Sistemin Joystick Kontrolü Sırasında Çekilmiş Görüntü ............................... 43
Şekil 5.2 : Matlap Joystick Kodu ...................................................................................... 44
Şekil 6.1 : Sistem İşleyiş Algoritması ................................................................................ 45
Şekil 6.2 : Sistem Akış Diyagramı ..................................................................................... 46
Şekil 6.3 : Hazırlanan Matlab Guide ................................................................................. 47
Şekil 6.4 : Veri Tabanı ........................................................................................................ 47
Şekil 6.5 : Görüntü İşleme Akış Diyagramı ...................................................................... 48
Şekil 6.6 : Kameradan Görüntü Alma Kodu ..................................................................... 48
Şekil 6.7 : Kameradan Alınan Anlık Görüntü .................................................................. 48
Şekil 6.8 : Kırpılmış Görüntü ............................................................................................. 49
Şekil 6.9 : RGB2GRY İşleminden Sonraki Görüntü ........................................................ 49
Şekil 6.10 : Eşikleme ve Ters Dönüşüm Sonucu Oluşan İmge ........................................ 49
Şekil 6.11 : İmgenin Boşluk Doldurma ve Açma İşleminden Sonraki Hali .................. 50
Şekil 6.12 : “K” harfinin Etiketi ......................................................................................... 50
Şekil 7.1 : Siyah Zemin Üzerinde Bulunan Harfler .......................................................... 51
Şekil 7.2 : İsim Yazdırma Sonucunun Görüntüsü ........................................................... 52
vii
TABLOLAR DİZİNİ
Tablo 1 : Servo sürücünün pin konfigürasyonu[7] ..................................................................... 9
Tablo 2 : Analog giriş sinyalleri[7] .......................................................................................... 10
Tablo 3 : Darbe giriş sinyalleri[7] ............................................................................................ 10
Tablo 4 : OPC sürücüsü olan donanımlar [7] ........................................................................... 21
Tablo 5 : OPCİtemleri ............................................................................................................. 30
viii
GÖRÜNTÜ İŞLEME İLE 3 EKSENLİ ROBOT MEKANİZMASI ÜZERİNDE
NESNE AYIRT EDİLMESİ VE SIRALANMASI
ÖZET
Bu çalışmada kartezyen robot olarak bilinen gantry robotun düşey eksen üzerine monte
edilmiş bir kamera vasıtasıyla, siyah bir zemin üzerindeki karakterlerin görüntü işleme
yöntemi kullanılarak tanınması ve ara yüz üzerinden girilen metnin, siyah zemin
üzerindeki karakterleri kullanaraktan gantry robot vasıtasıyla yazdırma işlemi üzerinde
çalışılmıştır. Siyah zemin üzerindeki karakterler veri tabanı ile karşılaştırılarak analiz
edildikten sonra, her karakterin merkez koordinat noktası bulunmuştur. Ara yüz
üzerinden girilen metindeki her karakter, siyah zemin üzerindeki ilgili karakter ile
Matlab ortamında eşleştirilmiştir. Merkez koordinat noktası bilinen eşleşmiş her
karakter vakum tutucu ile tutulmuş ve bu karakterlerin taşıma işlemi gantry robot
vasıtasıyla gerçekleştirilmiştir. Karakterlerin belirlenen konumlara taşıma işlemi S7-
1200 PLC ve servo sürücü kartlar kontrolünde servo motorlar yardımıyla yapılmaktadır.
Matlab ve S7-1200 PLC’nin haberleşmesi Simatic OPC programı alt yapısı ile
gerçekleştirilmiştir. Ayrıca sistemin manuel kontrolü için Joystick uygulaması
yapılmıştır.
Anahtar kelimeler: S7-1200, TIA PORTAL, Görüntü işleme, OPC
ix
ABSTRACT
In this study, it is worked about printing by using the characters on the black ground via
gantry robot and to define the characters on the black ground by using the technic of
image processing of the gantry robot that is known as Cartesian robot by the medium of
a camera that is set up on the vertical axis. After the characters on the black ground are
analyzed by comparing with data base, the coordinate degree of each character is found.
Each character that is printed on the interface is matched with the relating characters on
the black ground. Each character that coordinate degree is known and matched with
something is attached with a vacuum holder and the system of this character's removal
process is carried out thanks to gantry robot. The removal process of characters to the
places that has already defined is performed under the control of S7-1200PLC and servo
card and with the help of servo motors. The system of correspondence with MATLAB
and s7-1200 PLC is became reality with basis of Simatic OPC program. Additionally,
joystick praxis is used in order to control its manual .
1
1. GİRİŞ
Robot denildiği zaman akla ilk etapta, insan gibi yürüyen, insan davranışları sergileyen,
daha da önemlisi insan gibi düşünen ve karar verebilen insansı makineler gelmektedir.
Bu da robotların tasarımında canlıların yapısından ilham alındığını göstermektedir.
Robot denildiğinde akla ilk gelen insansı robotlar olmasına karşın kartezyen robotlarda
bu yapı yoktur. Kartezyen robotlar birbirine dik eksenlerden meydana gelmektedir.
Gantry robotlar da bir kartezyen robot türüdür. Gantry robotları kartezyen robotlar
içinde ayırt eden özellik iki taşıyıcı eksene sahip olmalarıdır. Bu robot konfigürasyonu
en kısıtlı hareket kapasitesine sahip robot tasarımıdır. Bir kartezyen koordinat
sisteminde, koordinat sistem merkezinin yeri, ilk iki bağlantının birleşme yerinin
merkezidir. Robotun merkezine doğru yapılan hareketler dışında merkez hareket
etmemektedir, yani robotun merkezi sabittir denilebilir. Üç doğrusal eksenden meydana
gelen kartezyen robotlar endüstriyel uygulamalarda ve imalat amaçlı olarak yaygın
olarak kullanılmaktadır. Kartezyen robotların paketleme, lojistik, freze, lazer, plazma,
oksi asetilen kesme makineleri, su jeti ile kesme, elektro erezyon gibi uygulama alanları
bulunur [1].
Günümüzde sayısal görüntü işleme ve görüntü tanıma teknolojisi birçok faklı alanda
kullanılmaktadır. Bu teknolojinin diğer bir kullanım sahası da elbette ki endüstridir.
Özellikle montaj sanayinde gelişen robot ve yapay zekâ tekniği sayesinde üretim hızla
otomatikleşmektedir. Endüstride kullanılan düzgün şekillerin tanımlanması ve bu
şekillerin rotasyonlarının konumların ve alanların tanımlanması yeni endüstriyel
uygulamaların önünü açacaktır. Günümüzde görüntü işleme ile yapılan uygulamaların
çeşitliliği her geçen gün artmaktadır. Plaka okuma sistemleri, yüz tanıma uygulamaları,
parmak izi tanıma uygulamaları, iris tanıma uygulamaları gibi uygulamalar günümüzde
görüntü işlemenin sıkça kullanıldığı alanlara örnek olarak verilebilir [2].
Sayısal görüntü işleme ve kartezyen robotun birleştirildiği bu sistemde PLC kontrollü
ve pnömatik tahrikli kombine bir uygulama gerçekleştirilmiştir. Kartezyen robotun X ve
Y eksenlerindeki hareketi iki adet servo motor tarafından sağlanmaktadır. Sistemde
2
kullanılan iki motoru sürmek için iki adet sürücü kullanılmaktadır. Sürücüler PLC
üzerinden kontrol edilmekte ve PLC de Matlab ile yazılan bir program ile gerekli
bilgileri almaktadır. Şekil 1.1’de sistemin genel blok diyagramı görülmektedir.
Şekil 1.1 : Sistem kontrolünün genel blok diyagramı
Şekil 1.1’de görülen blok diyagram sistemin genel çalışma prensibinin anlaşılması için
gösterilmiştir. Kameradan alınan anlık görüntü Matlab ortamında işlenmektedir. Matlab
Guide arayüzüne girilen metin veri tabanı ile karşılaştırılıp analiz işleminden sonra
gerekli koordinat noktaları Simatic OPC programı ile PLC’ye gönderilmektedir. PLC’de
ilgili çıkışlarını aktif yaparak vakum tutma ve taşıma işlemlerinin kontrolünü
gerçekleştirmektedir.
Yapılan bu çalışma endüstri alanında benzer bir çok uygulamada kullanılabilmektedir.
Gerçekleştirilen bu çalışma ile gerek parça karakter analizi yapma gerekse, analiz
sonucu aranan parçanın bulunması ve taşınması gibi işlemler gerçekleştirilebilir. Başka
bir uygulama olarak, Z eksenine lazer başlık takılıp, görüntü işleme algoritmasının
geliştirilmesi ile plazma ile lazer kesim mekanizması yapılabilir.
Bu çalışmada ilk olarak deney düzeneği ve sistem çalışması anlatılmış, daha sonra
sistemde kullanılan malzemeler hakkında detaylı bilgi verilmiştir. Daha sonraki
aşamalarda TIA PORTAL programı ve OPC programı tanıtılmış ve gerekli
konfigürasyonundan işlemleri anlatılmıştır. Bir sonraki adım olarak PLC yazılımına ve
görüntü işleme tekniğini detaylı bir şekilde anlatılarak sonuç bölümüne yer verilmiştir.
3
2. SİSTEM ÇALIŞMASI VE SİSTEM ELEMANLARININ TANITILMASI
Şekil 2.1’de verilen deney düzeneği Kocaeli Üniversitesi Mekatronik Mühendisliği
Bölümü sensör laboratuvarında yer almakta olup bu çalışmadaki uygulamalar, söz
konusu düzenek üzerinde gerçekleştirilmiştir.
Şekil 2.1 Gantry Robot Sisteminin Genel Görünümü
MATLAB GUIDE ORTAMI
4
Şekil 2.1’deki deney düzeneğinde görüntü alabilmek için bir adet USB kamera
kullanılmıştır. Siyah zemin üzerindeki cisimlerin görüntüsünü kuş bakışı görebilmek
için sistemin üst kısmına monte edilmiştir. Bu kamera vasıtasıyla USB bağlantı
üzerinden bilgisayara aktarılmıştır. Sistemde aktarılan görüntüye bağlı olarak hareketi
yapmak için 2 adet servo motor bulunmaktadır. Bu servo motorlar, gantry robotun X ve
Y, yani yatay ve düşey hareketini sağlamaktadır. Bu servo motorları sürebilmek için iki
adet sürücü mevcuttur. Z eksen, yani dikey eksendeki hareket ise pnömatik bir sistem
vasıtasıyla sağlanmaktadır. Bu sistem hem düşey eksendeki hareketi sağlamakta hem de
cisimlerin tutulmasını sağlamaktadır. Deney düzeneğindeki pnömatik sistem 24V ile
tahrik edilen 5/2 valf ve vakum tutucudan oluşmaktadır. Sistemin hava kuvveti bir adet
kompresör tarafından karşılanmaktadır.
Sistemde bulunan motorların kontrolünü sağlayan sürücü kartları, bir adet Siemens S7-
1200 serisi PLC ile tetiklenmektedir. Deney düzeneğinde S7-1200 PLC tercih
edilmesinin en temel nedenleri ise, PLC kumanda devresi tasarımının çabuk ve kolay
gerçekleşmesi, bilgisayarlar ve diğer kontrolörlerle OPC haberleşme olanağı olması ve
arıza ihtimali daha düşük olmasıdır.
Sistem matlap ortamında kullanıcı için oluşturulan Şekil 2.2’de ki matlap guide arayüzü
üzerinden kontrol edilmektedir. Matlab Guide arayüzünden sistemin hem manuel
kontrolü hem de metin yazdırma işlemleri gerçekleştirilebilmektedir.
Şekil 2.2 : Matlap Guide
Şekil 2.2’nin sol üst bölmesinde bulunan ‘MANUEL KONTROL’ sekmesinden gantry
robotun ileri-geri (X eksen) ve sağ-sol (Y eksen) yönlerinde hareket edebilmektedir.
5
Sistemin X ve Y eksen hareketleri servo motorlar ve sürücüler vasıtasıyla
yapılmaktadır. Ayrıca piston aşağı-yukarı (Z eksen) hareketi ve vakum çalıştır-durdur
hareketleri bu bölümden manuel olarak yapılabilmektedir. Sistemin Z eksen hareketi
pnomatik bir valf yardımı ile sağlanmaktadır. Sistemin hava ihtiyacı maksimum 5 barlık
hava kuvvetine sahip kompresörden sağlanmaktadır. ‘KONUM KONTROL’
bölmesinde ise gantry robot istenilen X ve Y koordinat eksenlerine gidebilmektedir.
‘Görüntü işleme Kontrol’ bölmesinde ise anlık görüntü çekme, bu görüntüyü işleme
işlemleri yapılmaktadır. Ayrıca bu bölmeye girilen kelime gantry robot vasıtasıyla
yazdırılmaktadır. Matlab ile PLC’nin haberleşmesi Simetic OPC program altyapısı
kullanılarak yapılmıştır. OPC programı ile server veya istemci eklenmesi ve
konfigurasyon ayarları ileriki bölümlerde ayrıntılı olarak anlatılacaktır. Sistemin
kontrolü S7-1200 PLC ile kontrol edilmektedir. S7-1200 PLC TIA PORTAL programı
ile programlanmıştır. TIA PORTAL programında proje oluşturma ve konfigurasyon
ayarları da ileriki bölümlerde ayrıntılı olarak anlatılacaktır. Ayrıca sistemin manuel
kontrolü için bir de joystick uygulaması yapılmıştır. Bu uygulama sayesinde
2.1. Sistem Elemanlarının Tanıtılması
Bu bölümde gantry robot sisteminde kullanılan elemanların tanıtımı, elemanların
özellikleri ve sistemde ne işe yaradıkları anlatılmıştır.
2.1.1. S7-1200 PLC
SIMATIC STEP7 Basic V11 projelendirme yazılımı, S7-1200 Mikro PLC ve SIMATIC
HMI Basic panellerin basit ve hızlı programlanması, haberleştirilmesi ve devreye
alınmasını sağlar. Mikro PLC'nin merkez ünitesine esnek genişleme opsiyonları
sağlayacak şekilde farklı tipte I/O ve haberleşme modülleri takılabilir. Sistem;
projelendirme yazılımı, kontrolörler ve HMI üniteleri arasında kolay bağlantı ve
haberleşmeiçin PROFINET portuna sahiptir.[4]
CPU' ların genel özellikleri;
Her CPU üzerinde 1, CPU1214C üzerinde 2 adet PROFINET portuna sahiptir.
Bit işlem zamanı 85ns' dir.
Kalıcı hafıza alanı 10Kbyte' tır.
Her CPU' da 4 adet 100 kHz PTO mevcuttur.
CPU' ların çalışma ortam sıcaklığı -20oC ile +60oC arasındadır.
6
Firmware güncellemesi PROFINET portu üzerinden yapılabilir[4].
Şekil 2.3 : S7-1200 PLC [6]
Endüstriyel otomasyon devrelerinde PLC’nintercih edilmesinin başlıca nedenleri olarak,
kontrol devresinin işlevi yazılımla sağladığından, kontrol devresini tasarlamak, röleli bir
devrenin tasarımından daha kolay olması, röleli kontrol devrelerine göre çok az yer
kaplaması, Arıza yapma ihtimali azdır. Bir PLC için arızalar arası ortala yaklaşık 8000
saat olması, kötü çevre koşullarında, özellikle tozlu ortamlarda, röleli kumanda
devrelerine göre daha güvenli olması gösterilebilir.
Şekil 2.4’de bir PLC’ye ait blok şeması gösterilmiştir.
Şekil 2.5 de PLC’nin çalışma çevrimi verilmiştir. Bilgisayar programları yaptıkları
işleri, sırasıyla ve birbiri ardınca test edilen belli mantık işlemlerine göre yerine
getirirler. Fakat PLC’ler için durum biraz daha farklıdır. PLC devamlı bir çevrim
halindedir. Bütün komutlar sırasıyla işletilir ve PLC stop yapana kadar çevrim devam
eder. PLC programının tamamı bilgisayar dillerinde döngü adı verilen kısımlar gibidir.
Şekil 2.4 : PLC blok şeması[6]
7
PLC programı yüksek seviyeli programlama dillerinde While/Wend konumları arasında
yazılmış program parçalarına benzer şekilde çalışır. Fakat PLC programının işlem tarzı
itibariyle, biraz farkı vardır. PLC’ de program aynı anda birkaç olayı gerçekleştirebilir.
Dolayısıyla birbirinden bağımsız olayların dolayısıyla komutların aynı anda işletilmesi,
yeni bir olay bitmeden diğerine başlaması gerekir. Bu iş için en ideal işleyiş tarzı, bir
döngü içine bütün komutları yazmak ve döngüyü de bütün olayların en iyi şekilde
kontrolü için döngüyü mümkün olan en yüksek hızda çalıştırmaktır.[4]
Şekil 2.5 : PLC Çalışma Döngüsü
2.1.2. Servo Motorlar
Gantry robotun X ve Y eksenlerinde hareketini sağlamak amacıyla iki adet servo motor
kullanılmaktadır. Bu motorlar Metronix firması tarafından üretilen Any Pack serisi
motorlardan APM-SB04AEK modeli motorlardır. Aşağıda, Şekil 2.6 ’da kullanılan
servo motora ait bilgiler gösterilmiştir. Model ismindeki her karakterin motorun
özelliklerini tanımlayıcı bir görevi vardır.
Şekil 2.6’da ki resimde servo motora ait çalışma modları bulunmaktadır. Bu modlara
göre servonun kontrolü otomatik olarak veya manuel olarak kontrol edilebilmektedir.
8
Şekil 2.6 : Sistemde Kullanılan Servo Motor ve Çalışma Modları
2.1.3. Servo Motor Sürücü
Servo motor sürücü olarak Metronix firmasının üretmiş olduğu APD-VS04NA4 serisi
AnyPack Serisi Servo sürücü kullanılmaktadır. Bu sürücü standart ip bir
sürücüdür.Servo motorda N karakteri artımlı tip enkoderkullanılmıştır.Bu sürücü ile en
fazla 400 W gücünde bir motor sürülebilir.[7]
Servo sürücüler uygulamanın gereksinimlerine göre farklı modlarda
çalışabilmektedirler. Bu modlar aşağıda belirtilmiştir.
1. Konum Çalışma Modu
2. Hız Çalışma Modu
3. Tork Çalışma Modu
4. Hız/Tork Çalışma Modu
5. Hız/Konum Çalışma Modu
6. Konum/Tork Çalışma Modu[7]
Şekil 2.7 : ServoMotor Sürücüsü
9
Gerçekleştirilen uygulamada servo motor sürücüleri konum çalışma modunda
çalıştırılmıştır. Konum çalışma modunda, PLC’lerservo sürücüye motoru sürmesi için
gereken darbe sinyallerini göndermektedir. Servo sürücünün enkoder tipine göre motora
gelen belirli sayıda darbe sinyallerine göre motor bir tam dönüşünü tamamlar. Şekil
2.8’de konum çalışma modu konfigürasyonu gösterilmektedir.
Şekil 2.8 : Servo sürücü konum çalışma modu konfigürasyonu[7]
Sürücünün ileride farklı çalışma modlarında kullanımına imkân sağlamak amacı ile
üzerindeki anahtarlar vasıtasıyla çalışma modunu değiştirebilen bir kart bulunmaktadır.
Bu kart ile farklı modlarda çalışma işlemlerini daha pratik hale getirmek amaçlanmıştır.
Tasarlanmış olan kart üzerinde bulunan 12 adet anahtar ile servo sürücünün çalışma
modu ve aktif ya da deaktif olma durumu ayarlanabilmektedir.
Aşağıdaki tablolarda servo sürücünün çalışma moduna göre pinkonfigürasyonu
gösterilmektedir.
Tablo 1 : Servo sürücünün pin konfigürasyonu[7]
10
Tablo 2 : Analog giriş sinyalleri[7]
Tablo 3 : Darbe giriş sinyalleri[7]
Şekil 2.9’deservo sürücü kontrol kartı gösterilmektedir. Kart üzerinde yapılan
bağlantılara göre pin numaraları görülmektedir.
Şekil 2.9 : Servo sürücü kontrol kartı[7]
11
2.1.4 Sistemde Kullanılan Algılayıcılar Hakkında Genel Bilgiler
Sistemde altı adet endüktif sensör kullanılmıştır. Bunlardan 2 tanesi sistemin başlangıç
konumunu belirtmek için X ve Y eksenlerindedir. Robotun çalışma alanını sınırlamak
amacıyla sistemde dört adet endüktif sensör kullanılmıştır. Sensörlerden ikisi Y
ekseninde konum algılama işlemi yaparken diğer ikisi de X ekseninde konum algılama
işlemini gerçekleştirmektedir. İki adet sensör de acil durumlarda sistemin raydan
çıkmaması için konumlanmıştır.
Şekil 2.10 : Endüktif algılayıcının şematik gösterimi
Sistemde endüktif algılayıcılar kullanılmaktadır. Endüktif algılayıcılar metale
duyarlıdır. Sensör, bobin,osilatör, tetikleme ve çıkış katlarından oluşur. Bobin kısmında
oluşturulan endüktif alan içine giren bir metal,osilasyonun genliğini etkiler. Gantry
mekanizma üzerine yerleştirilmiş olan metallerin konumu ayarlanarak çalışma sahası
kapasitesi oranında küçültülebilir ya da arttırılabilir.
Endüktifsensörlerin normalde açık ve normalde kapalı olmak üzere iki çeşidi mevcuttur.
Sistemde kullanılan endüktifsensör normalde kapalı tip endüktifsensördür. Sürekli
çalışmada çıkışında 24V görülürken, algılama anında çıkışında 0V ölçülür. Sensörlerin
beslemesi PLC üzerinden sağlanmaktadır.
Algılayıcılar robotun konumunu algılayarak sınırlara eriştiği bilgisini PLC’ye
gönderirler ve ‘artık darbe sinyali gönderme’ şeklinde bilgilendirirler.
Sensörlerinüzerinde ki kahverengi kablo 24V girişi, mavi kablo toprak bağlantısı ve
siyah kablo da algılayıcı çıkışı olarak görülmektedir. Siyah kablo bilginin okunacağı
kontaklara bağlanmıştır.
2.1.5 Logitect C270 HD Webcam
Teknik Özellikler:
*Önerilen sistemde HD görüntülü arama (1280 X 720 piksel)
*Görüntü yakalama: En çok 1280 X 720 piksel
*Fotoğraflar: 3.0megapiksele kadar (yazılım destekli)
12
*Gürültü azaltma teknolojisine sahip yerleşik mikrofon
*Yüksek Hızlı USB 2.0 sertifikalı (önerilen)
*Görüntü ve fotoğraf yakalama
Şekil 2.4’de sistemde kullanılan kamera resmedilmiştir.[5]
Şekil 2.11 : Logitect C270 Webcam[5]
13
3. MATLAB VE PLC KONTROLLÜ SİSTEMİN OPC TEKNOLOJİSİ
ÜZERİNDEN GERÇEK ZAMANLI HABERLEŞMESİ
Bu bölümde Simatic OPC programı kullanılarak PLC ve Matlab programının nasıl -
haberleştirileceği anlatılmaktadır. İlk olarak S7-1200 PLC’nin programlanmasını
sağlayan TIA PORTAL programı hakkında genel bilgi verilmiş ve TIA PORTAL’da
proje oluşturma ve ardından konfigürasyon yapılandırılması anlatılmıştır. Daha sonra
Simatic OPC haberleşme programı tanıtılmış ve OPC konfigürasyon işlemlerine yer
verilmiştir. Bu bölümde anlatılan işlemlerden sonra PLC ve Matlap haberleşmesi
gerçekleşmekte ve geriye sadece Matlab programın run etme işlemi kalmaktadır.
3.1 TIA PORTAL Programı
Projenin gerçekleştirilmesinde Siemens S7-1200 serisi PLC kullanılmış ve PLC’nin
programlanması TIA PORTAL programı ile gerçeklenmiştir.Bu bölümde TIA PORTAL
hakkında bilgi verilmiş ve TIA PORTAL’da proje oluşturma, konfigürasyon yapma gibi
konulara değinilmiştir.
3.1.1. TIA PORTAL
S7-1200, S7-400 ve S7-300 serisi PLC’leri programlamak için kullanılan siemens’ in
yeni nesil editörüdür. Sadece PLC programlamakla kalmaz, aynı zamanda WINCC
BASIC programını barındırdığı için operatör panel tasarımı da sağlar. Temel
programlama tekniklerinin yanında ileri düzey programla teknikleri için de gelişmiş
özellik ve komutlar sağlar. BASIC sürümü sadece S7-1200 serisini programlarken
profesiyonel sürümü S7-1200, S7-400 ve S7-300 PLC’ leri de destekler. [3]
3.1.2. TIA PORTAL Programı ile S7-1200 Kurulumu
TIA PORTAL programında proje oluşturmak için TIA PORTAL açıldıktan sonra çıkan
ekran üzeinde ‘createnewproject’ ikonu seçilir. ‘Project name’ alanına proje ismi girilir.
Şekil-3.1’ de çıkan ekran gösterilir. Şekil 3.2’ te gösterildiği gibi ‘create’ ikonu
tıklanarak proje oluşturulur
14
Şekil 3.1 : Proje Oluşturma
Şekil 3.2 : Projeye İsim Girme
‘projectwiev’ ikonu tıklanarak oluşturulan proje açılır. Şekil 3.3’ te açılan projeye geçiş
gösterilmektedir.
Şekil 3.3 : Açılan projeye geçiş
15
3.1.3. S7-1200 PLC’nin Konfigürasyonu
TIA PORTAL programı kullanılarak S7-1200 yapılandırılmaktadır. Kullanıcı bu
program aracılığıyla kendi CPU’sunu ister otomatik ister ise manuel olarak programda
tanıtabilir. Daha sonra kullanıcı kendi programını oluşturulur ve OPC sunucu S7
bağlantısı kullanılarak, hangi verinin izleneceği tanımlanır.
3.1.4. S7-1200 İstasyonu Ekleme
Şekil 3.4’de gösterildiği gibi, proje ağacında, “Addnewdevice” maddesinde çift
tıklanarak “Addnewdevice” penceresi açılır.
Şekil 3.4 : Yeni aygıt ekleme
Çalışma alanındaki “PLC” butonuna tıklanır. “PLC > SIMATIC S7-1200 > CPU“
uzantısından, kullanacağımız kontrolör seçilir. Şekil 3.5’da gösterildiği gibi “OK”
butonuna basılarak seçilen S7-1200 CPU projeye eklenir.
Şekil 3.5 : Kullanılan PLC seçimi
16
3.1.5. Ethernet Portunun IP Adresinin Değiştirilmesi
PLC tanıtıldıktan sonra ‘Devices’ alanı altında ‘Devices&network’ ikonu çift tıklanır.
Çıkan ekranda S7-1200 ün ethernetprotuna tıklanarak alt kısımda çıkan ’Ethernet
Addresses’ ikonundan PLC için IP adres bilgisi girilir. Ve ‘ Addnewsubnet’ ikonu
tıklanarak S7-1200 bağlantısı için subnet ‘PN/IE_1’ seçilir. Şekil 3.6’ de S7-1200 ağ
ayarları görsel olarak gösterilmektedir.
Şekil 3.6 : S7-1200 Ağ Ayarları
3.1.6. Kullanıcı Programı Oluşturma
Proje ağacında, Şekil 3.7’de gösterilen “Program blocks” alt dosyalarındaki Main
bölümüne girilerek istenilen program yazılır.
Şekil 3.7 : Program bloğu ekleme
17
3.1.7 Ağ Kartının IP Adresini Değiştirme
Windows işletim sisteminde, Ağ Bağlantıları ayarlarından, Şekil 3.8’da gösterildiği
gibi, ağ kartının IP adresi 192.168.1.10 olarak değiştirilmiştir.
Şekil 3.8 : Ağ kartının IP adresini değiştirme
3.1.8 S7-1200 PLC Programının Derlenmesi Ve Yüklenmesi
Proje navigasyonundaPLC’nin üzerine tıklayınız. Şekil 3.9 ki araç çubuğundaki
"Compile" düğmesine tıklayın. Donanım yapılandırması ve S7-1200 yazılımı
derlenmektedir.
Şekil 3.9 : PLC yazılımın derlenmesi
18
PLC yazılımı derleme işlemi yapıldıktan sonra hata alınmadıysa Şekil 3.10’de ki adım
uygulanır. "Extendeddownloadtodevice" ekranında aşağıdaki adımlar gerçekleştirlir:
PG/PC ara yüz tipi
PG/PC ara yüz
Alt ağ bağlantısı
Şekil 3.10 : PLC'ye programın download edilmesi
Şekil 3.11’de "Compatibledevices in targetsubnet" penceresinin altında aygıtımız
şeçilir ve "Load" butonuna tıklanır.
Şekil 3.11 : " Extendeddownloadtodevice " penceresi
19
Bu adımdan sonra Şekil 3.12’deki "Loadpreview" penceresi ekrana gelicektir.Burdan
‘Realtech’yapısı seçilir. Aygıta yükleme yapılabilemesi için "Stop all" seçilip yükleme
yapılması gerekmektedir. Seçili cihazın içine aygıt ayarları yüklenir. (S7-1200 CPU).
Seçili aygıtın içine yazılım yüklenir ve "Load" butonuna basılır.
Şekil 3.12 : Load Preview Penceresi
Şekil 3.13’de “LoadResult” penceresinde PLC’yedownloadmodunun bitmesiyle PLC
tekrardan çalışır vaziyete getirmek için “Start all” seçilir ve Finish butonuna basılarak
PLC hazır hale gelir.
Şekil 3.13 : Load Results Penceresi
3.2 OPC (Open Process Control)
Geleneksel kontrol sistemleri kapalı, kendine özgü haberleşme yapıları içermektedir. Bu
tip kontrol sistemlerinde sahadaki verileri değişik birimler arasında dağıtmak imkansız
20
olmasa bile oldukça zahmetli ve masraflı bir uğraştır. Hatta çoğu zaman otomasyona
geçmiş sistemlerden elde edilen veriler manuel olarak (tekrar el ile yazıya geçirilerek)
işletmede bu verilere ihtiyaç duyulan yerlere aktarılıp, bu kısımlarda da tekrar
elektronik ortamlara aktarılmaktadır.
Bu durum fabrikalar için ya az verilerle işletmenin idaresini sürdürmek ya da gerekli
verileri toplamanın hem iş gücü hem de verimlilik açısından kayıplara neden olması
anlamına gelmektedir. Oysa OPC standardı sayesinde, isşletmeniz ağına bağlı (işletim
sistemi farkı gözetmeksizin) herhangi bir bilgisayarınızdan sahanızda bulunan ve bu
standardı destekleyen herhangi bir donanımla haberleşmeniz son derece kolay
olmaktadır. Özel donanım gerektirmeden, işletmenizde bulunan Ethernet alt yapısını
kullanarak sahadan topladığınız verileri bir OPC Server' dan okuyabilir, bu verileri
istediğiniz kaynağa iletebilirsiniz. İster operatör ekranlarına, isterseniz raporlama ve
bakımda kullanılmak üzere bir veritabanına, isterseniz işletme müdürünün masasındaki
bir Excel dosyasına iletebilirsiniz[6].
Projede OPC bilgisayar ile PLC haberleşmesinde kullanılmaktadır. MATLAB
ortamında işlenen görüntü sonucunda elde edilen hız bilgisini S7-1200’ e iletmek için
kullanılmaktadır.
3.2.1 OPC Uyumlu Yazılımlar
Günümüzde OPC uyumlu yazılımlar, bir başka deyişle, OPC ara yüzüne sahip olan
yazılımların sayısı hızla artmaktadır. Bu konuda derneğin ağ sitesi olan
www.opcfoundation.org adresinde arama yapılabilir ve OPC İstemci veya OPC Sunucu
olan yazılımlar görüntülenebilir. Bu yazılımların birçoğu SCADA, IMS, MES
programları gibi doğrudan süreci etkileyen uygulamalar olduğu gibi, ofis
programlarından, veri tabanı programlarına ve hatta akademik alanda çok sık kullanılan
MATLAB programına kadar uzanmaktadır[6]. Bu sayede MATLAB ile fiziksel
donanımlar arasında, canlı veri alış verişi sağlanmış olmaktadır.
3.2.2 OPC Sunucusu Olan Donanımlar
OPC’nin artan önemi ve kendini ispatlamış güvenli alt yapısı nedeniyle, bugün,
endüstriyel otomasyon donanımı üreticileri arasında OPC Sunucu yazılımı olmayan
marka kalmamıştır. Öyle ki, donanım üreticileri haricinde bir çok yazılım firması da
21
piyasada bulunan donanımlar için OPC sunucusu üretmektedir. Bu firmalar OPC
sunucu geliştirmeden önceleri ürüne özel sürücü geliştiren firmalardır. OPC’nin esnek
çalışma mantığı sayesinde, geçmişte geliştirdikleri sürücülerini genel bir sürücü haline
getirmişlerdir. Tablo 4’de OPC Sunucusu bulunabilecek bazı donanımlar listelenmiştir.
Dikkat edilirse hemen hemen tüm üreticiler OPC Sunucu yazılımı çıkarmışlardır.[6]
Tablo 4 : OPC sürücüsü olan donanımlar [7]
3.2.3. TIA PORTAL’da İstasyon Eklenmesi
TIA Portal yapılandırmasını içeren projeyi S7-1200 istasyonunun içerisine girin. Proje
ağacında, Şekil 3.14’de alandan "Yeni cihaz ekle(Addnewdevice)" öğesini çift tıklatın
Şekil 3.14 : PC İstasyonu ekleme
"Yeni ekle cihaz(Addnewdevice)" iletişim kutusu açılır. Çalışma alanında "PC
sistemleri" düğmesine tıklayın. Sırasıyla "PC sistemleri > PC genel > ve PC istasyonu
22
seçeneklerini seçin” .Proje için "PC Station" adlı bir bilgisayar istasyonu eklemek için
"Tamam" düğmesine tıklayın.
Şekil 3.15 : PC İstasyonu seçimi
3.2.4. TIA PORTAL’da OPC Server Ekleme
TIA PORTAL’da OPC serverekliyebilmek için sol bölümdeki ‘PC station’ sekmesinin
içinde Şekil 3.16’de gösterilen ‘Device configuration’ sekmesi tıklanır.
Şekil 3.16 : PCstation iç bölümleri
Bu adımdan sonra sağ bölümde oluşan ‘Hardware catalog’ kısmından Şekil 3.17 de ki
‘OPC server’ tıklanır.
23
Şekil 3.17 : TIA PORTAL için OPC server seçimi
3.2.5. TIA PORTAL’da IE Genaral Ethernet Arayüzü Ekleme
TIA PORTAL’da OPC serverekliyebilmek için sol bölümdeki ‘PC station’ sekmesinin
içinde şekil 5.3’de gösterilen ‘Device configuration’ sekmesi tıklanır. Bu adımdan sonra
sağ bölümde oluşan ‘Hardware catalog’ kısmından Şekil 3.18’ de ki ‘IE General’ seçilir.
Şekil 3.18 : TIA PORTAL için IE General seçimi
3.2.6. OPC Station Yapılandırma Ayarları
Görev çubuğundaki istasyon yapılandırma sembolü çift tıklanır. İstasyon yapılandırma
penceresi açılır. Şekil 3.19’ da istasyon yapılandırma sembolü gösterilmektedir.
24
Şekil 3.19 : İstasyon Yapılandırma Sembolü
İstasyon içine gerekli eklemelerin yapılması için istasyon sembolüne tıklanır. Açılan
iletişim penceresinin birinci kısmına tıklanır ve ardından ‘Add’ butonuna basılır. Açılan
pencereden IE general seçilir ve bağdaştırıcı olarak ‘Realteck …’ seçilir. Daha sonra
Şekil 3.20’de ki aynı pencereden ikinci kısım tıklanır ve tekrardan ‘Add’ butonuna
basılarak OPC server seçilir.
Şekil 3.20 : StationConfiguration Editor penceresinin ilk hali
Böylece şekil 3.21’de görüldüğü gibi IE general ve OPC server eklenmiş olur.
25
Şekil 3.21 : Station Configuration Editor penceresine IE general ve OPC server
eklenmiş hali
3.2.7. S7 Bağlantısını Yapılandırma
TIA PORTAL ile matlap haberleşmesi için kullanılan OPC bağlantısında, TIA
PORTAL programında yapılacak bazı önemli adımlar bu bölümde anlatılmaktadır.
3.2.8. S7 Bağlantısı
Proje ağacında, "Aygıtlar ve ağlar" öğesini çift-tıklatın. Cihazları ve ağları düzenleyici
açılır. Ağ görünümüne geçin. Ağ View araç çubuğunda, geçmek için "Bağlantılar"
simgesine tıklayın. Bağlantıları ayarlama moduna geçilir. Şekil 3.22’da ki liste
kutusunda, bağlantı türü olarak "S7 bağlantısı" seçeneğini seçin.
Şekil 3.22 : S7 bağlantı sayfası
26
Ağ görüntüleme grafik alanında, bilgisayar istasyonu OPC sunucuyu tıklatın ve S7 -
1200 CPU bağlayın. Ağ Görünümünde S7 bağlantısı grafik alanında görüntülenir ve
tablo alanında "Bağlantılar" görüntülenir.
3.2.9. S7 Bağlantılarının Görüntülenmesi ve Değiştirilmesi
Ağ görüntüleme grafik alanında, bilgisayar istasyonu OPC sunucuyu tıklatın ve S7 -
1200 CPU bağlayın. Şekil 3.23’deki ‘connection’ sekmesinin altında ‘OPC Server’
tagına tıklayınız. Alt kısımda çıkan ‘Properties’ butonuna tıklayınız
Şekil 3.23 : S7 Bağlantısının OPC Server Özellikleri Bölümü
Bu bölümde şekil 3.24’de ki ekranda bulunan ‘Special connectionproperties’
sekmesinin içinde ki ‘Active connectionestablishienes’ tagını aktif edin.
Şekil 3.24 : S7 Bağlantısının OPC Server Aktif Edilmesi
Bu işlemlerden sonra Şekil 3.25’de ki görüntü elde edilir.
27
Şekil 3.25 : S7 Bağlantısının OPC Server Görünür Oldu Görüntüsü
3.2.10. PC İstasyon Ayarlarının Yapılandırması Derlenmesi ve Yüklenmesi
PC istasyon ayarlarının yapılabilmesi için kodun derlenmesi ve daha sonra PLC’ye
yüklenmesi gereklidir. Bunun için ilk önce Şekil 3.26’de görünen resimdeki PC-Station
sekmesi seçilerek Compile butonuna basılır.
Şekil 3.26 : PC Station derleme
Derlenen bu kod daha sonra Şekil 3.27’daki gibi yükleme işlemine tabi tutulur.
"Extendeddownloadtodevice" ekranında aşağıdaki adımlar gerçekleştirlir:
PG/PC ara yüz tipi
PG/PC ara yüz
Alt ağ bağlantısı
28
Şekil 3.27 : PC Station yükleme işlemi
Şekil 3.28’de "Compatibledevices in targetsubnet" penceresinin altında aygıtımız
şeçilir ve "Load" butonuna tıklanır.
Şekil 3.28 : "Extendeddownloadtodevice " penceresi
Şekil 3.29’daki “Loadpreview” penceresi karşımıza gelir.”Load” butonuna basılır.
Şekil 3.29 : "Loadpreview" penceresi
29
PC Station ayarların yüklenmesinden sonra Şekil 3.30’de ki Station Configuration
Editörü kontrol edilir ve bağlantının gerçekleştiği onay butonları ile test edilir.
Şekil 3.30 : StationConfiguration Editor penceresi
3.2.11. OPC Scout V10’da
OPC Scout V10 programı OPC istemci olarak kullanılır.OPCScout V10 programını
başlatmak için Windows menüden "Start >All Programs >Siemens Automation>
SIMATIC > SIMATIC NET > OPC Scout V10".
Server Explorerda "OPC.SimaticNET" e Şekil 3.31’de görüldüğü gibi çift tıklanarak
OPC server bağlantısı kurulur.
Şekil 3.31 : OPCSimaticNET penceresi
30
Şekil 3.32’de görüldüğü gibi Server Explorer da OPC.SimaticNET içinde "\S7:" altında
S7 bağlantı ismi "S7_Verbindung_1" görüntülenir.
Şekil 3.32 : S7_Verbindung_1" klasörünün görüntülenmesi
OPC itemleri DA olarak oluşturulur. Bu işlemlerin kısa bir özeti olarak, TIA PORTAL
programına gelinerek TIA PORTAL’da yazılan PLC yazılımın derlendikten sonra
PLC’ye yüklenir. Bu işlemden sonra TIA PORTAL içerisinde sol bölümde bulunan ‘PC
station’ derlenmeli ve PLC’ye yüklenmelidir. Yükleme işlemlerinden sonra ‘PLC_1
[CPU 1214C DC/DC/DC]’ ve ‘PC station’ da ‘online’ moduna alınarak PCstation
editörü kontrol edilir. PC Station editöründe bulunan IE general ve PC Server
yazılarının yanında yeşil onay işareti var ise bağlantı başarılı bir şekilde gerçekleşmiş
olur. Bir sonraki adım olarak alt bölümde anlatılan Matlab ortamındaki ayarlar yapılır.
Tablo 5 : OPCİtemleri
31
Şekil 3.33 : Oluşturulan item’ler
3.3 MATLAB ORTAMINDA OPC BAĞLANTISI
Bu bölümde Matlab’da OPC bağlantılarının nasıl yapılacağı anlatılmıştır. Şekil 3.34’de
ki görsel, projenin matlab uygulamasından alınmıştır. Bu bölüm önemli olmakla beraber
uygulaması gayet basittir. Şekil 7.1’i referans alıcak olursak ilk önce bilgisayarımıza
vermiş olduğumuz yerel ağ bağlantısının ip adresini girmekteyiz. Daha sonra OPC
taglarının grup olduğunu belirtmekteyiz. Kodun geri kalan kısmında global olarak
tanımlanan değişkenler, PLC’nin hangi M (memory) hafıza biti ile eşleştirilmişse burda
da aynı hafıza bitinin MX şekli ile eşleştirilmelidir. Örneğin TIA PORTAL’da
motorlara güç vermek için M1.0 biti eşleştirilmişken, Matlapordamında değişken
MX1.0 biti ile eşleştirilmelidir.
Şekil 3.34 : Matlab Ortamında OPC Ayarlama Kodu
32
4. PLC YAZILIMI
Bu bölümde TIA PORTAL programı içerisinde yazılan X ve Y eksen hareketini
sağlayan servo motor yapılandırılması ve Main bloğu içerisine yazılan PLC kodunun
açıklaması yapılmaktadır.
4.1 S7-1200 PLC ile Servo Motor Kontrolü
TIA PORTAL “Motion Control” ara yüzü ile CPU’nun PTO (Pulse Train Outputs
=Darbe dizisi çıkışı) darbe çıkışı kullanılarak servo ve adım motorları sürücüleri
üzerinden kontrol edilebilir. Bu amaçla kullanılacak servo veya adım motorları
sürücülerinin darbe/pals girişli olması gerekir.
4.1.1.Motor Kontrol Projesi Oluşturma ve Konfigürasyonunu yapma
Proje ağacı altından “technologyobject” ile açılan pencereden “Motion” seçilip
gerekirse harekete bir isim verilerek onaylanır.
Şekil 4.1 : "Technologyobject" e nesne eklenmesi
Şekil 4.1’de ki ekrandan PLC_1TecnologobhectsAdd new objects bölümü seçilir.
33
Şekil 4.2 : "Technologyobject" e nesne eklenmesi
Şekil 4.2’de ki gelen pencereden TI_Axis PTO seçilir. Bu pencerenin onaylanmasından
sonra açılan pencerede “Basic parameters içerisinde “Selectionpulsegenerator:”
alanında (<PTO selection>’in yerine) hangi “PTO (Puls Train Output)”kullanılacağı
seçilir.
Şekil 4.3 : PTO Eklenmesi
Seçim sonraında “Pulse_1” için darbe (Q0.0) ve yön (Q0.1) çıkışları için hangi
kanalların kullanılacağı, yine bu amaçla hangi hızlı sayıcının (HSC_1) aktif edildiği
34
atanır. “User UnitUnit of mesurement” alanında parametre ayarları için hangi birim
(mm) kullanılacağı seçilir.
Şekil 4.4 : Pulse, yön ve birim ayarları
Burdaki “PTO”nun aktif edilebilmesinden sonra CPU donanım ayarlarındaki
“PulsgeneratorsPTO” çıkışı otomatik olarak aktif olur. Burada ayrıca bir ayarlama
yapmaya gerek yoktur.
Şekil 4.5 : Servo Motor Devir Bilgileri
Şekil 4.5’de motora ait devir-mesafe ve devir-adım değerleri ayarlanabilmektedir.
“Distanceper motor revulation” alanında da motorun hareket ettirdiği vidalı milin adımı
tanımlanmaktadır. Yani motor bir devir döndüğünde mekanik sistemin ne kadar hareket
ettiği tanımlanmaktadır. “İnvertdirectionsignal” ile motorun dönüş yönü
değiştirilmektedir. Yani motorun “direction” çıkışı terslenmektedir.
35
Şekil 4.6 : X Axes Sınır Anahtar Bilgileri
Şekil 4.6’de resmedilen ekranda servo motorun X ekseni boyunca sınır
anahtarlanmasını göstermektedir.
Şekil 4.7 : Motorun Hareket İvmeleri
Şekil 4.7’da X eksenini kontrol eden motorun kalkış ve duruş anlarındaki hız değişimini
göstermektedir.
Şekil 4.8 ‘da motorun X ekseninde home olarak kabul edip referans alacağı anahtar ve
home pozisyon bilgileri girilmektedir.Servo Motor için yapılan bu işlemler X eksenini
kontrol eden servo motor için gerçeklenmiştir. Aynı işlemler birde sınır anahtarlarını
değiştirerek Y eksenini kontrol eden servo motor için yapılmıştır.
36
Şekil 4.8 : Motora Home İşleminin Öğretilmesi
4.2 TIA PORTAL Main Blok Yazılımı
Bu bölümde TIO PORTAL’ın main(OB1) içine yazılan servo motorun hareketini ve
yön kontrolünün yanında pnomatik olarak çalışan ve Z ekseni hareketini
sağlıyanpnomatik başlığın yazılım kodları anlatılmaktadır. Şekil 4.9’deX eksenini
kontrol eden servo motor için yazılmış TIA PORTAL yazılımı bulunmaktadır. Bu
yazılıma göre ilk networkte servo motora güç verilmekte, ikinci networkte servo
motorun home işlemi yapılmaktadır. Üçüncü networkte Matlapgui tarafından manuel
kontrolü için gerekli olan movelog komutuna yer yerilmektedir. Xileri ve
Xgeritag’ımatlap tarafından 0-1(bool) şeklinde gelmektedir. Dördüncü networkte harf
dizme işlemi sırasında kullanılacak olan xpos(harfin merkez noktasının x koordinatı)
bilgisi işlenmektedir. Beşinci networkte de servo motorun sınır anahtarlarını aşması
halinde kendini otomatik olarak durdurmasından sonra tekrar çalışabilmesi için
resetleme işlemi yapılmıştır
37
38
Şekil 4.9 : OB1 Bloğu X Eksen Servosu için Yazılan Kod
Şekil 4.10’da Y eksenini kontrol eden servo motor için yazılmış TIA PORTAL yazılımı
bulunmaktadır. Bu yazılıma göre altıncı networkte servo motora güç verilmekte,
sekizinci networkte servo motorun home işlemi yapılmaktadır. Yedinci networkte
Matlapgui tarafından manuel kontrolü için gerekli olan movelog komutuna yer
yerilmektedir. Yileri ve Ygeritag’ımatlap tarafından 0-1(bool) şeklinde gelmektedir.
Dokuzuncu networkte harf dizme işlemi sırasında kullanılacak olan xpos(harfin merkez
noktasının x koordinatı) bilgisi işlenmektedir. Onuncu networkte de servo motorun sınır
anahtarlarını aşması halinde kendini otomatik olarak durdurmasından sonra tekrar
çalışabilmesi için resetleme işlemi yapılmıştır
39
40
Şekil 4.10 : OB1 Bloğu Y Eksen Servosu için Yazılan Kod
Şekil 4.11’de servo motorlara güç verilip verilmediği, home işlemlerinin yapılıp
yapılmadığı ve servo motorların istenilen konuma varıp varmadığı durumlarının
gerçekleşip gerçekleşmediği bilgileri alınmaktadır. Daha sonra bu bilgiler matlap
ortamında gerek manuel kontrol gerekse harf dizme işlemi sırasında işlenmektedir. İleri
ki bölümlerde bu detay daha ayrıntılı olarak anlatılacaktır.
41
Şekil 4.11 : OB1 Main Bloğu Servo Motor Durum Bilgileri
Şekil 4.12’de TIA PORTAL içindeki havalı piston ve valfin çalışma yazılımı
gösterilmiştir. ‘X_pos_git_on’ ve ‘Y_pos_git_on’ olarak isimlendirilen hafıza bitleri
servo motorlar xpos ve ypos değerlerine giderken ‘1’, xpos ve ypos değerlerine
vardıklarında ‘0’ değerini üretirler. Servoların yerlerine ulaştı bilgisi ‘1’den ‘0’a
düştükleri kısım olmasından ötürü ‘N’i(Negatif) alınmıştır. Her iki servoda yerine
ulaştığında piston 2 saniye süre ile aktif olmakta ve 2 saniyenin sonundavakum işlemi
başlamaktadır. Aynı zamanda sayaç görevi gören MW102 hafızası 1 arttırılmaktadır. 2
saniyenin sonunda motorlar yerine ulaştı bilgisi resetlenir ve Matlap’tan motorlara yeni
xpos-ypos değeri gelir. Motorlar tekrardan meşgul durumuna gelir ve xpos-ypos
yerlerine ulaşındatekrartan ‘X_pos_git_on’ ve ‘Y_pos_git_on’ set olur. Timer tekrardan
çalışır ve MW102 hafızasına tekrar +1 eklenir. 2 saniyenin sonunda TON timer kontağı
kapanır ve MW102 hafızası 2 ile karşılaştırma işlemine tabi tutulur. Bu koşullar
sağlanıyor ise vakum resetlenir ve piston ilk konumuna gelmiş olur. Buradaki olay
kısaca servoların plakayı almak için yola çıkması ile başlar. Plakanın merkez noktasına
ulaşan servolar durur ve piston aşağı iner. Piston 2 saniyeliğine aktif olur ve bu süreden
42
sonra vakumlama işlemi başlıyarak plaka tutulmuş olur. Tutulan bu plaka yeni yerine
taşınarak vakumlama ve piston aktif olma işlemi son bulur.
Şekil 4.12 : Havalı Piston ve Vakum Çalışması
43
5. GANTRY ROBOTUN JOYSTİC İLE MANUEL KONTROLÜ
Bu bölümde üç eksenli gantry robotun manuel olarak joystick kontrolü
gerçekleştirilmiştir.
Şekil 5.1 : Sistemin Joystick Kontrolü Sırasında Çekilmiş Görüntü
Şekil 5.1’de sistemin joystick kontrolü sırasında çekilmiş bir adet görüntüsü
bulunmaktadır. Joystickin ileri-geri, sağa-sola hareketi ile gantry robot X ve Y
eksenlerinde hareket etmektedir. Joystick’in alt bölümündeki buton ile pnomatik sistem
Z ekseni boyunca hareketini gerçekleştirmekte ve B1 butonu ile vakum çalışıp
durdurulmaktadır. Şekil 8.2’de matlapta yazılan joystick kodu açıklamalarıyla beraber
gösterilmiştir.
44
Şekil 5.2 : Matlap Joystick Kodu
45
6. KARAKTER TANIMA
Bu bölümde, beyaz plakalar üzerinde bulunan siyah renkli harflerin ve rakamların
tanıma işlemi USB Webcam kamerası kullanılarak görüntü işleme tekniği ile
gerçekleştirilmiştir. Tanınan bu harfler Matlap Guide ortamında hazırlanan arayüz ile
girilen metin gantry robot vasıtasıyla yazdırılmaktadır. Şekil 6.1’de sistemin genel
algoritması verilmiştir.
Şekil 6.1 : Sistem İşleyiş Algoritması
46
Görüntü işleme, kaydedilmiş olan dijital resim verilerinin bilgisayar yardımı ile
değiştirilmesi ve düzeltilmesi işlemidir. Görüntü işleme, daha çok mevcut görüntüleri
işlemek, diğer bir ifadeyle mevcut resim ve grafikleri, değiştirmek, düzenlemek ya da
iyileştirmek için kullanılır.[9] Bu çalışmada sistemin ana kontrol mekanizması görüntü
işleme metotlarıyla oluşturulmuştur. Motorlar bu işlemler sonucunda elde edilen
bilgilere göre hareket etmektedir.
Şekil 6.2 : Sistem Akış Diyagramı
Şekil 6.2’de sisteme ait akış diyagramı verilmiştir. Gantry robot home işlemini yapması
ile başlangıç konumunu bulur. Şekil 6.3’de ki Matlap Guide ara yüzü aracılığı ile
webcamdan görüntü alınır ve bu görüntü uygun biçimde kırpılarak işlenir. Bu işlem alt
bölümlerde ayrıntılı olarak açıklanıcaktır. Daha sonra Matlap Guide ortamında
webcamdan alınan görüntüde bulunan karakterlerden istenilen herhangi karakter veya
maksimum beş tane olmak şartıyla karakterler girilebilir. Girilen bu karakterler ile
kameradan alınan görüntüde ki karakterler karşılaştırılır ve eşleşen karakterlerin merkez
koordinant noktaları belirlenir. MatlapGuide’de harfleri diz komutu ile plakalar sıra
gantry robot sistemi sayesinde sıraya dizilir.
47
Şekil 6.3 : Hazırlanan Matlab Guide
6.1.Veri Tabanı
Karşılaştırma işlemleri sırasında veri tabanın zenginliği sistemin başarımı ile orantılıdır.
Bu çalışmada da girilebilecek metin göz önünde bulundurularak 42x24 boyutunda sayı
ve harflerden oluşan veri tabanı oluşturulmuştur. Şekil 6.4’de veri tabanı ait harf ve
rakamlar sırası ile resim edilmiştir. Karakter tespiti korelasyon tekniği ile bulunmuştur.
Yapılan ölçümler sonucu korelasyon sonucu harfin sağa veya sola maksimum 8 derece
açı yapabilecek kadar başarı sağlamaktadır. Yani veri tabanına sıfır derecelik açı ile
kaydedilen bir karakter, gerçek ortamda maksimum sekiz derece açı yapar ise
tanınabilmektedir. Bu yüzden her karakterin 15 derece ve 15 derece katları ile
döndürülerek kaydedilmiş 24 adet 42x24 matrisinde .bmp uzantısı veri tabanında
bulunmaktadır. 36 karakterin 24 adet resmi veri tabanına kaydedilerek toplamda 864
.bmp uzantılı resim veri tabanına kaydedilmiştir. Böylelikle her karakter her açıdan
tanınmaktadır. Şekil 6.4’de karakterlerin sıfır derece ile çekilerek veri tabanındaki şekli
gösterilmiştir.
Şekil 6.4 : Veri Tabanı
48
6.2Karakter Tanıma Aşamasının Adım Adım Anlatımı
Bu bölümde şekil 6.5’ deki görüntü işleme algoritması adım adım anlatılmıştır.
Şekil 6.5 : Görüntü İşleme Akış Diyagramı
Kameradan çekilen vidyo sırasında şekil 6.6’da ki kod sayesinde anlık görüntü alındı.
Şekil 6.6 : Kameradan Görüntü Alma Kodu
Şekil 6.7’da kameradan alınan anlık görüntü gösterilmiştir.
Şekil 6.7 : Kameradan Alınan Anlık Görüntü
Kameradan alınan görüntü “goruntu=imcrop(goruntu,[ 170 35 730 490])” kodu ile
şekil 6.8’da ki kırpma işlemi sonucu alınan şekle getirilmiştir.
49
Şekil 6.8 : Kırpılmış Görüntü
Şekil 6.8’de ki kırpılan görüntü rgb2gray komutu ile Şekil 6.9’de ki hale gelmiştir.
Şekil 6.9 : RGB2GRY İşleminden Sonraki Görüntü
Daha sonra hem imge treshhold işlemine tabi tutuldu ve ardından imgedeki siyah
pixeller beyaz beyaz pixeller “goruntu =~ im2bw(goruntu, graythresh(getimage))”
komutu ile şekil 6.10’daki hale getirildi.
Şekil 6.10 : Eşikleme ve Ters Dönüşüm Sonucu Oluşan İmge
Bir sonraki adım olarak “goruntu12 = imfill(goruntu,'holes')” imgedeki boşluklar
dolduruldu ve ardından “goruntu = bwareaopen(goruntu,1000)” 1000 pixeldenkucuk
beyaz yerleri siyah hale dönüştürülerek Şekil 6.10’ resim elde edildi.
50
Şekil 6.11 : İmgenin Boşluk Doldurma ve Açma İşleminden Sonraki Hali
Şekil 6.11’da ki ibme “L = bwlabel(goruntu12)” komutu ile etiketleme işlemine tabi
tutuldu. Bu etiketleme işlemine göre bwlabel hazır matlap kodu sütün sütün tarama
yaparak ilk karşılaştığı beyaz pixel ve bu pixele komşu olan tüm beyaz pixellere bir
etiketini vermektedir. Bir etiketine komşu olmayan ve taradığı sütünda beyaz piksel
olan yere sırası ile iki, üç, dört …etiketlerini vermektedir. Bu duruma göre şekil 6.10’da
ki imgede ‘G’ harfi ilk etiket, ‘M’ harfi ikinci etiket, ‘K’ harfi üçüncü, ‘9’ rakamıda
dördüncü etiketi almaktadır. Bu işlem her harf için devam etmektedir.
Şekil 6.12 : “K” harfinin Etiketi
Şekil 6.12’de K harfi için yapılan etiket gösterilmiştir. Yapılan bu etiketlemeden sonra
etiketlerin maksimum ve minimum X ve Y koordinantları belirlenerek her karakter için
yeni imge oluşturdu ve ardından imgedeki her karakter 42x24 matris boyutuna
img_r=imresize(n1,[42 24]); komutu ile dönüştürüldü. Daha sonra tespit edilen her
karakterin merkez koordinantlarını bulma işlemi yapılarak bu merkezler diziye atandı.
Daha sonra Matlap Guide ile girilen karakterler ile imgede bulunan karakterler
korelasyon işlemine tabi tutularak karşılaştırıldı. Korelasyon sonucu MatlapGuide’de
girilen harf ile imgede bulunan aynı harf tespit edilerek merkez noktaları bir diziye
atandı. Bu dizideki merkez noktalara Gantry Robot Sistemi vasıtasıyla gitmesi ve
karakterleri alarak dizme işlemini gerçekleştirilmesi sağlanmıştır.
51
7. SONUÇLAR
Bu çalışmada, Matlap Guide ara yüz üzerinden girilen sayı ve harflerden oluşan
kelimelerin gantry robot vasıtasıyla yazdırma işlemi başarılı bir şekilde
gerçekleştirilmiştir. Sisteme monte edilmiş kameradan alınan görüntüdeki harfler ve
rakamlar, veri tabanı ile korelasyon tekniği kullanılarak karşılaştırılmış ve her bir
karakterin merkez noktası bulunmuştur. Harflerin ve rakamların tezgah üzerine farklı
açılar ile dizilmesi, korelasyon sonucunu büyük oranda etkilemiş buda sistem başarı
oranını büyük oranda başarısızlığa sürüklemiştir. Ancak bu sorun veri tabanının
zenginleştirilmesi ile beraber ortadan kaldırılmış ve sistem başarı oranı %100’e
yaklaşmıştır.
Yazdırma işleminin başlaması ile beraber Simatic OPC programı üzerinden elde edilen
veriler Siemens S7-1200 PLC’ye aktarılmış ve Gantry Robotun kontrolü
gerçekleşmiştir. Robotun kontrolünü sağlayan S7-1200 PLC’nin programlanması TIA
PORTAL üzerinden üzerinden gerçekleştirilmiştir.
Çalışmamızdaki en önemli fonksiyon metin yazdırma seçeneğidir. Bu seçenek
kameranın görüş alanındaki harflere göre anlamlı bir kelime yazma işlemini
yapmaktadır. Şekil 7.1’de görüldüğü gibi masa üzerinde farklı konumlarda ve açılarda
harfler bulunmaktadır
Şekil 7.1 : Siyah Zemin Üzerinde Bulunan Harfler
52
Siyah zemin üzerinde sabit olarak duran bu harflerin içerisinden Matlab Guide ara yüzü
sayesinde ‘FATIH’ ismi yazdırılması istenmiştir. Karakter tarama ve merkez
koordinatları bulma işlemlerinde sonra, gantry robot vasıtasıyla karakterler ilgili yerlere
taşınmış ve Şekil 7.2’de görüldüğü gibi metin başarılı bir şekilde yazılmıştır.
Şekil 7.2 : İsim Yazdırma Sonucunun Görüntüsü
Endüstriyel uygulamalar için yüksek çözünürlükte kameralar ve farklı lensler
kullanılarak, uygulamalarda daha başarılı ve daha hızlı cevapların alınabileceği
belirlenmiştir.
53
KAYNAKLAR
[1] XYZ Kartezyen Robot ve 2-B Cad-Cam Çizici Yazılımı Tasarımı, Cengiz Balta,
Cüneyt Oysu, Zafer Bingül, Sıtkı Öztürk TOK 09, OTOMATİK KONTROL ULUSAL
TOPLANTISI (2009)
[2] http://tr.wikipedia.org//wiki/Görüntü_işleme : ziyaret:27.03.2015
[3] S71200&TIAPORTALhttp://www.bilimsel.com.tr/download/slayt/S71200temel.pdf
:ziyaret: 10.04.2015
[4] PLC Programlama ve S7 1200,Yavuz Eminoğlu, Birsen Yayınevi 1. Baskı, 2014
[5] http://www.logitech.com/tr-tr/product/hd-webcam-c270: ziyaret saatı: 26.05.2015
[6]http://www.softek.com.tr/Endustriyel/Otomasyon/OPC/OPCServer.html ziyaret:
7.03.2015
[7]http://www.efesotomasyon.com/html/mecapion/2_Mecapion%20APDVS%20series
%20Product%20Configuration%20and%20Main%20Function.pdf ziyaret: 14.04.2015
[8] CONNECTING A PC STATION TO S7-1200 USING OPC
http://cache.automation.siemens.com/dnl/TA/TA1ODEyNwAA_39960679_FAQ/39960
679_S7-1200_OPC_SIMATIC-NET_NCM-PC_e.pdf
[9] http://tr.wikipedia.org//wiki/Görüntü_işleme ziyaret: 11.04.2015
[10] http://www.yildiz.edu.tr/~bayram/sgi/saygi.htm ziyaret: 19.04.2015
[11] http://home.anadolu.edu.tr/~lterlemez/vbapps/korkat.pdf ziyaret: 20.04.2015
[12] TheMatworks, “MATLAB OPC ToolboxUser’s Guide”.
[13] www.yildiz.edu.tr/~bayram/fotogrametri/goruntu_esleme.ppt ziyaret: 10.03.2015
[14] www.atasoyweb.net › Sinyal İşleme ziyaret: 10.03.2015
[15] cse.cbu.edu.tr/~tekrei/dosyalar/sunum/gi_r.pdf
[16] fenbildergi.aku.edu.tr/1001/1001(31-38).pdf