1.1.1 Programmable Logic Controller (PLC)
1. Pengertian
PLC adalah komputer elektronik yang mudah digunakan yang memiliki fungsi kendali untuk berbagai macam keperluan dan tingkat kesulitan yang beragam. Sistem PLC ini menggunakan memori yang dapat diprogram untuk menyimpan instruksi yang mengimplementasikan fungsi spesifik seperti logika, urutan, pewaktu, pencacahan dan operasi aritmatik untuk mengontrol mesin atau prosees melalui modul-modul I/O.(Capiel,1982)
Gambar PLC (
Programabel Logic Control)
2. Fungsi PLC
Secara umum fungsi dari PLC adalah sebagai berikut :
a. Control Sekuensial
PLC memroses input sinyal biner menjadi output yang digunakan untuk keperluan pemrosesan teknik secara berurutan (sekuensial), disini PLC menjaga agar semua step / langkah dalam proses sekuensial berlangsung dalam urutan yang tepat (Fahron Al Wotani, 2009).
b. Monitoring Plant
PLC secara terus menerus memonitor suatu sistem (misalnya temperatur, tekanan, tingkat ketinggian) dan mengambil tindakan yang diperlukan sehubungan dengan proses yang dikontrol (misalnya nilai sudah melebihi batas) atau menampilkan pesan tersebut ke operator (Fahron Al Wotani, 2009).
3. Input/Output pada PLC
Sistem input/output diskret pada dasarnya merupakan antarmuka yang mengkoneksikan central processing unit (CPU) dengan peralatan input/output luar. Lewat sensor-sensor yang terhubung dengan modul ini, PLC mengindra besaran-besaran fisik (posisi,gerakan, level, arus, tegangan) yang terasosiasi dengan sebuah proses atau mesin. Berdasarkan status dari input dan program yang tersimpan di memori PLC, CPU mengontrol perangkat luar yang terhubung dengan modul output (Iwam Setiawan, 2006:65). PLC pasti tidak akan dapat digunakan untuk system yang kompleks jika input/outputnya terbatas. Oleh karena itu pada PLC dapat dipasang suatu modul I/O yang terpisah dengan modul PLC. Berikut adalah contoh gambar dari modul I/O:
Gambar 1a Modul Input Gambar 1b Modul Output
4. Bahasa pemrograman yang digunakan pada PLC
Terdapat banyak pilihan bahasa untuk membuat program dalam PLC. Masing-masing bahasa mempunyai keuntungan dan kerugian tergantung dari sudut pandang kita sebagai user / pemogram. Pada umumnya terdapat 2 bahasa pemograman sederhana dari PLC , yaitu pemograman diagram ladder dan bahasa instruction list. (mnemonic code).Diagram Ladder adalah bahasa yang dimiliki oleh setiap PLC.
Diagram Ladder menggambarkan program dalam bentuk grafik. Diagram ini dikembangkan dari kontak-kontak relay yang terstruktur yang menggambarkan aliran arus listrik. Dalam diagram ladder terdapat dua buah garis vertical dimana garis vertical sebelah kiri dihubungkan dengan sumber tegangan positip catu daya dan garis sebelah kanan dihubungkan dengan sumber tegangan negatip catu daya.
Program ladder ditulis menggunakan bentuk pictorial atau simbol yang secara umum mirip dengan rangkaian kontrol relay. Program ditampilkan pada layar dengan elemen-elemen seperti normally open contact, normally closed contact, timer, counter, sequencer dll ditampilkan seperti dalam bentuk pictorial. PLC dapat deprogram langsung dari komputer maupun dari console. Console ini lebih pertable jika dibandingkan dengan komputer akan tetapi agak lebih rumit dikarenakan pada console hanya bisa dilihat 1 baris perintah saja. Jadi kelemahan console adalah tidak mudah melakukan trouble shooting program jika terjadi kegagalan program. Berikut adalah gambar dari console:
Dibawah kondisi yang benar, listrik dapat mengalir dari rel sebelah kiri ke rel sebelah kanan, jalur rel seperti ini disebut sebagai ladder line. Peraturan secara umum di dalam menggambarkan program ladder diagram adalah :
· Daya mengalir dari rel kiri ke rel kanan
· Output tidak boleh dihubungkan secara langsung di rel sebelah kiri.
· Tidak ada kontak yang diletakkan disebelah kanan output
· Hanya diperbolehkan satu output pada satu ladder line.
Gambar 3. Prinsip Diagram Ladder
Pada garis-garis ini dipasang kontak-kontak yang menggambarkan kontrol dari switch, sensor dan sebagainya ke output. Satu baris dari diagram disebut dengan satu rung.
5. Instruksi-Instruksi Dasar Pada PLC
a. LD
Instuksi LD digunakan untuk mengawali suatu program dari baris terdepan.
Simbol Dari instruksi LD adalah sebagai berikut:
Cara pemrograman pada console adalah sebagai berikut:
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00000 |
00001 | OUT | 100 |
00002 | FUN (01) | - |
Tabel 1. Mnemonic LD
Keterangan:
Jika LD dalam kondisi ON (1) maka OUT juga akan berkondisi ON atau menyala. Alamat I/O 0000 menunjukkan bahwa masukan atau input tersebut dialamatkan pada alamat 0000 dan ouput 100 berarti keluaran atau output beralamat di alamat 100.
b. AND
Instruksi AND jika dilogikakan pada rangkaian analog merupakan suatu rangkaian seri. Jadi apabila salah satu instruksi berlogika 0 atau OFF maka out put akan berlogika 0 atau OFF.
Berikut adalah simbol dari instruksi AND:
Cara pemrograman pada console adalah sebagai berikut:
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00000 |
00001 | OUT | 100 |
00002 | FUN (01) | - |
Tabel 2. Mnemonic AND
Jadi untuk menyalakan output (berlogika ON) maka kedua saklar harus dalam kondisi ON (1). Jika salah satu saja saklar berkondisi OFF (0) maka output tidak akan berkondisi 0 atau OFF.
c. OR
Instruksi OR jika dilogikakan pada rangkain analog merupakan suatu rangkaian paralel . Jadi apabila salah satu instruksi berlogika 1 atau ON maka output akan belogika 1 atau ON pula.
Simbol dari instruksi OR:
Gambar 6. Instruksi OR
Cara pemrograman pada console adalah sebagai berikut:
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00000 |
00001 | AND | 00001 |
00002 | OR | 00002 |
00003 | OUT | 100 |
00004 | FUN (01) | - |
Tabel 3. Mnemonic OR
d. OUT
Instruksi OUT adalah instruksi untuk menentukan alamat mana yang akan digunakan sebagai keluaran/ sebagai outputan dari suatu program.
e. NOT
Instruksi NOT digunakan untuk membalikkan logika awalnya. Jadi jika logika awal 1 maka bila diberi instruksi NOT maka akan menjadi logika 0, dapat dikombinasikan dengan instruksi lain. Simbol NOT adalah sebagai berikut:
6. Menu Fungsi (FUN) Pada PLC
a. END
Instruksi END adalah instruksi yang berfungsi untuk mengakhiri suatu program. PLC tidak akan mengeksekusi suatu program jika belum diakhiri. Untuk mengakhiri program digunakan FUN(01).
b. LATCH
Fungsi latch adalah sebagai pengunci atau sama dengan rangkaian R-S flip-flop namun hanya mempunyai 1 output saja yaitu Q. Rangkaian ini membutuhkan reset untuk mematikan outputnya. Untuk memanggil fungsi ini adalah dengan menuliska FUN(11). Berikut adalah diagram ladder dari latch:
Gambar 9. Ladder Diagram FUN 11
Cara penulisan programnya adalah sebagai berikut:
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00001 |
00001 | LD | 00002 |
00002 | FUN 11 | 100 |
00003 | FUN (01) | - |
Tabel 4. Mnemonic FUN 11 (KEEP)
Apabila LD 0001 berlogika 1 dan LD 0002 berlogika 0 maka output akan berlogika 1, walaupun LD 0001 berubah berlogika 0. Namun apabila LD 0002 berlogika 1 apapun logika LD 0001 maka output akan berlogika 0. Sehingga fungsi ini digunakan sebagai pengunci.
c. Flip-flop
Pada PLC terdapat suatu clock atau flip-flop yang dialamatkan pada alamat 25500,25501 dan 25502. Dengan menuliskan alamat tersebut maka tidak perlu membuat rangkaian atau program untuk membuat clock. Berikut adalah contoh ladder diagramnya :
.
Gambar 10. Ladder Diagram flip-flop
Cara pemrograman pada console adalah sebagai berikut:
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00001 |
00001 | LD | 00002 |
00002 | FUN 11 | 100 |
00003 | FUN (01) | - |
Tabel 5. Mnemonic filip-flop
Jika LD 0001 berlogika 1 (ON) maka output akan seperti flip-flop yaitu berkedip-kedip. Fungsi ini biasanya digunakan sebagai clock pada shift register dan sebagai indikator trouble pada satu rangkain kontrol konveyor. Jadi jika ada kerusakan pada konveyor maka lampu indikator tidak akan berkedip-kedip.
Semakin besar angka terakhir yang ditulis maka semakin rendah pula frekuensinya. Begitu juga sebaliknya semakin kecil digit terakhir yang dimasukkan maka akan semakin cepat frekuensinya.
d. SFT (Shift Register)
Shift register merupakan aplikasi lain yang terdapat dalam PLC yang berfungsi untuk menggeser data sejauh x bit sesuai berapa bit yang diprogram. Untuk memanggil fungsi ini cukup dengan menekan tombol SFT ataupun dengan FUN(10)
Berikut adalah ladder diagram dari instruksi SFT:
Gambar 11. Ladder Diagram SFT (
Shift Register)
Cara penulisan programnya pada console adalah sebagai berikut:
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00001 |
00001 | LD | 00002 |
00002 | FUN 11 | 100 |
00003 | FUN (01) | - |
Tabel 6. Mnemonic SFT (Shift Register)
Fungsi SHIFT membutuhkan 3 inputan (LD) dimana LD yang pertama (LD 00000) digunakan untuk memberi masukan/data ke register. Data tersebut berupa data biner 0 dan 1. Instruksi LD yang kedua (LD 25502) adalah berfungsi untuk memberi clock masukan. LD yang ketiga (LD 00001) adalah instruksi untuk mereset program shift register ini.
Ketika instruksi LD dimasukkan maka selanjutnya adalah memasukkan instruksi SFT. Pada saat memanggil instruksi ini untuk pertama kali maka akan muncul 3 bit angka 0000. Angka ini diisi dengan alamat I/O berapa yang ingin digeser. Jika ingin menggeser alamat I/O 3-4 maka pada saat kemunculan pertama dimasukkan angka 3 setelah itu di-write dan dimasukkan angka 4. Akan tetapi jika ingin menyalakan modul 3 saja maka ketika setelah di-write langsung di-write lagi kemudian diteruskan dengan instruksi end yaitu FUN (01).
e. DIF Up dan DIF Down
DIFU adalah salah satu aplikasi pada PLC yang memanfaatkan perubahan nilai dari 0 ke 1. Jadi apabila ada perubahan nilai yang terjadi dari 0 ke 1 maka output akan berlogika 1. Fungsi ini dapat dipanggil dengan menekan FUN(13). Berikut adalah contoh pemrogrmaan dari DIFU :
Gambar 12. Ladder Diagram DIF Up
Penulisan programnya pada console adalah sebagai berikut:
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00000 |
00001 | OUT | 301 |
00002 | LD | 301 |
00003 | DIFU (13) | 301 |
00004 | OUT | 302 |
00004 | FUN (01) | - |
Tabel 7. Mnemonic DIF Up
DIFD adalah merupakan kebalikan dari DIFU yaitu yang memanfaatkan perubahan nilai dari 1 ke 0. Jadi apabila ada perubahan nilai yang terjadi dari 1 ke 0 maka output akan berlogika 1. Fungsi ini dapat dipanggil dengan menekan FUN(14). Untuk contoh program sama dengan DIFU .
f. Counter
Counter adalah salah satu instruksi dari PLC dimana fungsinya untuk menghitung dan keluarannya dapat diaplikasikan ke dalam program apa saja sesuai perintah. Berikut adalah ladder pemrograman dari counter:
Gambar 13. Ladder Diagram
Counter
Tabel penulisan programnya pada console adalah sebagai berikut:
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00000 |
00001 | LD | 00001 |
00002 | CNT | 000 |
|
| #10 |
00003 | LD CNT | 000 |
00004 | OUT | 301 |
00005 | FUN (01) | - |
Tabel 8. Mnemonic Counter
LD 0000 berfungsi sebagai clock inputan sedangkan LD 0001 berfunfsi sebagai reset. Pada contoh di atas ditulis #10 yang berarti apabila tombol LD 00000 berlogika 1 sebanyak 10 kali (counter tersebut diberi 10 clock) maka output 301 akan berlogika 1. Apabila ingin mematikan (berlogika 0) output maka LD 0001 harus berlogika 1.
g. Timer
Dengan fungsi timer maka untuk mematikan atau menghidupkan suatu outputan dapat ditunda dengan mengeset berapa lama waktu yang dibutuhkan.
Gambar 14. Ladder Diagram
Timer
Tabel penulisan program dapat dijelaskan sebagai berikut;
Alamat Program | Instruksi | Alamat I/O |
00000 | LD | 00000 |
00001 | TIM | 000 |
|
| #40 |
00002 | LD TIM | 000 |
00003 | OUT | 302 |
00004 | FUN (01) | - |
Tabel 9. Mnemonic Timer
Jika LD 00000 bernilai 1 maka timer akan ON. Kemudian selang beberapa waktu tertentu (yang sebelumnya telah diset) timer akan meng-ON-kan LD TIM. Apabila LD time 0 berlogika 1 maka output 302 juga akan berlogika 1. Untuk pengesetan waktu pada timer ini menggunakan satuan milisecond.
Fungsi-fungsi yang disebutkan di atas merupakan sebagian dari fungsi PLC yang sering digunakan pada industri-industru termasuk pada Gudang Garam. Masih banyak instruksi lain yang terdapat pada PLC yang dapat digunakan untuk aplikasi-aplikasi lain seperti perbandingan, aritmatika dan sebagainya. Fungsi yang disebutkan terakhir ini tidak/jarang digunakan pada suatu industri.