INSTRUKSI LANJUT/ANALOG

advertisement
Praktikum Automasi 1
Modul 2 : Instruksi Lanjut
Selain instruksi-instruksi dasar yang umumnya merupakan operasi bit atau biner, OMRON
juga mempunyai instruksi-instruksi lanjut yang menggunakan sistem bilangan analog dalam
heksadesimal ataupun BCD (Binary Coded Decimal).
SISTEM BILANGAN
Jika umumnya operasi pada PLC mengacu pada suatu bit tertentu yang diwakili 0 atau 1, maka
pada instruksi lanjut ini kita akan mengacu pada suatu word atau channel tertentu.

Setiap channel terdiri dari 16 digit bilangan biner yang biasanya dijabarkan dalam 4
digit bilangan heksadesimal.
o Misal pada channel 000 berisi 16 bilangan biner berikut
CH 000
Channel 000
Bit 00 to
Bit 15
00000
1
00001
1
00002
0
00003
1
00004
1
00005
0
00006
0
00007
1
00008
1
00009
1
00010
1
00011
0
00012
0
00013
0
00014
0
00015
1
Least Significant Bit (LSB)
1 0 1 1

B (heksa)
1 0 0 1

9 (heksa)
8 7 9 B (heksa)
0 1 1 1
1 0 0 0


7 (heksa)
8 (heksa)
Most Significant Bit (MSB)
maka pada channel tersebut berisi : 8 7 9 B (heksa)

Selain bilangan heksadesimal, bilangan dalam BCD (Binary Coded Decimal) juga
digunakan. Pada BCD, nilai maksimal dari 4 digit bilangan biner ialah 9 (1001) karena
bilangan desimal hanya terdiri dari bilangan 0 sampai 9.
CONTOH – CONTOH INSTRUKSI LANJUT

Data Movement Instructions
Move – MOV (21)
o Instruksi MOV mentransfer data sumber (baik data dalam channel tertentu atau
konstanta heksadesimal 4 digit) ke channel tujuan. Karena itu, MOV memerlukan dua
parameter yang harus ditentukan : channel sumber atau konstanta dan channel tujuan.
o Simbol pada ladder
Area data
S: Source Channel
IR, SR, AR, DM, HR, TC, LR, #
MOV (21)
S
D: Destination Channel
D
IR, AR, DM, HR, LR
o Diagram berikut menggambarkan operasi MOV
SOURCE INPUT
CH 000
Channel 000
Bit 00 to
Bit 15
DESTINATION OUTPUT
CH 200
00000
1
20000
1
00001
1
20001
1
00002
0
20002
0
00003
1
20003
1
00004
1
20004
1
00005
0
20005
0
00006
0
20006
0
00007
1
20007
1
00008
1
20008
1
00009
1
20009
1
00010
1
20010
1
00011
0
20011
0
00012
0
20012
0
00013
0
20013
0
00014
0
20014
0
00015
1
20015
1
Status
Status
Channel 200
Bit 00 to
Bit 15
Dalam kasus di atas, data pada Input Channel 000 dipindah ke Output Channel 200.

Data Comparison Instruction
Compare – CMP (20)
o Compare (CMP) digunakan untuk membandingkan data pada channel tertentu, dengan
data pada channel lain, atau data berupa konstanta heksadesimal yang terdiri dari 4
digit. Karena itu dua data harus ditentukan jenisnya setelah instruksi CMP (20).
o Simbol pada ladder
Area data
Cp 1 : First Compare Word
CMP (20)
IR, SR, AR, DM, HR, TC, LR, #
Cp 2 : Second compare word
Cp 1
Cp 2
IR, SR, AR, DM, HR, TC, LR, #
o Diagram berikut menggambarkan operasi CMP
#
0
0
0
0
0
0
0
1
F
0
0
1
1
1
1
1
0
0
0
0
DATA
Konstanta dibandingkan dengan Channel
..15 ..14 ..13 ..12 ..11 ..10 ..09 ..08 ..07 ..06 ..05 ..04 ..03 ..02 ..01 ..00
0
0
0
0
0
#
0
0
1
1
1
0
1
F
0
1
1
0
0
0
0
CH 000
DATA
Jika nilai konstanta (#01F0) sama dengan data di Channel 000, Special Relay
(SR) 25506 akan ON.
 Jika nilai konstanta lebih besar dari data di Channel 000 SR 25505 akan ON
 Jika nilai konstanta lebih kecil dari data di Channel 000 SR 25507 akan ON
Pada satu waktu, hanya salah satu hasil saja yang benar, maka relay 25505 (>) atau
25506 (=) atau 25507 (>) akan ON.
o Berikut ini flag-flag yang sering digunakan pada instruksi compare :
 SR 25313 (Normally ON Flag)
 SR 25505 (Greater than Flag), SR 25506 (Equal flag), SR 25507 (Less than
Flag).

Calculation Instruction
Add – ADD (30)
o Simbol pada ladder
Area data
Au : Augend word (BCD)
IR, SR, AR, DM, HR, TC, LR, #
Ad : Addend word (BCD)
ADD(30)
Au
IR, SR, AR, DM, HR, TC, LR, #
R : Result word
Ad
R
IR, AR, DM, HR, LR
o ADD menjumlahkan data dari dua channel yang berbeda, atau satu channel dan satu
konstanta yang akan memberikan output pada channel yang ke tiga. Karena itu, tiga
parameter data harus ditentukan : augend (penjumlah), addend (yang dijumlahkan),
dan result (hasil).
o Operasi yang terjadi pada instruksi ADD ialah sebagai berikut :
 Au
+ Ad +

CY 
CY
R
dimana CY ialah carry flag
o Contoh ladder
00000
CLC (41)
ADD (30)
HR040
#1234
200
 Dari program di atas, ketika input 00000 dinyalakan, data pada internal relay
HR040 dijumlahkan dengan konstanta 1234. Hasilnya ditampilkan ke CH 200.
 Jika carry dihasilkan akibat penjumlahan, carry flag (SR 25504) akan ON.

Catatan : supaya carry flag bisa dibaca secara urut dengan hasil (R), berikan
nilai
1 pada alamat R+1, jika alamat carry flag aktif.
 Dalam contoh di atas, sebelum mengeksekusi ADD, carry flag/CY (special
relay 25504) akan dimatikan oleh Clear Carry (CLC).
 Augend and addend harus dalam bentuk BCD (0 sampai 9999), jika tidak
special relay 25503 (error flag) akan ON dan instruksi ADD tidak akan
dieksekusi.
Subtract – SUB (31)
o Simbol pada ladder
Area data
Mi: Minuend Word (BCD)
SUB(31)
IR, SR, AR, DM, HR, TC, LR, #
Su : Subtrahend Word (BCD)
Mi
Su
IR, SR, AR, DM, HR, TC, LR, #
R : Result Word
R
IR, AR, DM, HR, LR
o SUB mengurangkan data di Mi dengan data di Su dan CY (carry flag - 25504), dan
meletakkan hasilnya di R.
o Jika hasilnya negatif, CY akan aktif (ON) dan nilai 10’s complement dari hasil
sebenarnya akan diletakkan di R.
Untuk mendapatkan hasil sebenarnya,
kurangkan 0 dengan hasil awal yang ada di R.
o Operasi yang terjadi pada instruksi SUB ialah sebagai berikut :
 Mi
- Su - CY 

CY
R
dimana CY ialah carry flag
o Contoh ladder
00000
CLC (41)
SUB (31)
010
DM 0100
HR 20
 Dari program di atas, ketika input 00000 dinyalakan, data pada IR 010
dikurangkan dengan data pada DM 0100. Hasilnya ditampilkan ke HR 20.
 Dalam contoh di atas, sebelum mengeksekusi SUB, carry flag/CY (special
relay 25504) akan dimatikan oleh Clear Carry (CLC).
 Minuend dan subtrahend harus dalam bentuk BCD (0 sampai 9999), jika tidak
special relay 25503 (error flag) akan ON dan instruksi SUB tidak akan
dieksekusi.
Multiply – MUL (32)
o Simbol pada ladder
Area data
Md: Multiplicand (BCD)
MUL(32)
IR, SR, AR, DM, HR, TC, LR, #
Mr: Multiplier (BCD)
Md
Mr
IR, SR, AR, DM, HR, TC, LR, #
R : First Result Word
R
IR, AR, DM, HR, LR
o MUL mengalikan data di Md dengan data di Mr, dan meletakkan hasilnya di R dan
R+1 (R dan R+1 harus berada di area data yang sama).
o Operasi yang terjadi pada instruksi MUL ialah sebagai berikut :
Md
Mr
R+1
R
o Contoh ladder
00000
MUL (32)
010
DM 0100
HR 20
 Dari program di atas, ketika input 00000 dinyalakan, data di IR 010 dikalikan
dengan data di DM 0100. Hasilnya ditampilkan ke HR 20 dan HR 21.
 Multiplicand dan multiplier harus dalam bentuk BCD (0 sampai 9999), jika
tidak special relay 25503 (error flag) akan ON dan instruksi MUL tidak akan
dieksekusi.
Divide – DIV (33)
o Simbol pada ladder
Area data
Dd: Dividend Word (BCD)
MUL(32)
IR, SR, AR, DM, HR, TC, LR, #
Dr: Divisor Word (BCD)
Dd
Dr
IR, SR, AR, DM, HR, TC, LR, #
R : First Result Word (BCD)
R
IR, AR, DM, HR, LR
o DIV membagi data di Dd dengan data di Dr, dan meletakkan hasilnya di R dan R+1
(R dan R+1 harus berada di area data yang sama). R berisi hasil pembagian, sedangkan
R+1 berisi sisa bilangan yang tidak habis dibagi.
o Operasi yang terjadi pada instruksi DIV ialah sebagai berikut :
Sisa
Hasil
R+1
R
Dr
Dd
o Contoh ladder
00000
DIV(33)
010
DM 0100
HR 20
 Dari program di atas, ketika 00000 dinyalakan, data di IR 010 dibagi dengan
data di DM 0100. Hasilnya ditampilkan di HR 20 dan sisanya di HR 21.
 Dividend dan divisor harus dalam bentuk BCD (0 sampai 9999), jika tidak
special relay 25503 (error flag) akan ON dan instruksi DIV tidak akan
dieksekusi.

Logic Instructions
Logical And – ANDW (34)
o Simbol pada ladder
Area Data
I1 : Input 1
ANDW (34)
IR, SR, AR, DM, HR, TC, LR, #
I2 : Input 2
I1
I2
IR, SR, AR, DM, HR, TC, LR, #
R : Result Word
R
IR, AR, DM, HR, LR
o ANDW mengerjakan operasi logika AND antara masing – masing bit dalam I1 dan I2,
lalu hasilnya diletakkan di R.
o Operasi yang terjadi pada instruksi ANDW ialah sebagai berikut :
15
I1
1
00
0
0
1
1
0
0
1
1
0
0
1
1
0
0
15
I2
0
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
15
R
0
1
1
00
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
Logical Or – ORW (35)
o Simbol pada ladder
Area Data
I1 : Input 1
ORW (35)
I1
I2
R
IR, SR, AR, DM, HR, TC, LR, #
I2 : Input 2
IR, SR, AR, DM, HR, TC, LR, #
R : Result Word
IR, AR, DM, HR, LR
o ORW mengerjakan operasi logika OR antara masing – masing bit dalam I1 dan I2, lalu
hasilnya diletakkan di R.
Operasi yang terjadi pada instruksi ORW sama persis dengan yang terjadi pada operasi
ANDW, kecuali perbedaaan operasi logika saja.

Shift Instructions
Shift Register – SFT(10)
o Simbol pada ladder
I
Area Data
St : Starting word
SFT(10)
P
IR, SR, AR, HR, LR
E: End word
St
R
E
IR, SR, AR, HR, LR
I = Data Input
P = Pulse
R = Reset
o Operasi SFT dikendalikan oleh kondisi dari I, P, dan R. Jika SFT dieksekusi, inputan
pada P berupa pulsa, dan kondisi R off, maka status/kondisi I dimasukkan ke bit LSB
dari starting word. Lalu semua bit dalam register akan bergeser, dan bit MSB dari end
word (bit terakhir) akan hilang.
 Misal : jika I = ON, maka nilai 1 akan masuk ke dalam register. Sebaliknya,
jika I = OFF, maka nilai 0 akan masuk ke dalam register.
Starting word + 1
Starting word
Status I
00 01 02
15
00 01 02
End Word
15
00 01 02
15 Data hilang
Download