OMRON PLC PROGRAMLAMA -6
Omron plc nasıl programlanır ? Omron plc programlama da kullanılan teknikler nelerdir ? Omron plc programlamayı nasıl öğrenebiliriz ? Bu ve benzeri sorulara cevap aradığımız Omron Plc Programlama adlı yazımızla karşınızdayız.
Başlayalım.
OMRON PLC PROGRAMLAMA
Komut Yapıları :
Komut yapılarında giriş olarak sıralı olarak ;
Güç akışı , komut koşulu(1) , Flags(bayraklar) bulunur.
I/O hafızaya operandlar hedef olarak gider ya da source(kaynak) olarak döner.
Çıkış olarak ise sıralı olarak ;
Güç akışı , komut koşulu(2), Flags (bayraklar) bulunur.
Girişte 1 numaralı komut koşulu yalnızca giriş komutlarını içerir.
Çıkışta komut koşulu ise , tüm komutlar için çıkış olmayabilir.
Power flow (Güç akışı) : Çalıştırma koşuludur.
Komut Koşulları ;
Interlocked : Programın bir parçasını kapatır(özel durumlar , çıkış biti etkisizleştirme , holding sayıcılar vb.).Set etmek için IL(002) , komut iptali için IL(003) kullanılır.
Break (514) : For-Next döngüsü çalışmasını sonlandırır(Diğer bir next’e kadar çalışmayı durdurur).Set için : BREAK , iptal için ,reset : NEXT
Blok Program Çalıştırma : BPRG(096)’dan BEND’e(801) program bloklarını çalıştırır.Set için BPRG(096) , reset , iptal için : BEND (801)
Operands : I/O alanı hafızası içerik ya da sabitlerini belirlemek için kullanılan preset komut parametrelerini özelleştirmek için kullanılır.Komut , operand olarak adres ya da sabitler girilerek çalıştırılabilir.
Operandlar , kaynak , hedef veya sayı operandları olarak 3’e ayrılırlar.
Örnek : MOV #0 D0 (#0 : S -> Source(kaynak) , D0 : D ->Destination(hedef))
Örnek : JMP &3 (&3 : N -> Number(Sayı))
Source (Kaynak) : Data ya da sabitin adresini okumak adına belirleme yapar.Nasıl ?
S : Source operandı (kaynak operandı)
C : Control data (kontrol datası) : Bit durumuna bağlı olarak farklı anlamdaki source operand içerisindeki datadır.
Destination (Hedef) : Data yazılacak adresi belirler.Data registerlardır aslında bunlar.
Number (Sayı) : Jump ya da subroutine numarası gibi komut içerisinde kullanılacak numarayı belirler.
Not : Operandlar ilk operand , ikinci operand gibi isimle anılırlar.
Örnek : MOV #0 D0 (#0 ilk operand , D0 ikinci operand)
Komut Değişkenleri :
Differentation :
‘On’ : @ : Komut çalıştırma şartı ‘on’ olduğunda differentiate olur.
‘Off’ : % : Çalıştırma şartı ‘off’ olduğunda differentiate olur.
Immediate Refreshing : ! : I/O alanındaki belirlenmiş datalar yenilenir(refresh).
Not : Non-Differentiated komutlar : Her saykılda çalışırlar.Differentiated komutlar ise yalnız bir defa çalışırlar.
@ İşareti :
Çıkış komutlarında : Sadece off -> on olduğu durumlarda bir saykıl çalışırlar ve diğer saykıllarda çalışmazlar.
Örnek : |———| 1.02|———-|@MOV|——|
CIO1.02 ‘off -> on’ olduğunda sadece bir kez mov komutu aktif olur.
Giriş komutlarında :
|↑|———– (off -> on) olduğunda çalışma koşulu ‘on’ olur.Diğer saykılda çalışmaz.
Ya da yükselen kenarın değili olduğunda çalışma koşulu ‘off’ olur ve diğer saykılda ancak ‘on’ olur.
DIFU = @ ve DIFD = %
Not : Always P_On bayrağı ya da A200.11(First cycle bayrağı) giriş(input) bitini yükselen kenar komutu olarak kullanmayınız.
Aynı şekilde Always P_Off bayrağını da giriş biti düşen kenar olarak kullanmayınız.
Operandları Belirleme :
Örnek : 1.03 (1 -> Word , 03 -> Bit) CIO alanında word 1’in 3.biti anlamındadır.
Örnek : DM alanı : D1001.03 (D1001-> word adresi , 03 -> Bit numarası )
Örnek : Word adresi : I/O alanı da örneğin word adresi içerir.10 -> Word adresidir.

DM ve EM Alan Adresleri :
D ve E prefixleri ile verilirler.
Örneğin ;
EM Alanı : E200
DM Alanı : D200
EM Alanı Bank1 : E01.200 (E01 bank no , 200 word adresi)
Operandları Belirleme :
Bit adresi ayarlama : 1.02 -> —–|1.02|——-
Örnek : 3 , D200 à MOV 3 D200
Bit adresleri için ofset belirleme :
Örnek : 100.00[2] (100.00 bit adres başlangıcı , [2] ise ofset adresi için bit numarası)
100.00[w0] (w0 = &2) -> |——| 100.00[2] |——-
Köşeli parantezler içerisinde , bit başlangıç adresi için bit ofsetlerini belirleriz.
Not : Word adresleri için ofset belirleme köşeli parantezler içi 0-15 arası sabit ya da I/O hafızadaki word adresi olabilir.
Örnek : D0 [2] (word adres başlangıcı, [2] ofset adres word sayısı) : D0 [W0] -> W0 = &2
Buradan örneğin ; MOV 3 D0[200] olarak kullanabiliriz.
Direkt Olmayan DM/EM Adreslerini Binary Modda Belirlemek
Belirlenmiş alanın başlangıcından itibaren ofset değeridir.Belirli DM , EM alanlarındaki word adresleri için binary data olarak çevrilir.Başına ‘@’ sembolünü koyarak binary modda direkt olmayacak şekilde işlem yapabiliriz.
Aralık (0-32767)
Örnek : @D…… -> İçerik | | -> D…..
Burada içerik 0 ile 32767 (hex 0000’dan hex7FFF’e kadar binary datadır)
Örnek : D0…D32767 (@D…… 0000 ile 7FFFF Hex arasında değerdir.ya da 0-32767 arası desimal değerdir)
Dikkat : İçerik (content) -> &256 -> Hex #0100 = D256’yı belirtir.
MOV #0001 @D3000
Örnek : E0_0 -> E0-32767 : EM alanı içerisinde bank0’ın belirlenmesi işlemi örneği
@D….. 8000’den FFFF’e kadar hex data içerir.(32768 – 65535 arası)
&32769 içeriği = Hex #8001 -> E0_01’i belirtir.
Örnek : E[]_0 -> E[]_32767 : Bank numaralarını ifade eder.
@E[]_[][][][] (0000-7FFF) arası değer içeriyorsa (0000-32767 desimal değerdir.)
İçerik : &257 = Hex #0101 = E1_257’yi belirtir.
MOV #0001 @E1_200
Not : E([]+1)_0 -> E([]+1)_32767 : Burada @E[]_[][][][] 8000 ile FFFF Hex arası içeriyorsa (32768-65535 desimal)
İçerik : &32770 = Hex #8002 -> E2_2’yi belirtir.
OMRON PLC PROGRAMLAMA -1 SONUÇ :
Bugün Omron Plc Programlama adlı yazımızı sizlerle paylaştık.Omron plc programlama ile ilgili bir seri oluşturma ve ardından bir kılavuz meydana getirme niyetindeyim.Umarım faydalı olur.
İyi Çalışmalar