Professional Documents
Culture Documents
CJ P1
EI
DI
Komut Formatı
2 3 4 5 6
D
10 CMP S1 S2 D Numerical magnitude comparison
X0 S D
D :
1. Uygulama Sonucunun kaydedildiği hedef datadır.
2. 1’den fazla hedef parametre varsa D1, D2 kullanılır.
Uygulama Komutları
n Data Formatı
X, Y, M, S Sadece tek nokta ON/OFF olabilir ve BIT olarak tanımlanır; bunula birlikte,
16-bit (veya 32 bit) T, C, D data registerlar olup WORD olarak tanımlanır. Ayrıca X, Y,
M ve S’nin önüne Kn ekleyerek WORD olarak tanımlanabilir, n=1 olduğu zaman 4-bit
anlamına gelir. Böylece K1’den K4’e kadar kullanarak 16-bit tanımlanabilir ve K1’den
K8’e kadar kullanılarak 32-bit tanımlanabilir. Örneğin K2M0 M0-M7 arası 8-Bit’i ifade
eder.
M7 M6 M5 M4 M3 M2 M1 M0
D0
bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Uygulama Komutları
Bit İşleme
Bit parametreleri belirtildiğinde (X,Y,M,S) bit işleme yerine getirilir.
X0
MOV D5E D8F
CJ (P**) JUMP Komutu ON olduğu zaman programı komutta belirtilen pointer numarasından
itibaren çalıştırır.
X1
Y1
X2
P1 N Y2
X0=ON olduğu zaman program adresi 0’dan N’ye atlar (P1) ve çalışmasına
P1’den devam eder. Aradaki adresleri atlar.
Eğer bu aradaki adreslerde bir TIMER varsa; TIMER saymayı durduracak.
X0=OFF olduğu zaman program adres 0’dan itibaren işleyecek CJ komutu
aktivitesini yitirecek ve TIMER saymaya devam edecek.
Uygulama Komutları
CALL (P**) Pointer (Pxx) tarafından belirlenen subroutine programı yerine getirir.
SRET CALL komutundan sonraki satırdan başlayarak normal programı yerine getirir.
FEND
Subroutine
Pointer P2
Numarası Subroutine
SRET
Subroutine Programa
Geri dönme
t1 t2
WDT komutu programda iki veya daha fazla kullanılabilir. Bunula birlikte test yapılırken dikkat
edilmelidir, Çünkü bir problem olursa çıkışlar aniden OFF olamayabilir.
PLC Tarama süresi 200 ms’yi aşarsa (Adres 0 ile END VEYA FEND komutu arasında) PLC
ERROR LED’i ON olur. Bu durumda kullanıcı enerjiyi kesip tekrar vermelidir. Enerji geldiğinde
PLC otomatik olarak STOP mod’a döner.
Eğer program tarama Zamanı 200ms üzerinde ise kullanıcı programı 2 parçaya bölebilir. Arasına
Watchdog Timer koyarak herbir parçanın tarama zamanını 200 ms’nin altına indirebilir.
Uygulama Komutları
Watchdog Timer süresi 200 ms ve Adress 0 ile END (FEND) komutu arası 300 ms
olduğu durumlarda kullanılır.
300ms program
Birinci Durum
END
X0
İkinci Durum WDT
END
Uygulama Komutları Kümelenmiş Döngü Başlangıcı/Bitişi
FOR ve NEXT komutları arası kayıtsız şartsız FOR’da belirtilen “n” sayısı kadar
FOR/NEXT işlendikten sonra NEXT komutundan sonraki adımları yerine getirir.
FOR ve NEXT komutları arası kayıtsız şartsız FOR’da belirtilen “n” sayısı kadar işlendikten
sonra NEXT komutundan sonraki adımları yerine getirir. Max. 4 Küme oluşturulabilir.
“n” değeri 1-32767 arası girilebilir. “n” değeri -32767 – 0 arası girilirse n=1 olarak algılanır ve
programda 1 olarak işlenir.
FOR – NEXT komutları aralığı işlenmesi gerekmediği zamanlarda CJ komutu kullanılarak
programda bu komutlar atlanabilir.
FOR K3
FOR K4
B A
NEXT
NEXT
Uygulama Komutları Kümelenmiş Döngü Başlangıcı/Bitişi
FOR ve NEXT komutları arası kayıtsız şartsız FOR’da belirtilen “n” sayısı kadar
FOR/NEXT işlendilten sonra NEXT komutundan sonraki adımları yerine getirir.
Eğer programda çok fazla döngü varsa bu durum tarama zamanını uzatır. Tarama
zamanının aşılmamasına dikkat edilmelidir.
X7
CJ P6
M0
MOV K0 D0
FOR K3
M0
MOV D0 D1
INC D0
NEXT
X10
P6 Y10
X7=OFF iken FOR-NEXT Komut aralığını yerine getiren X7=ON olduğunda FOR-
NEXT komut aralığını işlemeyen program.
Uygulama Komutları
Karşılaştırma uygulama komutu, iki data arasında sayısal büyüklük
CMP karşılaştırması yapar.
X0
CMP K10 C10 M0
M0
K10 > C10 , ON
M1
K10 = C10 , ON
M2
K10 < C10 , ON
X0
ZCP K10 K100 C10 M0
M0
C10 değeri < K10 , ON
M1
K10 < = C10 değeri <= K100 , ON
M2
C10 değeri > K100, ON
Uygulama Komutları
Kaynak parametrede bulunan datayı hedef parametreye transfer eder.
MOV
X0
MOV K10 D10
X0
CML D10 K1Y0
b15 b3 b2 b1 b0
D10 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0
X0=ON olduğu zaman D10’un b0-b3 bitleri terslenerek K1Y0’a transfer olur.
Uygulama Komutları
X0
BMOV D0 D10 K3
X0
FMOV K10 D10 K10
X0
XCH D10 D11
X0=ON olduğu zaman D10 daki bilgi ile D11 deki bilgi yer değiştirir.
Uygulama Komutları
X0
BCD D10 K1Y0
X0=ON olduğu zaman D10’un içindeki BIN değeri BCD’ye dönüşür ve sonucu
K1Y0’a kaydeder.
Uygulama Komutları
X10
BIN K1X0 D10
X10=ON olduğu zaman X0-X3 BCD Datasını BIN Dataya çevirir ve sonucu
D10’un içine kaydeder.
Uygulama Komutları
X0
ADD D0 D10 D20
X0
SUB D0 D10 D20
X0=ON olduğu zaman D0’ın içindeki değerden D10 içindeki değer çıkartılarak
sonucu D20 içine kaydeden program.
Uygulama Komutları
16-bit uygulama
S1 S2 D +1 D
* =
32-bit uygulama
S 1 +1 S1 S 2 +1 S2 D +3 D +2 D +1 D
* =
Uygulama Komutları
X10
MUL K5678 K1234 D10
X10=ON olduğu zaman 5678 ve 1234 sayılarını çarparak sonucu BIN olarak D10 ve
D11 içine kaydeden program.
Yüksek 16-bit D11’de Düşük 16-bit D10’da kaydedilecek.
X0
DMUL D0 D10 D20
D0 ve D1’deki BIN Data ile D10 ve D11’deki BIN Datayı çarparak; 64 Bit Çarpma
sonucunu BIN olarak D20-D23’e kaydeden program.
Uygulama Komutları
n Uygulama sonucuna göre bölüm ile kalan word parametresi için 32-bit
kullanılarak kaydedilir. Bit parametreleri içeren uygulamalarda ise
sadece bölüm 16-bit olarak kaydedilir.
n S1 ve S2 datasının pozitif veya negatif kararı en üst bit olan b15’den
D de ise b31’den yapılır.
16 bit uygulama
X0
DIV D0 D10 D20
Bölüm Kalan
S1 S2 D D +1
/ =
Bölüm : Düşük 16 Bite kaydedilir.
Kalan : Yüksek 16 Bite kaydedilir.
(Sadece Word parametreleri
durumunda kaydedilebilir)
Uygulama Komutları
32 bit uygulama
X0
DDIV D0 D10 D20
Bölüm Kalan
S1 +1 S1 S2 +1 S2 D +1 D D +3 D +2
/ =
Bölüm : Düşük 32-Bite kaydedilir.
Kalan : Yüksek 32-Bite kaydedilir.
(Sadece Word Parametreleri
durumunda kaydedilir)
X0
INC D0
X0
DEC D0
ÖRNEK (16-bit)
b15 b00
S1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1
İşlemden Önce WAND
S2 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
İşlemden Sonra D 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
Uygulama komutları
Örnek (16-bit)
b15 b00
S1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
İşlemden önce WOR
S2 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1
İşlemden sonra D 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1
Uygulama Komutları
b15 b00
S1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
İşlemden Önce WXOR
S2 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1
İşlemden Sonra D 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0
Uygulama komutları
X0
NEG D0
X0=ON olduğu zaman D0’ın içindeki değer terslenir. (0-1, 1-0 olur). 1
eklenerek sonuç D0 register’a kaydolur.
Bu komut Negatif BIN Değerini Pozitif olarak dikkate alır. (Mutlak değerini).
Uygulama Komutları
ROR Sağa Döndürme
X0
ROR D10 K4
X0=ON olduğunda D10’un içindeki 16-bit data 4 bit sağa kayacak ve şekilde
görüldüğü gibi b3 biti (CY) M1022’ye transfer olacak.
Uygulama Komutları
ROL Sola Kaydırma
(D) ROL komutu Parametrede tanımlı bölge içindeki (32) 16-bit bilginin
n
n - bit sola döndürülmesini sağlar.
X0
ROL D10 K4
X0=ON olduğunda D10’un içindeki 16-bit data 4 bit sola kayacak ve şekilde
görüldüğü gibi b12 biti (CY) M1022’ye transfer olacak.
Uygulama Komutları
RCR Carry Biti ile Sağa Döndürme
X0
RCR D10 K4
X0=ON olduğunda D10’un içindeki 16-bit data carry biti ile 4 bit sağa kayacak
ve şekilde görüldüğü gibi b3 biti (CY) M1022’ye transfer olacak. Carry Bitinin
orijinal içeriği ise b12’ye transfer olacak.
Uygulama Komutları
RCL Carry Biti ile Sola Döndürme
(D) RCL komutu Parametrede tanımlı bölge içindeki (32) 16-bit bilginin
n
carry biti kullanılarak n - bit sola döndürülmesini sağlar.
X0
ROL D10 K4
X0=ON olduğunda D10’un içindeki 16-bit data carry biti ile 4 bit sola kayacak
ve şekilde görüldüğü gibi b12 biti (CY) M1022’ye transfer olacak. Carry Bitinin
orijinal içeriği ise b3’ye transfer olacak.
Uygulama Komutları
X0
SFTR X0 M0 K16 K4
n1
S
X003 X002 X001 X000 D
5
M015 M014 M013 M012 M011 M010 M009 M008 M007 M006 M005 M004 M003 M002 M001 M000
4 3 2 1
n2
Uygulama Komutları
X0
SFTL X0 M0 K16 K8
n1
S
X003 X002 X001 X000
5
M015 M014 M013 M012 M011 M010 M009 M008 M007 M006 M005 M004 M003 M002 M001 M000
D
1 2 3 4
n2
Uygulama komutları
Koşul :
n D1 ve D2 aynı katagoride olmalı.
X0
ZRST M300 M399
X0
DECO X0 M100 K3
X002 X001 X000
0 1 1 n=3 olduğundan
4 2 1 X0-X2 arası
3
7 6 5 4 3 2 1 0
0 0 0 0 1 0 0 0 Çözme Sonucu
M107 M106 M105 M104 M103 M102 M101 M100
X10
DECO D10 D20 K3
D10
b15 b0
0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 D10’da b0-b2 arası
n=3 olduğunda
4 2 1
Hepsi 0
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 Çözme sonucu
b15 D20 b0
X0
ENCO M0 D0 K3
n=3 tanımlandığı zaman 8 bit işgal eder.
b15 D0
4 2 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 Kodlama sonuçları
b0
X0
ENCO D10 D20 K3
b3 b0’dan sonraki üçüncü
Bit durumudur. n=3 ise 8 bit işgal eder.
D10
b15 b0
0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0
6 5 4 3 2 1 0
7 Kodlama sonucu
Pasif Data
b15 D20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 N=3 tanımlı D10’un
b0-b2 incelenir.
b0
Uygulama Komutları
ON olan Bitlerin Toplamı
SUM
X0
SUM D0 D2
X0
BON D0 M0 K15
X0
MEAN D10 D2 K4
Her bir END Moda kadar tarama sırasında PLC kendi durumunu bir kez yeniler. PLC
girişi okuduğunda giriş durumunu değiştirebilir. Giriş-Çıkışın daha hızlı olması
gereken uygulamalar bir sonraki I/O Update’i bekleyemez. Bu gibi durumlarda bu
komut kullanılır. Bu komut aniden I/O modülünden giriş durumunu okur veya çıkış
durumlarını çıkış noktalarına yazar.
X0
REF Y0 K8
n Saymanın amacı S2 değeri S1 e ulaştığı zaman özel uygulama yapmaktır. Counter değeri
kullanıcının belirlediği değere ulaşınca interrupt routine atlayacak. Interrupt routine içinde
ani uygulamalar için D nin özel röle kullanılması önerilir.
n Sayıcı mevcut değerini DHSCS ve DHSCR komutlarında belirtilen 4 set değerine kadar
karşılaştırabilir. Eğer D Y ile kullanılacaksa Y00-Y17 arası bir değer seçilmelidir.
Uygulama Komutları
X10
DCNT C249 K1000
M0
DHSCS K100 C249 Y10
C249
SET Y17
X10
X0
Sayma Girişi enable
X1
X3
X2 Sayma Girişi input disable
C249
X10
DCNT C251 K200
M0
DHSCR K100 C251 Y10
C251
SET Y0
X10
A-phase ( X0 )
B-phase( X1 )
X0
PLSY K1000 K200 Y0
0.5 ms
Y0 Çıkışı 1 2 3 200
1 ms
Uygulama Komutları
1000ms
Y01 Çıkışı
2000ms
Uygulama Komutları
PLSR komutu sabit durumdan hedef hıza belirli bir zamanda ulaşılması gerektiği
n
zamanlarda kullanılır. Hedef hıza ulaşıldığında motor daha hızlı hareket eder.
Pulse dalga çıkışı hedef mesafeye ulaştığında durur.
n 1-) Hızlanma/ Yavaşlama Zamanı Max. Scan Time (D1012) * 10’un üzerinde
olmalıdır. Eğer bu değerin altında olursa Hızlanma/Yavaşlama doğrusu eğimi yanlış
olur.
n 2-) Hızlanma/Yavaşlama Zamanı Minimum ayarı formülü S3>= 90.000 / S1 *
1.22
n 3-) Hızlanma/Yavaşlama Zamanı Maksimum Ayarı Formülü S3<= S2/S1 * 818
X0
ALT M0
M0
Y0
M0
Y1
X0 ilk kez aktif edildiği zaman M0=ON, Y1=ON; X0 ikinci kez aktif edildiği
zaman M0=OFF, Y0=ON, =ON, Y1=OFF olur.
Uygulama Komutları
X0
SEGD D0 K2Y0
X10
RS D100 K10 D120 K10
Sending
command
Transmitting data write-in
Pulse
X0
ASCI D10 D20 K4
X0
HEX D10 D20 K4
X0
ABS D0
X0
MODRD K1 H2104 K3
X0
MODWR K1 H2000 D10
X0
SWAP D0