Instruksi Bit Logic PLC: LD, AND, OR, OUT dan Cara Membaca Ladder Diagram

Setiap program PLC, sekompleks apa pun, dibangun dari sekumpulan kecil instruksi bit logic. Kontak, koil, dan beberapa instruksi pengunci sudah cukup untuk membuat mayoritas rangkaian kendali mesin. Artikel ini membahas instruksi bit logic beserta cara membaca ladder diagram, termasuk satu hal yang paling sering membuat program pemula tidak berjalan meski logikanya terlihat benar.

instruksi bit logic plc

Apa Itu Instruksi Bit Logic pada PLC?

Instruksi bit logic adalah perintah PLC yang bekerja pada data satu bit, yaitu nilai yang hanya bisa 0 atau 1. Instruksi ini membaca status input, menggabungkannya dengan logika AND dan OR, lalu menuliskan hasilnya ke output atau ke bit internal. Dalam ladder diagram, instruksi bit logic digambarkan sebagai simbol kontak dan koil.

Cara Membaca Ladder Diagram

Ladder diagram dibaca seperti rangkaian listrik yang digambar mendatar. Dua garis vertikal di kiri dan kanan mewakili sumber tegangan, dan garis mendatar di antaranya disebut rung. PLC mengeksekusi rung dari atas ke bawah, dan di dalam tiap rung logika mengalir dari kiri ke kanan.

Kontak Seri Berarti AND

Kontak yang disusun berderet mendatar dalam satu jalur berarti semua kondisi harus terpenuhi agar koil di ujung kanan menyala. Bila salah satu saja bernilai salah, aliran logika terputus.

Kontak Paralel Berarti OR

Kontak yang disusun bercabang ke bawah membentuk jalur alternatif. Cukup satu jalur yang terpenuhi agar logika sampai ke koil. Percabangan inilah yang nanti dipakai untuk membuat rangkaian pengunci.

Koil Selalu di Ujung Kanan

Koil adalah tujuan dari aliran logika, sehingga selalu diletakkan di ujung kanan rung. Kontak tidak boleh diletakkan setelah koil. Satu rung umumnya hanya punya satu koil utama.

Selain ladder diagram, IEC 61131-3 juga menetapkan bahasa lain seperti Function Block Diagram dan Structured Text. Perbandingan ketiganya dibahas di perbedaan Ladder Diagram, FBD, dan Structured Text.

Kontak NO dan NC: Beda Perangkat Fisik dan Instruksi Ladder

Ini bagian terpenting dalam artikel ini, sekaligus penyebab nomor satu program bit logic tidak berjalan. Istilah NO dan NC dipakai untuk dua hal yang berbeda, dan keduanya sering tertukar.

  • NO dan NC pada perangkat fisik menjelaskan bagaimana tombol atau sensor terpasang di lapangan. Tombol NC menghantarkan arus saat tidak ditekan, dan memutus saat ditekan.
  • NO dan NC pada instruksi ladder menjelaskan bagaimana PLC membaca sebuah bit di memori. Instruksi kontak NO bernilai benar saat bit bernilai 1, sedangkan instruksi kontak NC bernilai benar saat bit bernilai 0.

Instruksi ladder tidak tahu apa-apa tentang jenis perangkat yang terpasang. Ia hanya membaca angka 0 atau 1 di alamat memori. Karena itu, jenis perangkat dan jenis instruksi harus dipasangkan dengan benar.

Kenapa Tombol Stop Dipasang NC di Lapangan

Tombol Stop dan Emergency Stop hampir selalu dipasang sebagai kontak NC. Alasannya keselamatan: bila kabelnya putus atau terlepas, input PLC akan membaca 0, sama seperti saat tombol ditekan, sehingga mesin berhenti dengan sendirinya. Bila dipasang NO, kabel putus tidak akan terdeteksi dan tombol Stop diam-diam berhenti berfungsi.

Kesalahan Paling Sering: Negasi Ganda

Karena tombol Stop dipasang NC, banyak orang refleks menggambarnya dengan instruksi kontak NC juga. Hasilnya negasi ganda, dan logikanya terbalik.

Perangkat di lapanganInstruksi di ladderSaat tombol TIDAK ditekanHasil
Stop NC (nilai bit = 1)Kontak NOInstruksi bernilai benar, logika mengalirBenar. Motor bisa jalan, dan berhenti saat Stop ditekan.
Stop NC (nilai bit = 1)Kontak NCInstruksi bernilai salah, logika terputusSalah. Motor tidak akan pernah bisa dijalankan.
Stop NO (nilai bit = 0)Kontak NCInstruksi bernilai benar, logika mengalirBerfungsi, tetapi kabel putus tidak terdeteksi.
Stop NO (nilai bit = 0)Kontak NOInstruksi bernilai salah, logika terputusSalah. Motor tidak bisa dijalankan.
Perbandingan ladder diagram PLC: tombol Stop NC yang digambar dengan kontak NC (salah) dan dengan kontak NO (benar) pada rangkaian seal-in
Tombol Stop yang dipasang NC di lapangan harus digambar dengan kontak NO di ladder. Memakai kontak NC menghasilkan negasi ganda.

Aturan praktisnya cukup satu kalimat: tombol Stop yang dipasang NC digambar dengan kontak NO di ladder. Terasa berlawanan dengan naluri, tetapi begitulah cara kerjanya. Kalau ragu, jangan menebak dari nama tombolnya. Lihat status bitnya saat mesin dalam keadaan diam dan tidak ada tombol yang ditekan, lalu pilih instruksi yang menghasilkan nilai benar pada kondisi itu.

Cara paling cepat memastikannya adalah dengan memantau nilai bit secara langsung di software pemrograman saat PLC dalam mode RUN. Sebagian besar software menampilkan kontak yang sedang bernilai benar dengan warna berbeda.

Instruksi Bit Logic dan Padanannya di 5 Merek PLC

Simbol ladder-nya sama di semua merek karena mengikuti IEC 61131-3, tetapi nama instruksinya berbeda. Berikut padanan lima instruksi yang paling sering dipakai.

FungsiMitsubishiOmronSiemensAllen-BradleySchneider
Kontak NOLDLDKontak NOXICKontak NO
Kontak NCLDILD NOTKontak NCXIOKontak NC
Koil outputOUTOUTKoilOTEKoil
Set (latch)SETSETSOTLS
Reset (unlatch)RSTRSETROTUR

Perbedaan penamaan ini hanya soal istilah. Yang benar-benar berbeda dan perlu diperhatikan saat berpindah merek adalah format alamatnya: X dan Y pada Mitsubishi, I dan Q pada Siemens, I dan O pada Allen-Bradley, serta penomoran berbasis channel pada Omron. Perbandingan lengkapnya dibahas terpisah pada artikel perbandingan instruksi antar merek.

Rangkaian Start-Stop dengan Self-Holding

Rangkaian ini adalah penerapan bit logic paling mendasar sekaligus paling sering dipakai. Fungsinya sederhana: satu tombol Start yang ditekan sebentar harus membuat motor menyala terus, dan satu tombol Stop harus mematikannya.

Masalahnya, tombol tekan hanya aktif selama ditekan. Tanpa mekanisme tambahan, motor akan mati begitu jari dilepas. Solusinya adalah self-holding, atau sering disebut seal-in: kontak dari bit keluaran itu sendiri dipasang paralel dengan tombol Start.

Cara Kerja Seal-In Langkah per Langkah

  1. Kondisi awal: tombol Start belum ditekan, bit keluaran bernilai 0, kedua jalur paralel terputus.
  2. Tombol Start ditekan. Jalur atas terhubung, logika mengalir sampai koil, bit keluaran menjadi 1.
  3. Karena bit keluaran menjadi 1, kontak seal-in di jalur bawah ikut menutup.
  4. Tombol Start dilepas. Jalur atas terputus, tetapi jalur bawah tetap menghantar sehingga bit keluaran bertahan 1.
  5. Tombol Stop ditekan. Kontak Stop yang dipasang seri memutus seluruh rung, bit keluaran menjadi 0, dan kontak seal-in ikut terbuka.

Perhatikan bahwa kontak Stop harus dipasang seri dan berada di luar percabangan, sehingga ia bisa memutus kedua jalur sekaligus. Bila diletakkan di dalam salah satu cabang saja, tombol Stop tidak akan berfungsi.

Kenapa Sebaiknya Memakai Bit Internal, Bukan Koil Output Langsung

Seal-in bisa dibuat langsung pada koil output, dan pada rangkaian sesederhana ini hasilnya sama. Namun begitu ada kondisi tambahan seperti overload, emergency stop, atau interlock, memakai bit internal jauh lebih rapi.

Polanya menjadi seperti ini: rung pertama membentuk perintah jalan sebagai bit internal, rung berikutnya mengumpulkan kondisi keamanan menjadi satu bit status, dan rung terakhir menyalakan output hanya bila perintah jalan dan status aman keduanya terpenuhi. Dengan cara ini, satu output hanya dikendalikan dari satu tempat, dan menambah kondisi baru tidak berarti membongkar rangkaian pengunci.

Berikut penerapan pola tersebut pada 5 kombinasi PLC dan software yang paling banyak dipakai di Indonesia. Perhatikan bahwa struktur rung-nya serupa di semua merek; yang berbeda hanya penamaan instruksi dan format alamatnya.

Contoh program bit logic rangkaian start-stop self-holding pada Siemens S7-1200 TIA Portal
Siemens S7-1200 — TIA Portal. Ketuk gambar untuk memperbesar.
Contoh program bit logic rangkaian start-stop self-holding pada Omron CP1E CX-Programmer
Omron CP1E — CX-Programmer. Ketuk gambar untuk memperbesar.
Contoh program bit logic rangkaian start-stop self-holding pada Allen-Bradley Micro820 Connected Components Workbench
Allen-Bradley Micro820 — Connected Components Workbench (CCW). Ketuk gambar untuk memperbesar.
Contoh program bit logic rangkaian start-stop self-holding pada Schneider Modicon M221 EcoStruxure Machine Expert
Schneider Modicon M221 — EcoStruxure Machine Expert. Ketuk gambar untuk memperbesar.
Contoh program bit logic rangkaian start-stop self-holding pada Mitsubishi FX3U GX Works2
Mitsubishi FX3U — GX Works2. Ketuk gambar untuk memperbesar.

Pada layar kecil, ketuk gambar untuk melihat versi penuhnya.

Filosofi Kontrol di Balik Kelima Platform

Meskipun mnemonic dan format alamat berbeda di kelima merek, filosofi kontrolnya identik. Setiap panel menerapkan pola yang sama: bit keluaran hanya diubah statusnya lewat satu rung pengunci, tombol Start bersifat sesaat sedangkan bit hasil seal-in-nya yang menahan status ON, dan kontak Stop selalu dipasang seri di luar percabangan agar bisa memutus jalur mana pun yang sedang aktif.

Perbedaan yang sebenarnya bukan pada logika, melainkan pada cara masing-masing software merepresentasikannya. TIA Portal, CX-Programmer, EcoStruxure Machine Expert, dan GX Works2 menampilkan simbol IEC standar dengan pengalamatan berbasis peta memori (I, Q, M, X, Y), sedangkan CCW pada Micro820 memakai pengalamatan bertag (I:1/0, O:0/0) yang berbasis tag, bukan area memori. Karena itu, saat berpindah platform, yang perlu dipelajari ulang hanyalah cara PLC tersebut menamai dan mengalamatkan bit, bukan cara berpikir merancang rangkaian penguncinya sendiri. Pola bit internal, status aman, lalu output pada bagian sebelumnya bisa dipindahkan ke merek apa pun tanpa mengubah arsitekturnya, selama urutan rung itu dipertahankan dan padanan instruksinya dicocokkan lewat tabel sebelumnya.

Aturan Satu Bit Satu Koil

Sebuah alamat output tidak boleh dipakai sebagai koil di lebih dari satu rung. Aturan ini terdengar sepele, tetapi pelanggarannya adalah salah satu bug paling membingungkan bagi pemula.

Penyebabnya ada pada cara PLC bekerja. PLC mengeksekusi seluruh rung dari atas ke bawah, lalu menuliskan hasilnya ke output di akhir siklus. Bila satu alamat dipakai sebagai koil di tiga rung berbeda, hanya rung terakhir yang menentukan hasil akhirnya. Dua rung sebelumnya tetap dieksekusi, tetapi hasilnya langsung tertimpa.

Gejalanya khas: program terlihat lengkap dan setiap rung masuk akal bila dibaca satu per satu, tetapi output hanya mengikuti satu kondisi saja dan mengabaikan sisanya. Rangkaian pengunci di rung pertama seolah-olah tidak berfungsi sama sekali.

Cara memperbaikinya adalah menggabungkan seluruh kondisi ke dalam satu rung. Kondisi yang harus terpenuhi bersamaan dipasang seri, kondisi alternatif dipasang paralel. Bila rungnya menjadi terlalu panjang, pecah kondisinya menjadi beberapa bit internal terlebih dahulu, lalu gabungkan bit-bit internal itu pada satu rung terakhir yang menyalakan output.

Sebagian software pemrograman memberi peringatan duplicate destination atau double coil saat program dikompilasi. Jangan abaikan peringatan itu.

SET dan RST sebagai Alternatif Seal-In

Selain percabangan paralel, penguncian juga bisa dibuat dengan instruksi SET dan RST. SET membuat sebuah bit menjadi 1 dan membiarkannya tetap 1 meski kondisi pemicunya sudah hilang. RST mengembalikannya ke 0.

AspekSeal-in dengan percabanganSET dan RST
Jumlah rungCukup satu rungButuh dua rung terpisah
Kemudahan dibacaAlur logikanya terlihat langsungHarus mencari rung pasangannya
Menambah kondisi baruRung cepat menjadi panjangLebih mudah, cukup tambah pemicu
Risiko lupaKecilLupa membuat rung RST membuat bit terkunci selamanya

Keduanya sama-sama sah. Untuk rangkaian sederhana, seal-in dengan percabangan lebih mudah dibaca teknisi berikutnya. Untuk logika bertingkat dengan banyak pemicu, SET dan RST lebih rapi. Yang penting, jangan mencampur keduanya pada bit yang sama, karena hasilnya sangat sulit ditelusuri saat terjadi masalah.

Satu hal yang perlu dipahami: instruksi SET dan RST mengunci bit, bukan mengunci keselamatan. Fungsi emergency stop tidak boleh hanya mengandalkan RST di program. Gunakan safety relay atau safety PLC bersertifikat untuk itu.

Kesalahan Umum pada Instruksi Bit Logic

1. Menggambar tombol Stop NC dengan kontak NC

Negasi ganda yang sudah dibahas di atas. Gejalanya jelas: motor tidak pernah mau menyala meski tombol Start ditekan.

2. Memakai satu alamat output sebagai koil di beberapa rung

Hanya rung terakhir yang berlaku. Gabungkan kondisinya menjadi satu rung.

3. Meletakkan kontak Stop di dalam cabang seal-in

Kontak Stop harus berada di luar percabangan agar bisa memutus kedua jalur. Bila diletakkan hanya di jalur Start, menekan Stop tidak akan menghentikan apa pun karena jalur seal-in tetap menghantar.

4. Mengandalkan kontak biasa untuk mendeteksi kejadian sesaat

Kontak biasa bernilai benar selama bitnya bernilai 1, bukan hanya pada saat berubah. Untuk mendeteksi momen perubahan, gunakan instruksi deteksi tepi. Pembahasannya ada di instruksi rising edge dan falling edge pada berbagai merek PLC.

5. Menyamakan bit internal dengan output fisik

Bit internal hanya ada di memori dan tidak menggerakkan apa pun di lapangan. Menyalakan bit internal tanpa rung yang menghubungkannya ke output fisik membuat program terlihat berjalan di simulator tetapi tidak melakukan apa-apa di mesin.

Langkah Berikutnya Setelah Bit Logic

Setelah menguasai kontak, koil, dan penguncian, dua instruksi berikutnya yang paling sering dibutuhkan adalah timer dan counter. Keduanya dibangun di atas bit logic dan hampir selalu dipakai bersamaan dengannya.

Dari Bit Logic ke Industrial IoT

Setiap kontak dan koil pada akhirnya menghasilkan satu hal yang sama: sebuah bit bernilai 0 atau 1 di memori PLC. Bit inilah yang dibaca perangkat luar ketika PLC dihubungkan ke sistem pemantauan.

Dalam protokol Modbus, bit semacam ini dibaca sebagai coil atau discrete input. Dari sana, status mesin bisa ditampilkan di dashboard tanpa siapa pun perlu berdiri di depan panel. Beberapa penerapan yang paling umum:

  • Menampilkan status jalan atau berhenti setiap mesin dalam satu layar
  • Mencatat kapan sebuah mesin berhenti dan berapa lama, sebagai dasar analisis downtime
  • Mengirim notifikasi otomatis saat bit alarm berubah menjadi 1

Untuk penerapan praktisnya, lihat ESP32 sebagai Modbus master beserta contoh kodenya dan komunikasi Modbus TCP antara ESP32 dan Raspberry Pi. Untuk menampilkannya sebagai dashboard, mulai dari instalasi Node-RED dan MQTT broker Mosquitto.

Satu catatan penting: membaca status bit dari luar adalah hal yang aman, tetapi menulis perintah start dan stop dari dashboard adalah persoalan berbeda. Perintah jarak jauh harus melewati interlock di dalam program PLC, bukan langsung menulis ke koil output. Bila tidak, sebuah perintah dari dashboard bisa menjalankan mesin dalam kondisi yang seharusnya tidak diizinkan.

FAQ Instruksi Bit Logic PLC

Apa itu instruksi bit logic pada PLC?

Instruksi bit logic adalah perintah yang bekerja pada data satu bit bernilai 0 atau 1. Termasuk di dalamnya kontak NO, kontak NC, koil output, serta instruksi penguncian seperti SET dan RST.

Apa beda kontak NO dan NC pada ladder diagram?

Instruksi kontak NO bernilai benar ketika bit yang dibacanya bernilai 1, sedangkan kontak NC bernilai benar ketika bit tersebut bernilai 0. Keduanya merujuk pada nilai bit di memori, bukan pada jenis perangkat yang terpasang di lapangan.

Kenapa motor tidak menyala padahal tombol Start sudah ditekan?

Penyebab paling sering adalah tombol Stop yang dipasang NC di lapangan tetapi digambar dengan instruksi kontak NC di ladder. Kombinasi ini menghasilkan negasi ganda sehingga rung tidak pernah tersambung. Gantilah instruksinya menjadi kontak NO.

Kenapa tombol Stop dipasang sebagai kontak NC?

Karena alasan keselamatan. Bila kabelnya putus, input akan membaca 0 seperti saat tombol ditekan, sehingga mesin berhenti dengan sendirinya. Bila dipasang NO, kabel putus tidak akan terdeteksi.

Apa itu rangkaian seal-in atau self-holding?

Rangkaian yang memakai kontak dari bit keluarannya sendiri, dipasang paralel dengan tombol Start, agar keluaran tetap menyala setelah tombol dilepas.

Bolehkah satu alamat output dipakai di dua rung?

Tidak. Bila satu alamat dipakai sebagai koil di lebih dari satu rung, hanya rung terakhir yang menentukan hasilnya. Gabungkan seluruh kondisi ke dalam satu rung.

Lebih baik memakai seal-in atau SET dan RST?

Keduanya sah. Seal-in lebih mudah dibaca untuk rangkaian sederhana karena alurnya terlihat dalam satu rung. SET dan RST lebih rapi untuk logika dengan banyak pemicu, asalkan rung reset-nya tidak lupa dibuat.

Chat Langsung dengan Kami
Staff bisaioti 1 — +62 823-3306-4821 E-Course, Offline Course, Hardware & Teknis IoT/OT Staff bisaioti 2 — +62 823-3306-4821 Training Korporat & Toko Hardware