Integrasi nasional dalam bingkai bhinneka tunggal ika
Modul praktikum instruksi lanjut
1. 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
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.
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
CH 000
Channel 000
Bit 00 to
Bit 15 8 7 9 B (heksa)
1 0 1 1 B (heksa)
1 0 0 1 9 (heksa)
0 1 1 1 7 (heksa)
1 0 0 0 8 (heksa)
Least Significant Bit (LSB)
Most Significant Bit (MSB)
2. 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
o Diagram berikut menggambarkan operasi MOV
Dalam kasus di atas, data pada Input Channel 000 dipindah ke Output Channel 200.
MOV (21)
S
D
S: Source Channel
IR, SR, AR, DM, HR, TC, LR, #
D: Destination Channel
IR, AR, DM, HR, LR
00000
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
1
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
SOURCE INPUT
CH 000
DESTINATION OUTPUT
CH 200
Channel 000
Bit 00 to
Bit 15
Channel 200
Bit 00 to
Bit 15
Status Status
3. • 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
o Diagram berikut menggambarkan operasi CMP
Konstanta dibandingkan dengan Channel
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).
CMP (20)
Cp 1
Cp 2
Cp 1 : First Compare Word
IR, SR, AR, DM, HR, TC, LR, #
Cp 2 : Second compare word
IR, SR, AR, DM, HR, TC, LR, #
0 1 F 0#
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0
..15 ..14 ..13 ..12 ..11 ..10 ..09 ..08 ..07 ..06 ..05 ..04 ..03 ..02 ..01 ..00
DATA
DATA
CH 000
0 1 F 0#
4. • Calculation Instruction
Add – ADD (30)
o Simbol pada ladder Area data
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
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).
CLC (41)
ADD (30)
HR040
#1234
200
00000
ADD(30)
Au
Ad
R
Au : Augend word (BCD)
IR, SR, AR, DM, HR, TC, LR, #
Ad : Addend word (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R : Result word
IR, AR, DM, HR, LR
5. 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
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
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).
CLC (41)
SUB (31)
010
DM 0100
HR 20
00000
SUB(31)
Mi
Su
R
Mi: Minuend Word (BCD)
IR, SR, AR, DM, HR, TC, LR, #
Su : Subtrahend Word (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R : Result Word
IR, AR, DM, HR, LR
6. 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
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 :
o Contoh ladder
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.
MUL (32)
010
DM 0100
HR 20
00000
MUL(32)
Md
Mr
R
Md: Multiplicand (BCD)
IR, SR, AR, DM, HR, TC, LR, #
Mr: Multiplier (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R : First Result Word
IR, AR, DM, HR, LR
Md
Mr
R + 1 R
7. Divide – DIV (33)
o Simbol pada ladder Area data
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 :
o Contoh ladder
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.
DIV(33)
010
DM 0100
HR 20
00000
MUL(32)
Dd
Dr
R
Dd: Dividend Word (BCD)
IR, SR, AR, DM, HR, TC, LR, #
Dr: Divisor Word (BCD)
IR, SR, AR, DM, HR, TC, LR, #
R : First Result Word (BCD)
IR, AR, DM, HR, LR
R
Hasil
R + 1
Sisa
DdDr
8. • Logic Instructions
Logical And – ANDW (34)
o Simbol pada ladder Area Data
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 :
Logical Or – ORW (35)
o Simbol pada ladder Area Data
ANDW (34)
I1
I2
R
I1 : Input 1
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
1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
15 00
15 00
I1
I2
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
15 00
R
ORW (35)
I1
I2
R
I1 : Input 1
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
9. 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 Area Data
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.
SFT(10)
St
E
I
P
R
St : Starting word
IR, SR, AR, HR, LR
E: End word
IR, SR, AR, HR, LR
0 0 0 1 0 0 0 1 0 0 0 1
Starting word End WordStarting word + 1
Status I Data hilang
10. 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 Area Data
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.
SFT(10)
St
E
I
P
R
St : Starting word
IR, SR, AR, HR, LR
E: End word
IR, SR, AR, HR, LR
0 0 0 1 0 0 0 1 0 0 0 1
Starting word End WordStarting word + 1
Status I Data hilang