EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 2 PROGRAMLANABİLİR DENETLEYİCİLER NÜMERİK İŞLEME
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 3 Nümerik Buyruklara Giriş Atama Buyrukları Karşılaştırma Buyrukları Aritmetik Buyruklar Mantık Buyrukları Kaydırma Buyrukları Çevirme Buyrukları NÜMERİK İŞLEME
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 4 Nümerik Buyruklara Giriş Genel Bakış Nümerik buyruklar, genellikle 16-bit'lik sözcüklere uygulanır ve köşeli parantezler arasına yazılır. Eğer bir önceki mantık işlemin sonucu doğru (true) ise (Boole akümülatörü = 1), nümerik buyruk işlenir. Eğer bir önceki mantık işlemin sonucu yanlış (false) ise (Boole akümülatorü = 0), nümerik buyruk icra edilmez ve işlenen değişmeden kalır.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 5 Atama Buyrukları Açıklama Atama buyrukları, Op2 işlenenini, Op1 işlenenine yüklemek için kullanılır. Atama Atama buyrukları için sözdizimi. Atama işlemleri, aşağıdakiler üzerinde gerçekleştirilebilir: Bit string'leri Sözcükler Sözcük tabloları
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 6 Bit String'lerinin Atanması İşlemler, aşağıdaki bit string'leri üzerinde gerçekleştirilebilir: Bit string'i -> bit string'i (Örnek 1) Bit string'i -> sözcük (Örnek 2) Sözcük -> bit string'i (Örnek 3) Anlık değer -> bit string'i Örnekler Bit string'i atamalarına örnekler.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 7 Kullanım kuralları: Bit string'i -> sözcük ataması için: String içindeki bitler, sözcüğe sağdan başlayarak (string içindeki ilk bit, sözcük'deki bit 0'a) transfer edilir ve transfere dahil olmayan sözcük bitleri (uzunluk<16), 0'a set edilir. Sözcük -> bit string'i ataması için: sözcük bitleri, sağdan (sözcük biti 0, string içindeki ilk bit'e) transfer edilir. Bit String'i Atamaları için Sözdizimi Not: %BLK.x kısaltması (örneğin, %C0.P), herhangi bir fonksiyon bloğu sözcüğünü tanımlamak için kullanılır.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 8 Sözcüklerin Atanması Atama komutları, aşağıdaki sözcükler üzerinde gerçekleştirilebilir: Sözcük -> sözcük (Örnek 1) Endekslenmiş sözcük -> sözcük Anlık değer -> sözcük (Örnek 3) Bit string'i -> sözcük Sözcük -> Endekslenmiş sözcük Endekslenmiş sözcük -> Endekslenmiş sözcük (Örnek 2) Anlık değer -> Endekslenmiş sözcük Sözcük -> bit string'i
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 9 Örnekler Sözcük atamalarına örnekler.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 10 Sözdizimi Sözcük atamaları için sözdizimi. Not: %BLK.x kısaltması (örneğin, R3.I), herhangi bir fonksiyon bloğu sözcüğünü tanımlamak için kullanılır. %Mi:L, %Si:L ve %Xi:L bit string'leri için, bit string'inin ilkinin temel adresi, 8'in katı olmalıdır (0, 8, 16,..., 96,...). Sözcük Tablolarının Atanması Atama işlemleri, aşağıdaki sözcük tabloları üzerinde gerçekleştirilebilir: Anlık değer -> sözcük tablosu (Örnek 1) Sözcük -> sözcük tablosu (Örnek 2) Sözcük tablosu -> sözcük tablosu (Örnek 3) Tablo uzunluğu (L), her iki tablo için aynı olmalıdır.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 11 Örnekler Sözcük tablo atamalarına örnekler: Sözdizimi Word tablo atamaları için sözdizimi: Not: %BLK.x kısaltması (örneğin, R3.I), herhangi bir fonksiyon bloğu sözcüğünü tanımlamak için kullanılır. %Mi:L, %Si:L ve %Xi:L bit string'leri için, bit string'inin ilkinin temel adresi, 8'in katı olmalıdır (0, 8, 16,..., 96,...).
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 12 Karşılaştırma Buyrukları Açıklama Karşılaştırma buyrukları, iki işleneni karşılaştırmak için kullanılır. Aşağıdaki tablo, Karşılaştırma buyruğu tiplerini listeler.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 13 Yapı Karşılaştırma, LD, AND ve OR komutlarını izleyen köşeli parantezler içerisinde işletilir. İstenen karşılaştırma doğru olduğunda, sonuç 1'dir. Karşılaştırma buyruklarına örnekler.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 14 Sözdizimi Karşılaştırma buyrukları sözdizimi. Not: Karşılaştırma buyrukları, parantezler içerisinde kullanılabilir. Karşılaştırma buyruğunun parantezler içerisinde kullanımına bir örnek: LD %M0 AND( [%MW20 > 10] OR %I0.0 ) ST %Q0.1
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 15 Aritmetik Buyruklar Açıklama Aritmetik buyruklar, iki işlenen arasında veya bir işlenen üzerinde aritmetik işlemler gerçekleştirmek için kullanılır. Aşağıdaki tablo, aritmetik buyruk tiplerini listelemektedir.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 16 Yapı Aritmetik işlemler, şu şekilde gerçekleştirilir:
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 17 Sözdizimi Sözdizimi, aşağıdaki tabloda gösterildiği gibi, kullanılan operatörlere bağlıdır. Not: (1) SQRT ile birlikte kullanıldığında, Op2 anlık değer olamaz.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 18 Taşma ve Hata Koşulları Toplama İşlem sırasında taşma Eğer sonuç, -32768 veya +32767 sınırlarını aşarsa, %S18 (taşma) biti, 1'e set edilir. Bu durumda, sonuç kendi içinde doğru değildir (bkz. sonraki sayfada Örnek 1). Kullanıcı programı, %S18 bitini yönetir. Sonucun mutlak taşması (işaretsiz arimetik) Belirli bazı hesaplamalar sırasında, bir işleneni işaretsiz aritmetikte yorumlamak gerekebilir (o durumda, bit 15, 32768 değerini temsil eder). Bir işlenen için maksimum değer, 65535'tir. Sonucu 65535'ten büyük olan iki mutlak değerin (işaretsiz) toplanması, taşmaya neden olur. Bu, %S17 (elde) sistem biti, 1'e değiştirilerek işaret edilir ve bu bit, 65536 değerini temsil eder.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 19 Çıkarma Negatif sonuç Bir çıkarmanın sonucu 0'dan az ise, sistem biti %S17, 1'e set edilir. Çarpma İşlem sırasında taşma Sonuç, sonuç sözcüğünün kapasitesini aşarsa, %S18 (taşma) biti, 1'e set edilir ve sonuç anlamsızdır. Bölme/Kalan 0 ile bölme Bölen 0 ise, bölme mümkün değildir ve sistem biti %S18, 1'e set edilir. O durumda sonuç yanlıştır. İşlem sırasında taşma Bölüm, sonuç sözcüğünün kapasitesini aşarsa, sistem biti %S18, 1'e set edilir.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 20 Karekök alma İşlem sırasında taşma Karekök alma, sadece pozitif değerler üzerinde gerçekleştirilir. Bu yüzden, sonuç daima pozitiftir. Karekök işleneni negatif ise, sistem biti %S18, 1'e set edilir ve sonuç yanlıştır. Not: Kullanıcı programı, sistem bitleri %S17 ve %S18'i yönetmekten sorumludur. Bu bitler, denetleyici tarafından 1'e set edilir ve yeniden kullanılabilmeleri için program tarafından reset edilmelidir (örnek için önceki sayfaya bakınız).
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 21 Örnekler Örnek 1: toplama sırasında taşma. Eğer %MW1 =23241 ve %MW2=21853 ise, gerçek sonuç (45094), bir 16-bit sözcük içinde ifade edilemez, %S18 biti, 1'e set edilir ve elde edilen sonuç (-20442) yanlıştır. Bu örnekte, sonuç 32767'den büyük olduğunda, değeri 32767'de sabitlenmektedir.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 22 Örnek 2: [%MW2:=%MW0 + %MW1] burada %MW0 =65086, %MW1=65333'tür. %MW2 sözcüğü, 64883 sayısını içerir. %S17 biti, 1'e set edilir ve 65536 değerini temsil eder. İşaretsiz aritmetik sonuç; 65536 + 64883 =130419'a eşittir. Örnek 3: [%MW2:=%MW0 + %MW1] burada %MW0 =45736 (yani, -19800'ün işaretli değeri), %MW1=38336 (yani, 27200'ün işaretli değeri). İki sistem biti %S17 ve %S18, 1'e set edilir. İşaretli aritmetik sonucu, (+18536) yanlıştır. İşaretsiz aritmetikte, sonuç (18536 + %S17'nin değeri, yani 84072) doğrudur.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 23 Mantık Buyrukları Açıklama Mantık buyrukları, iki sözcük işleneni arasında veya bir sözcük işleneni üzerinde bir mantık işlemi gerçekleştirmek için kullanılır. Aşağıdaki tablo, Mantık buyruk tiplerini listeler.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 24 Yapı Mantık işlemler, aşağıdaki gibi gerçekleştirilir:
Sözdizimi Sözdizimi, kullanılan operatörlere bağlıdır: Not: (1) NOT ile birlikte kullanıldığında, Op2 anlık değer olamaz. Örnek Aşağıdaki, bir mantık AND buyruğu örneğidir: [%MW15:=%MW32 AND %MW12] Yrd.Doç.Dr. Dilşad Engin PLC 23.02.2015 Ders Notları 25
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 26 Kaydırma (Shift) Buyrukları Açıklama Kaydırma buyrukları, bir işlenenin bitlerini belirli bir sayıda (pozisyon) sağa veya sola kaydırmak için kullanılır. Aşağıdaki tablo, Kaydırma buyruk tiplerini listelemektedir.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 27
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 28 Yapı Kaydırma işlemleri, aşağıdaki gibi gerçekleştirilir: Sözdizimi Sözdizimi, aşağıdaki tabloda gösterildiği gibi, kullanılan operatörlere bağlıdır.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 29 Çevirme Buyrukları Açıklama Çevirme buyrukları, sayıların farklı gösterimleri arasında çevirme (dönüştürme) gerçekleştirir. Aşağıdaki tablo, Çevirme buyruk tiplerini listeler. BCD Kodunun Gözden Geçirilmesi Binary Coded Decimal (İkilil Kodlanmış Onluk) (BCD), dört binary biti kodlayarak bir onluk rakam (0-9) temsil eder. Bir 16-bit sözcük nesnesi, dört hanede (0000-9999) ifade edilen bir sayı içerebilir.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 30 Bir çevrim sırasında, değer BCD değilse, sistem biti %S18, 1'e set edilir. Bu bit, program tarafından test edilmeli ve 0'a reset edilmelidir. Onluk sayıların BCD gösterimi: Örnekler: %MW5 sözcüğü, "2450" değerine karşılık gelen aşağıdaki BCD değeri ifade eder: 0010 0100 0101 0000 BCD %MW12 sözcüğü, onluk 2450" değerine karşılık gelen aşağıdaki ikilik değeri ifade eder: 0000 1001 1001 0010 2 %MW5 sözcüğü, %MW12 sözcüğüne, BTI buyruğu ve %MW12 sözcüğü, %MW5 sözcüğüne, ITB buyruğu kullanılarak çevrilir.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 31 Yapı Çevirme işlemleri, aşağıdaki gibi gerçekleştirilir: Sözdizimi Sözdizimi, aşağıdaki tabloda gösterildiği gibi, kullanılan operatörlere bağlıdır.
23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 32 Uygulama Örnekleri BTI buyruğu, BCD kodlanmış tekerlek kodlayıcılar (thumbwheels) aracılığıyla, denetleyici girişlerinde bir ayar noktası (setpoint) değeri işlemek için kullanılır. ITB buyruğu, BCD kodlanmış göstergelerde nümerik değerleri (örneğin, bir hesaplama sonucu, bir fonksiyon bloğunun mevcut değeri) görüntülemek için kullanılır.