BAB IV BAHASA PROGRAM PLC Sebelum menyusun suatu program untuk pengoperasian PLC pada pengontrolan suatu system atau proses, harus mengetahui dan menghafal bahasa program PLC yang akan digunakannya. PLC tidak dapat digunakan apabila tidak dimasukkan instruksi – instruksi atau program. Perintah – perintah atau program yang telah dibuat oleh seorang programmer jika dimasukkan ke dalam PLC harus menggunakan bahasa program PLC itu sendiri. Dengan bahasa perantara ini seorang programmer dapat berkomunikasi langsung dengan PLC, serta dapat mengatur cara kerja dari PLC sesuai dengan yang diinginkan. Adapun bahasa program PLC disebut “ Relay Ladder Logic “ yang harus diketahui dan dihafal mulai dari :
1. MNEMONIC CODE ( kode mnemonic ) 2. LADDER DIAGRAM ( diagram tangga ) 3. FUNCTION PLAN ( kode gerbang ) 4. FUNCTION BLOCK (diagram tangga khusus) 5. FLOW SIGN ( aliran sinyal )
1. MNEMONIC CODE Mnemonic code ( kode mnemonic ) merupakan perintah dasar yang sederhana dan umum digunakan oleh PLC. Dalam penulisan mnemonic code mempunyai hubungan erat dengan ladder diagram yang dibuatnya. Apabila
memasukkan
program
ke
PLC
dengan
menggunakan
Programming Console, mnemonic code haruslah lebih dulu difahaminya. Apabila mnemonic code salah maka ladder diagram pun akan menjadi
TNA
18
salah,
begitu
juga
dengan
sebaliknya
sehingga
PLC
tidak
dapat
dioperasikan. Perintah Mnemonic code ini selalu digunakan apabila PLC tersebut menggunakan programming console. Adapun jenis perintah – perintah Mnemonic code di dalam pemprograman yang sederhana dan merupakan inti dasar dari suatu pemprograman control system adalah :
A. PERINTAH DASAR Perintah dasar ini adalah perintah yang paling utama dan sering digunakan dalam penulisan kode mneumonik serta selalu pasti ada di setiap pemprograman system control menggunakan PLC.
ADAPUN MACAM – MACAM PERINTAH DASAR adalah : 1. LOAD Perintah LOAD yang sering disingkat dengan LD adalah awalan dari garis logika atau block. Jika dalam rangkaian manual fungsinya sama dengan suatu bentuk input kontak NO ( Normally Open ) / saklar / sensor.
2. NOT Perintah NOT adalah perintah kebalikan ( inverts ) input atau yang berarti tidak atau yang bersifat tertutup. Jika dalam rangkaian manual fungsinya sama dengan suatu bentuk input kontak NC ( Normally Close ).
3. AND Perintah
AND
adalah
perintah
yang
digunakan
untuk
menghubungkan secara segaris yang berarti dan. Jika dalam rangkaian manual fungsinya merupakan hubungan kontak – kontak bantu secara seri dua atau lebih dari suatu input, baik yang berupa NO ataupun NC.
TNA
19
OR Perintah
OR
adalah
perintah
yang
digunakan
untuk
menghubungkan secara sejajar yang berarti atau. Jika dalam rangkaian manual fungsinya merupakan hubungan kontak – kontak bantu secara paralel dua atau lebih dari suatu input, baik yang berupa NO ataupun NC.
4. OUT Perintah OUT adalah perintah yang digunakan untuk batas dari suatu akhir perintah diagram satu garis atau yang merupakan bagian akhir dari satu perintah. Jika dalam rangkaian manual fungsinya merupakan hubungan akhir yang menuju ke koil kontaktor.
5. END ( 01 ) Perintah END ( 01 ) adalah perintah yang digunakan untuk menandai pemprograman telah selesai atau pengisian program sudah akhir. Jika akhir pengisian program tidak diberi perintah END ( 01 ), maka pemprograman dianggap belum selesai ( no end inst ) dan PLC tidak dapat dioperasikan. Contoh pemakaian perintah dasar
Gambar rangkaian
mnemonic code ALAMAT
S0
S1
K5
INSTRUKSI
DATA
KET
0000
LD NOT
0000
S0
0001
AND
0001
S1
0002
OR
0500
K5
0003
OUT
1010
K10
0004
END (01)
-
selesai
K10
TNA
20
B. PROGRAM SERI PARALLEL Untuk memprogram rangkaian seri dan parallel ada tekniknya agar memori yang dipakai lebih sedikit. Adapun pembacaan program harus dikelompokkan dulu dan dirangkai secara berurutan sesuai denga gambar rangkaian yang di buat.
S0
FL 1
2
S1
K1
3
FLa
A B
FGa 4
S0 C
FG 5
6
K1
TS D E
K1 RANGKAIAN KONTROL GAS
TNA
21
Dari gambar
itu
maka jika
dibuat
kode mneumonik , haruslah
dikelompokkan yang nantinya akan dapat diprogramkan ke dalam PLC. Pengelompokan dapat dilakukan berdasarkan urutan dari rangkaian gambar diatas yang kemudian dipilah – pilah terlebih dahulu dengan kelompok dan induk kelompok. Hal ini bertujuan agar lebih mudah dalam mengisikan program dan agar tidak terjadi “ error program ”.
ALAMAT
INSTRUKSI
DATA
KELOMPOK
0000
LD NOT
0000
1
0001
AND
0001
0002
LD
0002
0003
AND
0003
0004
OR LD
0005
OR
0004
3
0006
AND
0005
4
0007
AND NOT
0000
0008
LD
0006
0009
AND
0007
0010
OR
0004
0011
AND LD
0012
OUT
INDUK KELOMPOK
KET S0 S1
2
FL FLa
-
A
-
B
K1 FGa
C 5
S0 FG TS
6
1000
D
K1
E
koil K1
TNA
22
Coba buat kode mneumonik rangkaian manual di bawah ini !!! A.
B.
OL1
C.
95
OL1
OL1 96 1
K1
K1
K1
S2
K2
S02
K2
K1
K2
D.
E F0
95
96
21
95
S0
OL1 96
22
1
13
S1 14 13
44
K1M 14
K1
13
K1M 43 31
S2
1
K4M
K2T
14
2
21
21
K2 K3M
K4M
32
K3M
22
22
K1
K2 A1
a K1M
A2
TNA
K2T
t
A1 K3M
b
A1 K4M
A2
A2
23
C. PERINTAH LANJUTAN Perintah lanjutan adalah merupakan perintah yang digunakan pada program – program tertentu dan pemakaiannya menggunakan symbol dari jenis FUN ( … ). Perintah ini bersifat program tertentu, seperti : timer, pembanding, dan penghitungan.
BEBERAPA MACAM JENIS – JENIS PERINTAH LANJUTAN : 1. IL ( 02 ) dan ILC ( 03 ) Perintah IL ( 02 ) merupakan perintah INTERLOCK , dan ILC ( 03 ) merupakan perintah INTERLOCK CLEAR. Perintah IL (02) selalu diakhiri dengan perintah ILC (03). Jadi ILC (03) adalah tanda yang menyatakan akhir dari suatu bagian rangkaian yang ada diantara interlock. Contoh pemakaian perintah IL (02) dan ILC (03)
MnemonicCode ALAMAT
INSTRUKSI
DATA
0100
LD
0002
0101
IL (02)
0102
LD
0005
0103
AND
1000
0104
OUT
1005
0105
LD
0007
0106
OUT
0500
0107
LD NOT
1005
0108
OUT
1100
0109
ILC (03)
-
Dari hasil penulisan kode mneumonik, bila input 0002 dalam keadaan off, maka semua koil output yang berada diantara IL dan ILC pasti akan off. Jika kontak 0002 dalam keadaan on maka semua koil output
bekerja dalam
keadaan normal.
-
2. JMP ( 04 ) dan JME ( 05 ) Perintah JMP ( 04 ) adalah perintah meloncat , dan JME ( 05 ) adalah intruksi dari akhir perintah meloncat. Perintah JMP ( 04 ) selalu dipasangkan dengan perintah JME ( 05 ) yang berfungsi sebagai perintah meloncat ke program berikutnya apabila suatu keadaan input di JMP
TNA
24
tidak ada. Tapi jika keadaan input JMP ( 04 ) terpenuhi ( on ) maka program akan dijalankan yang ada diantara JMP ( 04 ) dan JME ( 05 ). Contoh pemakaian perintah JMP (04) dan JME (05)
MnemonicCode ALAMAT
INSTRUKSI
DATA
0100
LD
0002
0101
JMP ( 04 )
0102
-
Dari hasil penulisan kode mneumonik,
LD
0005
bila input 0002 dalam keadaan off,
0103
AND
1000
maka semua koil output yang berada
0104
OUT
1005
diantara JMP dan JME tidak dapat
0105
LD
0007
bekerja secara normal. Jika kontak 0002
0106
OUT
0500
dalam keadaan on maka semua koil
0107
LD NOT
1005
output bekerja dalam keadaan normal.
0108
OUT
1100
0109
JME ( 05 )
-
3. KEEP ( 11 ) Perintah KEEP ( 11 ) adalah perintah mengunci agar output relay tetap dalam keadaan on dari suatu output relay ( latching relay ) tanpa ada kontak penguncinya. Perintah ini cukup dengan memasukkan input Set ( S ) dan mematikannya dengan memberi sinyal input Reset ( R ) serta nomor koil yang akan kita KEEP. Contoh pemakaian perintah KEEP ( 11 )
MnemonicCode ALAMAT
Dari hasil penulisan kode mneumonik,
INSTRUKSI
DATA
0100
LD
0002
bila input 0002 dalam keadaan off,
0101
LD
0003
maka koil output 0501 dalam keadaan
0102
KEEP ( 11 )
0501
off juga. Jika input 0002 on maka secara otomatis
koil
0501
akan
on
dan
mengunci. Apabila di beri input 0003 on, maka koil 0501 akan off dengan sendirinya. Fungsi koil ini sering digunakan untuk penguncian yang sifatnya permanen dan system control yang jarang diubah – ubah lagi. TNA
25
Grafik 1. Alur Sinyal Perintah KEEP ( 11 ) Input 0002
ON OFF
ON
Koil 0501
OFF
ON
Input 0003
OFF
4. CNT dan CNTR ( 12 ) Perintah CNT atau CNTR adalah perintah menghitung pulsa yang masuk / counter. Bedanya CNT menghitung pulsa yang masuk secara maju atau sekali saja, tetapi untuk CNTR menghitung pulsa yang masuk secara maju dan mundur, yaitu setelah hitungan selesai CNTR dari nol sampai yang ditentukan langsung menghitung mundur sampai menjadi nol lagi. Contoh pemakaian perintah CNT dan CNTR ( 12 )
Mnemonic Code ALAMAT
Dari kode mnemonik dapat diartikan
INSTRUKSI
DATA
0100
LD
0002
bahwa jika input 0002 bekerja on-off
0101
LD
0003
sebanyak 5 kali, maka CNT001 akan
0102
CNT
001
menghitung sebanyak 5 kali sehingga
#0005
koil CNT001 kan on dan menggerakkan
0103
LD
0103
OUT
CNT001 0500
koil output 0500 menjadi on. CNT atau CNTR ini banyak digunakan sebagai sensor ataupun limit switch
yang sifatnya bekerja berdasarkan jumlah yang diinginkan untuk penghitungan. 5. TIM dan TIMH ( 15 ) Perintah TIM merupakan perintah sebagai waktu / timer. Sedangkan TIMH (15) juga merupakan perintah waktu / timer, bedanya waktu yang TNA
26
digunakan jika menggunakan TIM adalah selang waktu yang panjang mulai dari 0,1 detik sampai 999,9 detik. Tapi jika menggunakan TIMH selang waktunya 0,01 detik sampai 99,99 detik. Pengesetan waktu dan jumlah
timer
yang
dipakai
tergantung
dari
kebutuhan
dengan
memasukkan data timer mulai 000 sampai dengan 511 dan pengisian data panjang waktu yang diawali dengan tanda “ # “ atau dengan penulisan langsung # 0060 ( berarti ± 3 detik ). Contoh pemakaian perintah TIM dan TIMH ( 15 )
Mnemonic Code ALAMAT
Dari program ini bila input 0002 on,
INSTRUKSI
DATA
0100
LD
0002
maka
0101
TIM
001
menghitung #0060 ( ± 3 detik ). Setelah
#0060
TIM001 berjalan ± 3 detik maka koil
TIM001
output
0102
LD
0103
OUT
0500
TIM001
0500
akan
on.
on
Jika
dan
input
mulai
0002
dimatikan saat TIM001 melaksanakan perhitungan maka TIM001 akan kembali
ke setting awal. Rangkaian TIM digunakan untuk ON DELAY atau OFF DELAY. Keadaan yang sama juga terjadi pada TIMH. Grafik 3. Alur Waktu Perintah TIM atau TIMH ( 15 ) ON
Input 0002
OFF
ON
Koil 0500
OFF TIM001 #0060
6.
DIFU ( 13 ) dan DIFD ( 14 )
7.
SFT ( 10 )
8.
MOV ( 21 )
9.
CMP ( 20 )
10. Dll
TNA
27
2. LADDER DIAGRAM Ladder Diagram atau yang sering disebut dengan diagram tangga pada PLC adalah mempunyai fungsi yang sama dengan gambar rangkaian kontrol pada system konvensional , yaitu sebagai perangkai peralatan control yang satu dengan yang lain. Pemakaian diagram tangga ini
selalu
digunakan
pada
penginputan
program
pada
PLC
jika
menggunakan PC ( Personnal Computer ). Tetapi jika pengoperasian PLC tidak menggunakan Computer, yang hanya menggunakan Programming Console diagram tangga ini tidak mutlak untuk diketahui. Menggambar Ladder Digram dalam PLC selalu diawali dengan garis vertikal yang mulai dari sebelah kiri dan sering juga diakhiri garis vertikal yang berada disebelah kanan. Pada umumnya garis vertikan yang berada pada sebelah kanan sering juga tidak digambar. Dalam menggunakan program PLC rangkaian pengendali ( control ) tersebut digambarkan pada diagram tangga dengan simbol – simbol sebagai berikut : A.
SIMBOL pada PLC “ OMRON “
Simbol PLC
: Bas bar ( bas bar awal dan bas bar akhir )
Simbol manual
: Awal / akhir dari rangkaian. Dari Line menuju ke rangkaian. Dari rangkaian menuju netral.
Simbol PLC
: Input / Kontak NO
Simbol manual
: Relay / kontaktor Kontak NO ( Normally Open ) Saklar / sensor / MCB / limits switch, dll.
TNA
28
Simbol PLC
: Input / Kontak NC
Simbol manual
: Relay / kontaktor Kontak NC ( Normally Closed ) Saklar / sensor / MCB / limits switch,dll
OUT Simbol PLC
: Output
Simbol manual
: Koil Kontaktor Relay ( A1 )
FUN... Simbol PLC
: Fungsi ( FUN … )
Simbol manual
: Relay pembantu Waktu / pembanding / penghitung.
END
Simbol PLC
: Akhir program ( FUN [ 01] )
Simbol manual
:-
TNA
29
B.
ATURAN LADDER DIAGRAM Dalam menggambar ladder diagram PLC juga mengikuti aturan – aturan yang ada dalam prosessor tersebut. Aturan ini bertujuan agar program yang diisikan dapat beroperasi sesuai dengan perintah sehingga tidak terjadi “ error program ” atau yang biasa disebut dengan “ invalid program “.
Aturan – aturan program : 1. Awal gambar selalu diawali dengan bas bar kiri dan arah gambar adalah dari kiri ke kanan atau dari bas bar ke output.
a. Benar
b. Salah
Gambar 8 . Rangkaian Antar bus bar.
2. Bas bar sebelah kanan boleh tidak digambar.
a. Benar
b.Boleh
Gambar 9 . Rangkaian dengan Bus Bar
TNA
30
3. Awal pemasangan kontak parallel diawali dari bus bar. a
b
c
a
d
b
c
d
a. Benar
b. Salah
Gambar 10 . Pemasangan Kontak. 4. Setelah output tidak boleh ada kontak lagi.
a
b
c
d
e
a
b
c
d
e a. Benar
b. Salah
Gambar 11. Sisipan Kontak 5. Output tidak boleh dipasang langsung pada Bus bar.
a. Benar
b.Salah
Gambar 12 . Rangkaian Output. 6. Timer, Counter, Output lain hanya dapat dihubungkan parallel.
FUN (…)
Gambar 13 . Hubungan Output Parallel. TNA
31
3. FLOW SIGN Aliran sinyal atau flow sign merupakan jalannya arus yang mengalir pada rangkaian yang digambar atau diprogram dalam PLC tersebut. Aliran sinyal ini berjalan mulai dari bus bar sebelah kanan dimana alamat – alamat dituliskan. Arah aliran data input dari bus bar menuju ke output dari gambar rangkaian program yang diisikan.
Gambar 14 . Aliran Sinyal Data. Program dieksekusi mulai dari alamat terkecil sampai alamat terbesar atau sampai menemukan perintah END dalam satu program dan kembali membaca lagi dari alamat terkecil sampai alamat terbesar di program selanjutnya. ALAMAT INSTRUKSI DATA 0000
LD
0005
0001
AND
0003
0002
OR
1000
……
…….
……
……
…….
……
0358
END ( 01 )
-
Gambar 15. Pembacaan Program
TNA
32
LATIHAN 1. Pintu otomatis
Diskripsi kerja : 1. Pintu dalam keadaan menutup dan menekan limits switch tengah. Pada saat itu limits switch dapat dalam keadaan ON maupun OFF. 2. Saat ada orang yang mau lewat pintu tersebut akan menginjak saklar injak ON pada lantai, maka pintu langsung membuka. 3. Pintu membuka sampai menyentuh limits switch samping, maka pintu akan berhenti. 4. Setelah beberapa saat pintu secara otomatis menutup kembali sampai menyentuh limits switch tengah. 5. Jika banyak orang yang lewat sehingga saklar injak sering tertekan maka pintu membuka terus. 6. Meskipun pintu masih dalam keadaan berjalan menutup , jika ada orang yang akan lewat maka pintu membuka kembali.
TNA
33
2.Penggilingan Batu Aspal
Diskripsi Kerja : 1. Saat pertama jalan konveyor miring akan bekerja. 2. Bersamaan juga motor penggetar tangki atas bekerja ( ON ), saat batu batu mulai diisikan di tangki atas. 3. Batu yang berasal dari tangki atas tersebut akan dibawah oleh konveyor miring ke tangki bawah . 4. Tangki bawah akan terisi penuh sampai menyentuh limits switch atas sehingga motor penghancur batu akan bekerja ( ON ). 5. Ketika motor penghancur bekerja ( ON ) konveyor bawah juga bekerja untuk mengisikan ke mobil tangki. 6. Jika batu yang dihancurhan habis hingga mengenai limits switch bawah maka motor penghacur berhenti dan konveyor bawah beberapa saat juga akan berhenti. 7. Proses ini akan terus berjalan berulang - ulang sampai proses dimatikan.
TNA
34