Anda di halaman 1dari 9

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

Least Significant Bit (LSB)


00000 1
00001 1 1 0 1 1  B (heksa)
00002 0
00003 1
00004 1
00005 0
1 0 0 1  9 (heksa)
00006 0
Channel 000
Bit 00 to 00007 1
Bit 15 8 7 9 B (heksa)
00008 1
00009 1 0 1 1 1  7 (heksa)
00010 1
00011 0
00012 0
00013 0
1 0 0 0  8 (heksa)
00014 0
00015 1 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

MOV (21) IR, SR, AR, DM, HR, TC, LR, #

S D: Destination Channel

D IR, AR, DM, HR, LR

o Diagram berikut menggambarkan operasi MOV

SOURCE INPUT DESTINATION OUTPUT


CH 000 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 Channel 200
Channel 000 Bit 00 to
Bit 00 to 00007 1 20007 1 Bit 15
Bit 15 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
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

CMP (20) Cp 1 : First Compare Word

Cp 1 IR, SR, AR, DM, HR, TC, LR, #


Cp 2 Cp 2 : Second compare word

IR, SR, AR, DM, HR, TC, LR, #

o Diagram berikut menggambarkan operasi CMP

# 0 1 F 0

0 0 0 0 0 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 CH 000
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 DATA

# 0 1 F 0

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)

ADD(30) IR, SR, AR, DM, HR, TC, LR, #


Ad : Addend word (BCD)
Au
Ad IR, SR, AR, DM, HR, TC, LR, #
R : Result word
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

SUB(31) Mi: Minuend Word (BCD)

Mi IR, SR, AR, DM, HR, TC, LR, #


Su Su : Subtrahend Word (BCD)

R IR, SR, AR, DM, HR, TC, LR, #


R : Result Word

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

MUL(32) Md: Multiplicand (BCD)

Md IR, SR, AR, DM, HR, TC, LR, #


Mr Mr: Multiplier (BCD)

R IR, SR, AR, DM, HR, TC, LR, #


R : First Result Word

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

MUL(32) Dd: Dividend Word (BCD)

Dd IR, SR, AR, DM, HR, TC, LR, #


Dr Dr: Divisor Word (BCD)

R IR, SR, AR, DM, HR, TC, LR, #


R : First Result Word (BCD)

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, #
I1
I2 : Input 2
I2
IR, SR, AR, DM, HR, TC, LR, #
R
R : Result Word

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 00
I1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

15 00
I2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

15 00
R 0 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)
IR, SR, AR, DM, HR, TC, LR, #
I1
I2 : Input 2
I2
IR, SR, AR, DM, HR, TC, LR, #
R
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 Area Data
I St : Starting word
SFT(10)
P IR, SR, AR, HR, LR
St
R E: End word
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 Starting word + 1 End Word

Status I 00 01 02 15 00 01 02 15 00 01 02 15 Data hilang

Anda mungkin juga menyukai