22 Program
22 Program
Tujuan Pembelajaran :
1. Merancang program kendali PLC sederhana
2. Memasukkan program ke dalam PLC
3. Mengecek kebenaran program
Uraian Materi
A. Unsur-Unsur Program
B. Bahasa Pemrograman
Program PLC dapat dibuat dengan menggunakan beberapa
cara yang disebut bahasa pemrograman. Bentuk program berbeda-
beda sesuai dengan bahasa pemrograman yang digunakan. Bahasa
pemrograman tersebut antara lain : diagram ladder, kode
mneumonik, diagram blok fungsi, dan teks terstruktur. Beberapa
merk PLC hanya mengembangkan program diagram ladder dan
kode mneumonik.
21
1. Diagram Ladder
10.01 TIM0
#50
10.01 10.00
10.00
END(01)
2. Kode Mneumonik
Kode mneumonik memberikan informasi yang sama
persis seperti halnya diagram ladder. Sesungguhnya, program
yang disimpah di dalam memori PLC dalam bentuk
mneumonik, bahkan meskipun program dibuat dalam bentuk
diagram ladder. Oleh karena itu, memahami kode mneumonik
itu sangat penting. Berikut ini contoh program mneumonik :
22
Alamat Instruksi Operand
00000 LD HR 01
00001 AND 0.01
00002 OR 0.02
00003 LD NOT 0.03
00004 OR 0.04
00005 AND LD
00006 MOV(21)
0.00
DM 00
00007 CMP(20)
DM 00
HR 00
23
AR AR 00 s.d AR 23 AR 00.00 s.d AR
23.15
LR LR 00 s.d LR 15 LR 00.00 s.d LR 15.15
TIM/ CNT TC 000 s.d TC 255
D. Instruksi Pemrograman
Terdapat banyak instruksi untuk memprogram PLC, tetapi
tidak semua instruksi dapat digunakan pada semua model PLC.
Instruksi pemrograman dapat dikelompokkan sebagai berikut :
Klasifikasi menurut pengkodean mneumonik :
Instruksi dasar
Instruksi khusus
24
Instruksi LOAD dan LOAD NOT
Jika dua atau lebih kontak disambung seri pada garis yang
sama, kontak pertama berkait dengan instruksi LOAD atau
LOAD NOT dan sisanya adalah instruksi AND atau AND NOT.
Contah di bawah ini menunjukkan tiga kontak yang masing-
masing menunjukkan instruksi LOAD, AND NOT, dan AND.
25
Jika dua atau lebih kontak terletak pada dua instruksi
terpisah dan disambung paralel, kontak pertama mewakili
instruksi LOAD atau LOAD NOT dan sisanya mewakili instruksi
OR atau OR NOT. Contoh berikut menunjukkan tiga kontak
yang masing-masing mewakili instruksi LOAD, OR NOT, dan
OR.
Diagram Ladder Mneumonik
0.00 Alamat I nstruksi Operand
I nstruksi 00000 LD 0.00
0.01 00001 OR NOT 0.01
00002 OR TI M 000
T I M 000 00003 I nstruksi
26
Di sini AND terletak di antara statur IR 0.00 dan
status IR 0.01 untuk menentukan kondisi eksekusi dengan
meng-OR-kan status IR 0.02. Hasil operasi ini menentukan
kondisi eksekusi dengan meng-AND-kan status IR 0.03
yang selanjutnya menentukan kondisi eksekusi dengan
meng-AND-kan kebalikan status IR 0.04.
27
2. Instruksi OUT dan OUT NOT
1 0 .0 0 1 0 ,0 0 A la m a t In s t r u k s i O p e r a n d
00000 LD 0 ,0 0
1 0 .0 0 1 0 ,0 1 00001 O UT 1 0 ,0 0
00002 LD 0 ,0 1
0 0 0 0 3 O U T N O T 1 0 ,0 1
3. Instruksi END(01)
28
Instruksi END tidak memerlukan operand dan tidak boleh
ada kontak ditempatkan pada garis instruksi yang sama. Jika
dalam program tidak ada instruksi END, program tersebut
tidak akan dieksekusi.
D ia g ra m L a d d e r M n e u m o n ik
0 .0 0 0 .0 1 A la m a t In s tru k s iO p e ra n d
Ins tru k s i 0 0 0 0 0L D 0 .0 0
0 0 0 0 1A N D N O T0 .0 1
E N D (0 1 ) 0 0 0 0 2In s truk s i
0 0 0 0 3E N D (0 1 )
29
Diagram Ladder Mneum onik
0.00 0,02 Alamat Instruksi Operand
Instruksi 00000 LD 0.00
0,01 0,03 00001 OR 0.01
00002 LD NOT 0.02
00003 OR 0.03
00004 AND LD
00005 I nstruksi
Instruksi OR LOAD
30
D iagram Ladder Mneum onik
0.00 Alamat In stru ksi O p e ran d
Ins truks i 00000 LD 0.00
0.01 00001 O R NO T 0.01
Ins truks i 00002 O R 0.02
0.02 0.03 00003 Ins truks i 1
Ins truks i 00004 Ins truks i 2
00005 AND
00006 I nstruksi 3
5. Penggunaan Bit TR
31
0 ,0 0 0 ,0 1 1 0 ,0 0 A la m a Itn s t r u k Os ip e r a n d
0 0 0 0 0L D N O T 0 ,0 0
0 .0 2 1 0 ,0 1 0 0 0 0 1O U T TR 0
0 0 0 0 2A N D 0 .0 1
0 0 0 0 3O U T 1 0 .0 0
0 0 0 0 4L D N O T T R 0
0 0 0 0 5A N D 0 .0 2
0 0 0 0 6O U T 1 0 .0 1
32
Bit kerja tidak ditransfer dari atau ke dalam PLC. Semua
bit pada daerah IR yang tidak dialokasikan sebagai bit
input/output dan bit pada daerah AR (Auxilary Relay) dapa
digunakan sebagai bit kerja. Bit input/output dan bit yang
dialokasikan untuk keperluan tertentu tidak dapat digunakan
sebagai bit kerja.
33
instruksi, yaitu baris pertama untuk nomor timer dan yug
kedua untuk settig waktu (SV = Set Value). Meskipun
demikian, instruksi Timer terletak dalam satu alamat.
Nomor Timer dipakai bersama untuk nomor Counter.
Nomor Timer/ Counter hanya boleh digunakan sekali.
Maksudnya, sekali nomor Timer/ Counter telah digunakan, ia
tidak boleh digunakan untuk instruksi Timer/ Counter yang
lain. Tetapi, nomor timer sebagai operand suatu kontak dapat
digunakan sebanyak yang diperlukan.
Banyaknya nomor Timer/ Counter bergantung kepada tipe
PLC. Misalnya, PLC OMRON CPM1A, terdapat 128 nomor, yaitu
dari 000 sampai dengan 127. tidak diperlukan awalan apapun
untuk menyatakan nomor timer. Tetapi, jika nomor timer
sebagai operand suatu kontak harus diberi awalan TIM.
SV dapat berupa konstanta atau alamat channel/ words.
Jika channel daerah IR sebagai unit input dimasukkan sebagai
alamat channel, unit input ini harus disambung sedemikian
sehingga SV dapat diset dari luar. Timer/ Counter yang
disambung dengan cara ini hanya dapat diset dari luar dalam
mode MONITOR atau RUN. Semua SV, termasuk yang diset
dari luar harus dalam BCD (Binary Coded Decimal), yaitu
bilangan desimal yang dikode biner. Penulisan SV harus
diawali dengan tanda #.
Diagram Waktu
on
kondisi eksekusi
off
SV SV
34
tanda yang menunjukkan hitungan waktu telah berakhir, tetap
on hingga Timer direset. Timer akan reset jika trletak pada
bagian program interlock saat kondisi eksekusi instruksi
interlock (IL) off, dan saat terjadi pemutusan daya. Jika
dikehendaki timer tidak reset oleh dua keadaan tersebut,
maka bit pulsa clock pada daerah SR untuk mencacah Counter
yang menghasilkan Timer menggunakan instruksi Counter.
SV mempunyai harga antara 0000 sampai dengan 9999
(BCD) dalam satuan deci-detik. Jadi, misalnya menghendaki 10
detik, maka nilai SV harus 100. Jika SV dinyatakan tidak dalam
BCD, akan muncul pesan kesalahan.
Di bawah ini diberikan program-program penerapan timer.
a. Tunda on (1)
b. Tunda on (2)
35
0.00 200.00 Alamat I nstruksi Operand
00000 LD 0.00
200.00 00001 OR 200.00
TIM
000 00002 OUT 200.00
#050 00003 TI M 000
#050
TI M000 10.00 00004 LD TIM 000
00005 OUT 10.00
36
c. Tiap garis instruksi harus memiliki sedikitnya satu
kondisi yang menentukan eksekusi instruksi sisi kanan,
kecuali untuk instruksi END(01), ILC(03) dan JME(05).
d. Dalam merancang diagram ladder harus
memperhatikan kemungkinan instruksi yang diperlukan untuk
memasukannya. Misalnya, pada gambar A di bawah ini
diperlukan instruksi OR LOAD. Hal ini dapat dihindari dengan
menggambar ulang diagram ladder seperti gambar B.
F. Eksekusi program
Saat eksekusi program, PLC men-scan program dari atas ke
bawah, mengecek semua kondisi, dan mengeksekusi semua
instruksi. Instruksi harus ditempatkan dengan tepat, misalnya data
yang dikehendaki dipindahkan ke words sebelum words tersebut
digunakan sebagai operand instruksi. Ingat bahwa garis instruksi
berakhir pd instruksi terminal sisi kanan, setelah itu baru
mengeksekusi garis instruksi bercabang ke instruksi terminal yang
lain.
Eksekusi program semata-mata merupakan salah satu tugas
yang dilakukan oleh PLC sebagai bagian dari waktu siklus.
37
kalimat logika, gambar-gambar, diagram waktu, atau bagan
alir (flow chart).
b. Menetapkan bit operand untuk peralatan input/ output.
Bit operand untuk peralatan input/ output mengacu pada
daerah memori PLC yang digunakan. Bit operand dapat dipilih
secara bebas sejauh berada pada jangkah daerah memori
yang dalokasikan. Tetapi, penggunaan secara bebas sering
menjadikan ketidak-konsistenan sehingga menjadikan
program kendali keliru. Oleh sebab itulah penggunaan bit
operand harus ditetapkan sebelum program dibuat.
Inventarisir semua peralatan input dan output yang akan
disambung ke PLC, kemudian tetapkan bit operandnya.
Jumlah bit oprand yang tersedia bergantung kepada tipe
PLC yang dispesifikasikan menurut jumlah input-outputnya.
Perbandingan jumlah bit input dan output pada umumnya 3 :
2. Misalnya PLC dengan I/O 10 memiliki bit input sejumlah 6
dan bit output 4. Di bawah ini diberikan contoh daerah memori
PLC OMRON CPM1A-10CDRA.
38
Operasi motor dua arah putaran
Operasi motor dua kecepatan
Operasi motor start bintang segitiga
Operasi beberapa motor kendali kerja berurutan
Alat Bit
No input/outpu operan Fungsi
t d
1 Tombol 0.00 Menghentikan operasi
Stop motor
2 Tombol 0.01 Menjalankan motor
Start
3 Kontaktor2) 10.00 Menghubungkan motor ke
jaringan
Keterangan :
1) Kecuali untuk operasi yang sangat khusus,
secara umum operasi menjalankan motor adalah
dengan menekan tombol Start dan jika kemudian
tombol ini dilepas motor akan tetap berputar. Maka,
selanjutnya untuk menjalankan motor cukup
disebutkan dengan menekan tombol Start saja.
2) Motor berdaya kecil dapat disambung langsung
ke PLC. Tetapi, untuk motor berdaya cukup dengan
arus nominal diatas kemampuan PLC harus
menggunakan kontaktor sebagai penghubung motor
ke jaringan.
39
c. Program Kendali PLC
Diagram Ladder Mneumonik
0.01 0.00 10.00 Alamat Instruksi Operand
00000 LD 0.01
10.00 00001 OR 10.00
00002 AND NOT 0.00
END(01) 00003 END(01)
40
Diagram Ladder Mneumonik
0,00 0,01 10,01 10,00 Alamat I nstruksi Operand
00000 LD NOT 0,00
10,00 00001 OUT TR0
00002 LD 0,01
0,02 10,00 10,01 00003 OR 10,00
00004 AND LD
10,01 00005 AND NOT 10,01
00006 OUT 10
00007 LD TR0
END(01) 00008 LD 0,02
00009 OR 10,01
00010 AND LD
00011 AND NOT 10,00
00012 OUT 10,01
00013 END(01)
41
5 Kontaktor 10.01 Kontaktor kecepatan tinggi
K2
6 Kontaktor 10.00 Kontaktor kecepatan tinggi
K3
42
3 Kontaktor 10.00 Kontaktor utama
K1
4 Kontaktor 10.01 Kontaktor bintang
K2
5 Kontaktor 10.02 Kontaktor segitiga
K3
43
c. Program Kendali PLC
Diagram Ladder Mneumonik
0.00 0.01 10.02T I M000 10.01 Alamat I nstruksiOperand
00000 LD NOT 0.00
10.01 TIM 00001 OUT T R0
000 00002 LD 0.01
#050
00003 OR 10.01
10.01 10.00 00004 A ND LD
00005 A ND NOT 10.02
10.00 00006 A ND NOT T I M000
00007 #050
10.00 10.01 10.02 00008 OUT 10.01
00009 LD T R0
00010 LD 10.01
E ND(01) 00011 OR 10.00
00012 A ND LD
00013 OUT 10.00
00014 LD T R0
00015 A ND 10.00
00016 A ND NOT 10.01
00017 OUT 10.02
00018 END(01)
Rangkuman
44
3. Untuk dapat membuat program kendali PLC, pemrogram harus
memahami struktur daerah memori PLC yang akan digunakan.
Daerah memori PLC berbeda-beda sesuai dengan tipe PLC.
4. Memahami instruksi pemrograman memegang peranan paling
penting dalam pembuatan program kendali. Terdeapat
banyak sekali instruksi pemrograman, tetapi tidak semua
instruksi dapat duterapkan pada semua tipe PLC.
5. Setiap program selalu diawali dengan instruksi LOAD dan
diakhiri dengan instruksi END. Tanpa instruksi END program
tidak dapat dieksekusi.
6. Program dieksekusi dengan menscan mulai dari alamat
terendah hingga ke alamat tertinggi yaitu instruksi END. Pada
diagram ladder ini berarti program dikesekusi mulai dari atas
ke bawah bila garis instruksi bercabang, dan kemudian ke
kanan hingga mengeksekusi instruksi sisi kanan.
7. Pembuatan program PLC harus dilakukan secara sistematis,
yaitu mendeskripsikan sistem kendali, menetapkan operand
untuk alat input/ output, baru membuat program.
8. Banyak sekali variasi program kendali motor sebagai
penggerak mesin. Tetapi, untuk operasi motor induksi, suatu
motor yang paling banyak digunakan sebagai penggerak
mesin, secara prinsip hanya ada beberapa operasi motor yaitu
operasi motor satu arah putaran, operasi dua arah putaran,
operasi dua kecepatan, operasi dengan start bintang segitiga,
operasi berurutan dan operasi bergantian.
Tes Formatif 2
45
13. Mengapa bit operand untuk perlatan I/O harus ditetapkan
terlebih dahulu sebelum membuat diagram ladder ?
14. Konversikan program diagram ladder berikut ini menjadi
program mneumonik !
0 .0 0 0 .0 1 1 0 .0 0 Ala m a t In s tr u k s i O p e ra n d
00000
0 .0 2 1 0 .0 1 00001
00002
00003
00004
00005
00006
46
1. Sederatan instruksi yang disusun secara berurutan.
2. Program diagram ladder dan program mneumonik
3. Alamat, instruksi, dan operand.
4. Instruksi yang mengkondisikan instruksi lain di sisi kanan.
5. LOAD, LOAD NOT, AND, AND NOT, OR, OR NOT
6. Bila program tidak dapat diwujudkan hanya oleh instruksi
diagram ladder.
7. Bila garis instruksi bercabang.
8. Timer
9. Setelan waktu untuk Timer.
10. Untuk memasukkan instruksi yang tidak tersedia tombolnya
pada Konsol Pemrogram.
11. END(01), IL(02), ILC(03), JMP(04), JME(05)
12. END(01)
13. Agar operand untuk peralatan I/O konsisten.
14.
Alamat Instruksi Operand Alamat Instruksi Operand
00000 LD NOT 0.00 00000 LD NOT 0.00
00001 LD 0.01 00001 OUT TR 0
00002 OR 0.02 00002 AND 0.01
00003 AND LD 00003 OUT 10.00
00004 OUT 10.00 00004 LD TR 0
00005 AND 0.02
00006 OUT 10.01
15.
0,00 0,01 10.01 10,00 0,00 0,01 10.00 10.01
47