TEKNIK PEMROGRAMAN PLC
a. Tujuan Pembelajaran: 1. Merancang program kendali PLC sederhana 2. Memasukkan program ke dalam PLC 3. Mengecek kebenaran program
b. Uraian Materi 1. Unsur-Unsur Program Program kendali PLC terdiri atas tiga unsur yaitu: alamat, instruksi, dan operand. Alamat adalah nomor yang menunjukkan lokasi, instruksi, atau data dalam daerah memori. Instruksi harus disusun secara berurutan dan menempatkannya dalam alamat yang tepat sehingga seluruh instruksi dilaksanakan mulai dari alamat terendah hingga alamat tertinggi dalam program. Instruksi adalah perintah yang harus dilaksanakan PLC. PLC hanya dapat melaksanakan instruksi yang ditulis menggunakan ejaan yang sesuai. Oleh karena itu, pembuat program harus memperhatikan tata cara penulisan instruksi. Operand adalah nilai berupa angka yang ditetapkan sebagai data yang digunakan untuk suatu instruksi. Operand dapat dimasukkan sebagai konstanta yang menyatakan nilai angka nyata atau merupakan alamat data dalam memori.
33
2. 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.
1. Diagram Ladder Diagram ladder terdiri atas sebuah garis vertikal di sebelah kiri yang disebut bus bar, dengan garis bercabang ke kanan yang disebut rung. Sepanjang garis instruksi, ditempatkan kontak-kontak yang mengendalikan/mengkondisikan instruksi lain di sebelah kanan.
Kombinasi logika kontak-kontak ini menentukan kapan dan bagaimana instruksi di sebelah kanan dieksekusi. Contoh diagram ladder
ditunjukkan pada gambar di bawah ini.
0.00 0.01 10.01 TIM0 10.01
TIM0 #50
10.01 10.00
10.00
10.00 10.00
10.01 10.02
10.02 10.03
END(01)
Gambar 9. Contoh Diagram Ladder
34
Terlihat dari gambar di atas bahwa garis instruksi dapat bercabang kemudian menyatu kembali. Sepasang garus vertikal disebut kontak (kondisi). Ada dua kontak, yaitu kontak NO (Normally
Open) yang digambar tanpa garis diagonal dan kontak NC (Normally Closed) yang digambar dengan garis diagonal. Angka di atas kontak
menunjukkan bit operand.
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:
Alamat 00000 00001 00002 00003 00004 00005 00006
Instruksi LD AND OR LD NOT OR AND LD MOV(21)
Operand HR 01 0.01 0.02 0.03 0.04
0.00 DM 00 00007 CMP(20) DM 00 HR 00 Tabel 11. Contoh Program Mnemonic
35
3. Struktur Daerah Memori Program pada dasarnya adalah pemrosesan data dengan berbagai instruksi pemrograman. Data disimpan dalam daerah memori PLC. Pemahaman daerah data, disamping pemahaman terhadap berbagai jenis instruksi merupakan hal yang sangat penting, karena dari segi inilah
intisari pemahaman terhadap program. Data yang merupakan operand suatu instruksi dialokasikan sesuai dengan jenis datanya. Tabel di bawah ini ditunjukkan daerah memori PLC CPM2A sebagai berikut:
Daerah Data IR Daerah input Daerah output Daerah kerja
Channel/Words IR 000 s.d IR 009 IR 010 s.d IR 019 IR 020 s.d IR 049 IR 200 s.d IR 227
Bit IR 000.00 s.d IR 009.15 IR 010.00 s.d IR 019.15 IR 020.00 s.d IR 049.15 IR 200.00 s.d IR 227.15 SR 228.00 s.d SR 255.15 TR 0 s.d TR 7 HR 00.00 s.d HR 19.15 AR 00.00 s.d AR 23.15 LR 00.00 s.d LR 15.15
SR TR HR AR LR TIM/ CNT
SR 228 s.d SR 255 --HR 00 s.d HR 19 AR 00 s.d AR 23 LR 00 s.d LR 15
TC 000 s.d TC 255
Tabel 12. Memory PLC
4.
Instruksi Pemrograman Terdapat banyak instruksi untuk memrogram PLC, tetapi tidak semua instruksi dapat digunakan pada semua model PLC. Instruksi pemrograman dapat dikelompokkan sebagai berikut:
36
Klasifikasi menurut pengkodean mneumonik: Instruksi dasar Instruksi khusus
Klasifikasi menurut kelompok fungsi: Instruksi sisi kiri (ladder) Instruksi sisi kanan
Klasifikasi menurut kelompok fungsi: Instruksi ladder Instruksi kendali bit Instruksi timer/counter Instruksi geser bit Instruksi sub routine Instruksi ekspansi Pada dasarnya, tingkat pemahaman pemakai PLC ditentukan oleh seberapa banyak instruksi yang telah dipahaminya. Oleh karena itu, untuk pemula berikut ini hanya dijelaskan beberapa instruksi saja. Untuk pendalaman lebih lanjut dapat mempelajari diterbitkan oleh pemilik merk PLC. manual pemrograman yang
1. Instruksi Diagram Ladder Instruksi diagram ladder adalah instruksi sisi kiri yang
mengkondisikan instruksi lain di sisi kanan. Pada program diagram ladder instruksi ini disimbolkan dengan kontak-kontak seperti pada rangkaian kendali elektromagnet. Instruksi diagram ladder terdiri atas enam instruksi ladder dan dua instruksi blok logika. Instruksi blok logika adalah instruksi yang digunakan untuk menghubungkan bagian yang lebih kompleks.
37
Instruksi LOD dimulai dengan barisan logic yang dapat diteruskan menjadi ladder diagram rung. Instruksi LOD digunakan setiap kali rung baru dimulai. Diagram Ladder ( relay circuit )
List Program
Address 0 1 Key Operation
Instruction Word LOD -
Data 0 -
2. Instruksi AND
Instruksi AND digunakan untuk membuat program kontak sirkuit seri Instruksi AND dimasukan sebelum set yang kedua yang berhubungan dan selanjutnya Dapat dilanjuti dengan instruksi NOT untuk contact normally closed
Gerbang Logic AND
1 2 Q 38
Tabel Kebenaran gerbang AND
INPUT 1 OFF ON OFF ON
INPUT 2 OFF OFF ON ON
INPUT 3 OFF OFF OFF ON
Diagram Ladder (relay circuit)
List Program
Address 0 1
Instruction Word LOD AND
Data 0 1
Key Operation
39
3. Instruksi OR
- Instruksi OR digunakan untuk memprogram parallel contact circuit - Instruksi OR dimasukan sebelum set kedua dan selanjutnya - Instruksi ini dapat diikuti oleh instruksi NOT pada contact normaly closed
Gerbang Logic OR
1 2 Q
Tabel Kebenaran gerbang OR
INPUT 1 OFF ON OFF ON
INPUT 2 OFF OFF ON ON
INPUT 3 OFF ON ON ON
Diagram Ladder (relay circuit)
40
List Program
Address 0 1
Instruction Word LOD OR
Data 0 1
Key Operation
4. Instruksi AND LOD
Instruksi AND LOD digunakan untuk menyambung dua atau lebih circuit seri yang dimulai dengan LOD instruction.
Instruksi AND LOD sama dengan NODE pada ladder program. Instruksi AND LOD dimasukan setelah memasukkan circuit-circuit yang akan disambung.
Gerbang Logic AND LOD
1 2 3
AND LOD
41
Diagram Ladder (relay circuit)
AND LOD
List Program
Address 0 1 2 3
Instruction Word LOD LOD OR AND LOD
Data 1 2 3
Key Operation
42
5. Instruksi OR LOD
Instruksi OR LOD digunakan untuk menyambung dua atau lebih circuit parallel yang dimulai dengan LOD instruction
Instruksi OR LOD sama dengan NODE pada ladder diagram Instruksi OR LOD dimasukan setelah memasukkan circuit yang akan disambung
Gerbang Logic OR LOD
2 Q0 3 4
Diagram Ladder (relay circuit)
OR LOD
43
List Program
Address 0 1 2 3 4
Instruction Word LOD AND LOD AND OR LOD
Data 1 2 3 4
Key Operation
6. Instruksi NOT
Instruksi NOT digunakan sebelum memasukan input address untuk menyatakan kontak yang normaly closed
Instruksi NOT membuat pembacaan input menjadi kebalikannya Instruksi ini dapat dimasukan setelah memasukkan instruksi LOD, AND, OR
44
Gerbang Logic NOT 1 Q
Tabel Kebenaran gerbang NOT
INPUT OFF ON
OUTPUT ON OFF
Diagram Ladder (relay circuit)
List Program Address 0 1 Instruction Word LOD NOT Data 0 -
Key Operation
7. Instruksi SET & RST
Instruksi SET &RST digunakan untuk mengaktifkan atau mereset output dan internal relay
Hanya memerlukan satu address
45
Output yang sama dapat di set dan reset berkali-kali dalam satu program
Beroperasi pada setiap scan waktu input ON
Diagram Ladder (relay circuit)
1
00
SET
2 00
RST
List Program Address 0 1 2 3 Key Operation Instruction Word LOD SET LOD SET Data 1 00 2 00
46
Timing Chart SET & RST Insruction
SET 1
RST 2
OUTPUT 00
8. Instruksi TIM (TIMER)
100-msec, Time down timer Selalu diperlukan dua address Instruksi timer dimasukkan pada address pertama yang diikuti oleh nomer timer
Nilai preset dimasukan pada address kedua, preset timer antara 0 sampai 9999
Nomer timer, T 0 sampai T 79 Timer Number TIM 5
50 Preset Value
47
Diagram Ladder (relay circuit)
1
TIM 5 50 00
List Program
Address 0 1 2 3
Instruction Word LOD TIM
Data 1 5 50
OUT
00
Key Operation
TIMING CHART:
DIAGRAM LADDER
TIM 5 50
48
TIMING CHART
ON OFF
5 SEC
ON OFF
T5
Persyaratan Instruksi Timer: - Time down dari nilai yang telah ditentukan akan dimulai setelah timer input aktif. - Output dari timer akan menyala jika nilai angka mencapai nol. - Nilai waktu kembali ke setting awal jika timer input mati. - Nomor timer yang sama tidak dapat di program lebih dari sekali, jika dicoba maka akan ERROR MESSAGE. - Nilai preset timer dapat diubah tanpa harus mentransfer seluruh program ke memory pack lagi. Jika nilai timer diubah pada waktu time down, perubahan akan mulai efektif pada siklus yang berikutnya. - Jika nilai preset timer diubah menjadi nol, timer akan menghentikan operasi dan timer output akan langsung aktif.
49
9.
Instruksi CNT (Counter)
Adding (UP) Counter Persyaratan: - Tersedia 100 Counter tambahan.
-
Counter di program dalam urutan RESET INPUT, PULSE INPUT dan CNT.
Nilai preset Counter adalah 0 sampai 9999. Dua address diperlukan, pertama untuk instruksi counter, kedua untuk nilai presetnya.
Nomor Counter yang sama tidak dapat di program lebih dari sekali. Ketika reset OFF, counter menghitung pulse input yang dibandingkan dengan nilai preset.
Ketika nilai terhitung mencapai nilai preset, output aktif dan tetap aktif sampai reset itu dinyalakan.
Ketika input reset berubah dari OFF ke ON, nilai Counternya terulang/reset.
Ketika reset input ON semua pulse input diabaikan. Jika power mati, nilai counter dapat dipertahankan dengan menggunakan konfigurasi CPU FUN7.
Nilai Counter preset dapat diubah tanpa mentransfer seluruh program kembali.
Input reset mempunyai prioritas diatas input pulse. Satu scan setelah preset input akan mengubah dari ON ke OFF, counter akan mulai menghitung pulse input setelah berubah dari OFF ke ON.
50
RESET
PULSE
Waktu yang diperluan Lebih dari satu scan
INVALID
VALID
Diagram Ladder
COUNTER NUMBER
CNT 1 2 5
PRESET VALUE
List Program
Address 0 1 2 3
Instruction Word LOD LOD CNT
Data 1 2 1 5
51
Key Operation
Timing Chart
2 CNT 1
10. Instruksi OUT
- Instruksi OUT akan mengakhiri logic Line yang berhubungan dengan ladder diagram baris
-
Internal relay IR dapat digunakan dengan instruksi OUT
Diagram Ladder (relay circuit)
0 00
1
01
52
List Program
Address 0 1 2 3
Instruction Word LOD OUT LOD NOT OUT
Data 0 00 1 01
Key Operation
11. Counter Reversible
1. Dual-pulse reversible Counter (CNT 45) 2. Up/Down selection Reversible Counter (CNT 46) Persyaratan DUAL-PULSE REVERSIBLE COUNTER CNT 45 & CNT 46: - Diperlukan 3 input - Preset input, Up-pulse Input, CNT 45 atau CNT 46, Preset Value - Nomor Counter yang sama tidak dapat digunakan lebih dari sekali - Jika pulse up dan pulse down aktif bergantian maka akan ERROR - Jika input ON, nilai preset sudah set - Up mode diplih jika UP/DOWN input ON
53
- Down mode diplih jika UP/DOWN input OFF - Perhitungan dimulai ketika preset input OFF - Counter output aktif jika nilai perhitungan mencapai nol - Setelah nilai counter mencapai nol, lalu akan berubah menjadi 9999 untuk perhitungan mundur berikutnya - Setelah nilai counter mencapai 9999, lalu akan berubah menjadi nol untuk perhitungan naik berikutnya - Input preset harus diaktifkan sebelum programming agar nilai perhitungan kembali ke nilai yang di set - Preset harus dimatikan sebelum perhitungan dimulai - Jika nilai preset diubah pada waktu operasi, perubahan langsung efektif - Perhitungan tidak akan berfungsi jika nilai preset diubah setelah nilai presetnya telah tercapai
Diagram Ladder
COUNTER NUMBER
PRESET INPUT
CNT 45 50
0
UP PULSE
PRESET VALUE
DOWN
PULSE
54
List Program Address 0 1 2 3 4 5 Key Operation OUT Instruction Word LOD LOD LOD CNT Data 1 2 3 45 50 00
Diagram Ladder
COUNTER NUMBER
PRESET INPUT
CNT 46
UP PULSE
50
00
DOWN
PULSE
PRESET VALUE
55
List Program
Address 0 1 2 3 4 5 Key Operation
Instruction Word LOD LOD LOD CNT
Data 1 2 3 46 50
OUT
00
56
Timing Chart CNT45 Dual-Pulse Reversible Counter
Preset Input 1
Up-Pulse 2
Down-Pulse 3
CNT 45
50
51
52
51
50
49
9999
Output 00
57
Timing Chart CNT45 Dual-Pulse Reversible Counter
Preset Input 1
Pulse Input 2
Selection Input 3
CNT 45
50
51
52
51
50
49
9999
Output 00
58
5.
Peringatan dalam pemrograman Untuk mengurangi kemungkinan terjadinya kesalahan dalam
merancang program kendali, perlu diingat hal-hal sebagai berikut: a. Jumlah kondisi (kontak) yang digunakan seri atau paralel dan juga banyaknya perulangan penggunaan suatu bit tak terbatas sepanjang kapasitas memori PLC tidak dilampaui. b. Diantara dua garis instruksi tidak boleh ada kondisi yang melintas secara vertikal. 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.
0,00 0,01 0.02 Diagram A
10,00
Alamat 00000 00001 00002 00003 00004
Instruksi LD LD AND OR LD OUT
Operand 0,00 0.01 0.02 10.00
0.01 0,00
0.02
10,00
Diagram B
Alamat 00000 00001 00002 00003
Instruksi LD AND OR OUT
Operand 0.01 0.02 0.00 10.00
Gambar 23 Penyederhanaan Program Logika
59
6.
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 pada 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.
7.
Langkah-langkah pembuatan program Untuk membuat program kendali PLC ditempuh melalui langkahlangkah sistematis sebagi berikut: a. Menguraikan urutan kendali Pembuatan program diawali dengan penguraian urutan kendali. Ini dapat dibuat dengan menggunakan kalimat-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 dialokasikan. 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
60
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.
Daerah Data IR (Internal Relay) Input Output Kerja (internal) 0 10
Words
Bit 0.00 0.11 10.00 10.07 200.00 231.15 TR0 TR7
200 231
TR (Temporarilly Relay) Timer/counter TC0 TC7
c. Rangkuman 1. Program kendali PLC terdiri atas tiga unsur yaitu alamat, instruksi dan operand. 2. Program PLC dapat dibuat dengan diagram ladder atau kode mneumonik. Pemilihan tipe program ditentukan oleh alat pemrogram yang akan digunakan. 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. Terdapat banyak sekali instruksi pemrograman, tetapi tidak semua instruksi dapat diterapkan pada semua tipe PLC. 5. Setiap program selalu diawali dengan instruksi LOAD dan diakhiri dengan instruksi END. Tanpa instruksi END program tidak dapat dieksekusi.
61
6.
Program dieksekusi dengan menscan mulai dari alamat terendah hingga ke alamat tertinggi yaitu instruksi END. Pada diagram ladder ini berarti program dieksekusi 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.
62