KP @ P.T. Indoserako Sejahtera Part III : PLC Part II : Rangkaian Interlock dengan menggunakan Ladder Diagram
By : Giovanni Sutanto NIM 132 05 038
Terdapat lima tipe bahasa pemrograman yang bisa dipakai untuk memprogram PLC, meski tidak semuanya di-support oleh suatu PLC, yaitu antara lain :
1. Bahasa pemrograman Ladder Diagram (LD)
2. Bahasa pemrograman Instruction List (IL)/Statement List (SL)
3. Bahasa pemrograman Sequential Function Chart (SFC)/Grafcet
4. Bahasa pemrograman Function Block Diagram (FBD)
5. Bahasa pemrograman tingkat tinggi (high-level), contohnya Visual Basic
Penulis akan membahas bahasa pemrograman PLC yang paling populer digunakan dan paling mudah dipahami, yaitu Ladder Diagram, dengan menggunakan contoh rangkaian Interlock. Ladder Diagram mudah dipahami karena menggunakan pendekatan grafis, yaitu menggunakan simbol-simbol komponen elektromagnetik-mekanik relay (coil dan contact), blok-blok fungsi (function block), seperti timer, counter, trigger, kondisional, serta blok fungsi yang didefinisikan sendiri oleh programmer. Selain itu, karena Ladder Diagram menggunakan pendekatan grafis, maka programmer menjadi lebih mudah untuk melakukan troubleshooting pada program yang akan dijalankan pada PLC.
Pada post “KP @ P.T. Indoserako Sejahtera Part II : Relay Part II : Rangkaian Interlock“, penulis sudah membahas bagaimana membangun sebuah rangkaian Interlock dengan menggunakan relay. Pada post kali ini, penulis akan membahas bagaimana membangun sebuah rangkaian Interlock dengan menggunakan PLC yang diprogram dengan bahasa Ladder Diagram.
Perhatikan gambar grafis bahasa pemrograman Ladder Diagram berikut :
Ladder Diagram di atas merupakan implementasi rangkaian Interlock dengan menggunakan software CoDeSys. Sebelum menjelaskan bagaimana program di atas bekerja, penulis akan menjelaskan terlebih dahulu bagian-bagian dari bahasa pemrograman Ladder Diagram di atas.
Seperti bahasa pemrograman pada umumnya, programmer harus mendefinisikan terlebih dahulu tipe-tipe variabel (atau disebut juga typecasting) yang digunakan dalam bahasa pemrograman Ladder Diagram, baik variabel input, variabel output, maupun variabel bantu proses pengolahan data dalam program. Tipe-tipe variabel yang sering digunakan dalam bahasa pemrograman Ladder Diagram antara lain adalah BOOL (bilangan biner, hanya bernilai benar/true/on atau salah/false/off), INT (bilangan bulat), REAL (bilangan riil), dan TIME (bilangan yang menandai lamanya waktu, digunakan untuk function block timer).
Seperti pada relay, pada struktur Ladder Diagram, biasanya selalu ada contact dan coil. Contact, yang biasa digunakan untuk merepresentasikan sebuah variabel input bertipe bool, dilambangkan dengan menggunakan plat paralel (seperti lambang kapasitor), yaitu —| |— untuk contact NO (Normally Open) dan —|/|— untuk contact NC (Normally Close), sedangkan coil, yang biasa digunakan untuk merepresentasikan sebuah variabel output bertipe bool, dilambangkan dengan —( )—. Garis vertikal di sisi paling kiri merupakan line tegangan 24 Volt DC (P24), sedangkan garis vertikal di sisi paling kanan merupakan line tegangan 0 Volt DC (N24).
Pada suatu baris Ladder Diagram, variabel-variabel input (contact atau input dari suatu function block) selalu digambarkan pada sisi kiri, sedangkan variabel-variabel output (coil atau output dari suatu function block) selalu digambarkan pada sisi kanan. Prinsipnya sederhana, yaitu coil hanya akan on jika ada arus listrik yang mengalir dari P24 ke N24. Mengalirnya arus dari P24 ke N24 hanya terjadi jika terdapat susunan contact-contact secara seri yang on. Definisi on dari contact adalah nilai logika 1 untuk contact NO dan nilai logika 0 untuk contact NC.
Coil dan contact NO yang diberi nama Lampu_DC merupakan pengganti coil dan contact NO pada relay. Dengan demikian, seperti cara kerja relay, jika coil Lampu_DC on, maka contact Lampu_DC (NO) juga menjadi on. Contact RUN (NO) merupakan variabel input yang seharusnya dihubungkan dengan sebuah push-button NO, contact STOP (NC) merupakan variabel input yang seharusnya dihubungkan dengan sebuah push-button NO, dan coil Lampu_DC merupakan variabel output yang seharusnya dihubungkan dengan sebuah lampu DC 24 Volt. Namun demikian, kali ini penulis belum menggunakan PLC untuk implementasi rangkaian interlock ini. Penulis hanya menggunakan simulasi dan visualisasi HMI dari software CoDeSys untuk mengimplementasikan rangkaian interlock ini.
Selanjutnya, sebagai HMI (Human-Machine Interface), penulis membuat visualisasi berikut :
HMI adalah semacam SCADA (Supervisory Control And Data Acquisition) sederhana, yaitu interface antara PLC (yang pada contoh ini disimulasikan oleh komputer) dengan manusia, melalui komputer.
Tombol RUN dan STOP pada HMI di atas masing-masing di-setting sebagai tombol push-button NO serta dikaitkan dengan variabel RUN dan STOP pada program Ladder Diagram. Sedangkan Lampu DC di-setting untuk dikaitkan dengan variabel Lampu_DC pada program Ladder Diagram dan memberikan tampilan warna putih untuk logika 0 (mati), tampilan warna merah untuk logika 1 (hidup). Jika disimulasikan, maka hasilnya adalah :
Pada gambar di atas terlihat bahwa contact STOP (NC) berwarna biru tua karena sedang on (sesuai dengan definisi sebelumnya bahwa contact NC on pada saat mempunyai nilai logika 0) dan contact-contact yang lainnya, yaitu contact RUN (NO) dan contact Lampu_DC (NO), tidak berwarna karena sedang off (logika 0 berarti off untuk contact NO). Karena tidak ada susunan contact-contact yang sedang on secara seri, maka tidak ada arus yang mengalir dari P24 ke N24, sehingga coil Lampu_DC off. Simulasi HMI rangkaian Interlock ini pada keadaan ini (sebelum ada tombol yang ditekan) adalah sebagai berikut :
Dapat diamati melalui perilaku contact NO dan NC, bahwa keduanya bekerja secara bertolak belakang. Dengan demikian dapat dikatakan bahwa jika terdapat dua buah contact dari variabel yang sama, yang satu bersifat NO dan yang lainnya bersifat NC, maka keduanya berhubungan secara negasi (jika yang NO on, maka yang NC akan off, dan sebaliknya).
Jika push button RUN ditekan dan ditahan, maka hasilnya adalah :
Penekanan push button RUN mengaktifkan contact RUN (NO), sehingga ada susunan contact yang sedang on secara seri, yaitu contact RUN (NO) dan contact STOP (NC). Dengan demikian coil Lampu_DC menjadi on, karena ada arus yang mengalir dari P24 ke N24. Karena coil Lampu_DC on, maka contact Lampu_DC (NO) juga ikut menjadi on. Jika penekanan push button RUN dihentikan, maka hasilnya adalah :
Penghentian penekanan push button RUN menyebabkan contact RUN (NO) menjadi off. Namun demikian, coil Lampu_DC masih aktif karena masih ada susunan contact yang sedang on secara seri, yaitu contact Lampu_DC (NO) dan contact STOP (NC), sehingga arus masih bisa mengalir dari P24 ke N24. Perhatikan bahwa kali ini arus yang mengalir ke coil Lampu_DC di-support oleh contact-nya sendiri.
Pada keadaan ini, tampilan HMI adalah sebagai berikut :
Coil Lampu_DC dapat dinonaktifkan dengan menekan push button STOP. Jika push button STOP ditekan maka :
Penekanan push button STOP mengakibatkan contact STOP (NC) menjadi off, sehingga arus listrik yang tadinya mengalir pada rangkaian Interlock ini menjadi terputus. Coil Lampu_DC tidak dialiri arus listrik, sehingga contact Lampu_DC (NO) kembali menjadi off. Walaupun push button STOP sudah tidak ditekan lagi (contact STOP (NC) kembali menjadi on), coil Lampu_DC tetap tidak akan menyala karena contact RUN (NO) dan contact Lampu_DC (NO) keduanya off, sehingga arus listrik tidak mengalir di rangkaian. Dengan demikian, rangkaian Interlock dalam pemrograman Ladder Diagram ini kembali ke keadaan semula.
Mungkin untuk rangkaian dengan variabel-variabel proses (dalam hal ini RUN, STOP, dan Lampu_DC) yang sedikit seperti ini, PLC terlalu mahal untuk digunakan. Namun jika variabel-variabel prosesnya lebih banyak, penggunaan rangkaian relay secara hard-wired tidak reliable lagi, karena akan mempersulit pada saat troubleshoting dan maintenance. Oleh karena itu digunakanlah PLC, di mana rangkaian dibentuk melalui software.
Pada post selanjutnya, yaitu “KP @ P.T. Indoserako Sejahtera Part III : PLC Part III : Function Block“, penulis akan membahas mengenai penggunaan function block dalam Ladder Diagram. Mohon maaf jika post kali ini terlalu panjang dan agak membosankan, penulis hanya bermaksud untuk sharing pengetahuan. Semoga berguna.
Best Regards,
Giovanni Sutanto
NIM 132 05 038
1 comment so far
Leave a reply



































Wah, seru juga kerja praktek kamu ya. Km beruntung dah kenal PLC sblm lulus. Bekal berharga tuh. Aku baru pake stlh kerja. Tp daripada gak kenal, ya kan?
Tengok PLC-ku di http://telinks.wordpress.com
Salam kenal…