MOVE KOMUTLARI (MOVE INSTRUCTİONS) - BİLGİ AKTARMA KOMUTLARI
Move komutları, girişlerine (IN) verilen bilgiyi çıkışına (OUT) aktaran ve girişin bu aktarmadan etkilenmediği komutlardır. Girişe verilen bilgi, sayı veya değisken olabilir. Bu bilgiler Byte, Word veya Double word seklinde olabilir. Atama (aktarma) işlemi ancak EN girişi "1" olduğunda gerçekleşir ve EN girişine yeni bir sinyal gelinceye kadar çıkıştaki bilgi kalıcıdır. Yeni bir atama işlemi yapıldığında daha önceki bilgi silinir ve en son atama işlemi kabul edilir.
Sayı veya değisken Byte içine atanacaksa MOV_B, Word içine atanacaksa MOV_W, Double Word içine atanacaksa MOW_DW komutları kullanılmalıdır.
Aşağıdaki tabloda MOVE komutlarının giriş (IN) ve çıkışlarına (OUT) verilebilecek değerler gösterilmiştir.
IN girişine verilebilecek sayısal değer, 0............ 255 olabilir.
En soldaki (16. bit' teki), artı (+) ve eksi (-) işareti sayıların + veya - olduğunu belirlemek için kullanılır. 16. bit' teki sayı "0" ise sayılar pozitif (+) , 16. bit' teki sayı "1" ise sayılar negatif (-) olur. 1 Word 2 Byte' dan olusmaktadır. Yukarıdaki tabloda bu durumu görmek mümkündür.
Büyük numaralı byte ( burada QB1) QW' ün sağ tarafında, küçük numaralı byte (burada QB0) QW' ün sol tarafında bulunur.
WORD' ler adreslenirken ikiser aralıklı adreslendirilmelidir. Word' ler soldaki
küçük byte' ın numarasını alır. Örneğin QW0, QW2, QW4, QW6, QW8, ........ gibi
Byte' adresleri ile Word adresleri çakışmamalıdır. Çakışacak şekilde adresleme yapılırsa hatalı adresleme olur ve PLC hata verir.
Örneğin QW2 adresi bir devrede kullanılmıs ise baska bir devrede QB2 veya QB3 ya da QW1 ve QW3 adresleri kullanılmamalıdır. Ya da QB5 ve QB6 adresleri kullanılmışsa baska bir devrede QW5 adresi kullanılmamalıdır.
I0.0 aktif (kapalı) ise "450" rakamı Q0.0, Q1.1, Q1.6, Q1.7' nin karşılığı olduğundan MOV_W komutu "450" değerini QW0' a atar ve Q0.0, Q1.1, Q1.6, Q1.7 çıkısı aktif olur (çalışır).
Eğer sadece Q0.0' ın çalısmasını isteseydik IN değerini 256 yazmamız gerekirdi.
IN girişine verilebilecek sayısal değer - 32768........0.............32767 olabilir.
Örnek 1
Örnek 2
Örnek 3
7 bilgisi VB10 alanından MB0 alanına atandığından su anda 7 bilgisi, MW0 alanı içerisinde MB0 alanında bulunmakta MB1 alanı içerisinde ise hiçbir bilgi bulunmamaktadır. Ancak MB0 alanı içindeki 7 değeri, MW0 alanı içerisinde 1792 değerini almıştır.
IN girisine verilebilecek sayısal değer, - 2.147.483.648 .......... 0 .......... 2.147.483.647 olabilir.
- Move Real Komutu
Move Real komutunda giriş ve çıkış değerleri Double Word olarak girilebilir. Sayısal değer, ondalıklı olarak girilebilir. Örneğin 365, 8 gibi.
IN girisine verilebilecek sayısal değer, - 2.147.483.648 .......... 0 .......... 2.147.483.647 olabilir.
I0.0 aktif (kapalı) ise "20,7" rakamı MOV_R komutu ile MD0 içine atanır.
Ondalıklı sayılar hiçbir zaman MOV_B, MOV_W, MOV_DW komutlarında kullanılmaz.
- Blok Move Komutları
Birden fazla alandaki bilgilerin (byte, word, Doble word olarak) başka alanlara aktarılması (atanması) amacı ile kullanılan komutlardır. Blok Move komutları; belirli sayıdaki byte, word, double word gibi alanları çıkısındaki alana aktarırlar.
1 - Blok Move Byte komutları
Girişteki N sayıdaki byte adresi çıkıştaki adrese atar.
2 - Blok Move Word komutları
Girişteki (IN) N sayıdaki word adresi çıkıştaki (OUT)
adrese atar.
Örnek : Bir bant sisteminde 3 adet sayıcının sayma değerleri VW alanlarına atanacaktır. 1. sayıcı (C0) yukarı yönlü sayıcı (CTU) olup bant' tan geçen siseleri saymaktadır. 2. sayıcı (C1) yukarı yönlü sayıcı olup bozuk ya da kapağı olmayan siseleri saymaktadır. 3. sayıcı (C2) yukarı yönlü sayıcı olup depolanan koli adedini saymaktadır.
3 - Blok Move Double Word komutları
Örnek 1 : Bir butona basıldığında 6 adet lamba 1' er saniye aralıklarla yanacaktır.
Sekil 11.2 'deki devrede "1" bilgisi VB100 değişken hafızasına aktarılmaktadır. Network 2' deki SM0.5 ile her bir saniyede gelen "1" sinyaliyle sırası ile V100.0, V100.1,....... V100.5 "1" olur. Bu bilgiler Network 3' de QB0'a aktarılır ve birer saniye aralıklarla sırası ile Q0.0, Q0.1........Q0.5 "1" olur. I0.0 yeniden aktif yağıldığında Q0.0 tekrar "1" olur ve kayma yeniden gerçekleşir. SM0.5 yerine bir sensör konulursa sensörün her defa"1" oluşunda çıkış röleleri sırası ile "1" olmaktadır. PLC çıkısı 8' den fazla ise MOV_B yerine MOV_W, VB100 yerine VW100 ,QB0 yerine de QW0 kullanılabilir. (N değeri 8' den büyük girildiğinde).
Çıkışların çalışma diyagramı
Çıkısı 8' den fazla olan PLC' ler için MOV_ B yerine MOV_W komutu kullanılabilir (SHRB' de N değeri 8'den büyük girilirse). Network 2' de DATA ' ya Örneğin I0.0 bilgisi girildiğinden, çalışma I0.0 sensörü kapatıldığında baslar ve 2. çevrim (döngü) gerçekleşmez. Yani periyodik çalışma gerçekleşmez. 2. çalısma için I0.0 sensörü yeniden kapatılmalıdır. Sistemin çalışması için I0.0 sensörünün kısa süreli (pals) kapalı kalması gerekir. SM0.5, 0.5 sn. açık ,0.5 sn. kapalı kare dalga üreten özel bir bittir. Eğer Örnek 1' deki Network 2' de N değeri + 6 yerine - 6 olarak girilirse , sinyal akış yönü Q0.5'den Q0.0'a doğru olur. Ancak bu durumda Network 1'deki MOV_B 'nin IN girişine de Q0.5 in karşılığı olan 32 bilgisinin girilmesi gerekmektedir.
Örnek 2 : Shift-register sisteminde çıkış rölelerinin Q0.5 - Q0.4 - Q0.3 - Q0.2 - Q0.1 - Q0.0 seklinde bir sıra ile çalışması istenmektedir.
Çıkışların çalışma diyagramı
plc. 3sn aralıklarla tek ve çift çıkışlar yanıp söndüren program move komutu ile yapılacaktır diye bi sorum var bunu nasıl çözümleye biliriz
YanıtlaSilpaylaşımlarınız için teşekkürler
YanıtlaSil