Apa yang kamu pikirkan tentang gambar di atas? Apa kamu tahu itu apa, atau ini hal yang asing buatmu?
Gambar di atas adalah potongan dari ladder language, bahasa pemrograman yang dipakai oleh PLC. Lalu, apa itu PLC?
Kalau kamu pernah berkunjung ke pabrik dan melihat conveyor atau mesin-mesin lain, coba perhatikan sekelilingnya — mungkin kamu akan menemukan panel berwarna abu-abu. Di dalamnya biasanya ada kotak kecil yang disebut PLC.
Alat inilah yang mengontrol semua proses fisik dari mesin atau robot yang terhubung ke panel tersebut. PLC sendiri adalah singkatan dari Programmable Logic Controller.
Nah, gambar di awal tadi adalah program dari kotak kecil yang disebut PLC. Lalu, bagaimana caranya kotak kecil ini bisa menjadi “otak” dari sebuah proses? Sebelum masuk ke sana, mari kita pahami dulu beberapa pondasi PLC.
Bahasa Mesin (BIT, BYTE, WORD, ASCII)
Komputer dan PLC tidak mengerti bahasa manusia. Mereka tidak tahu apa itu huruf “A” atau huruf “S”. Mereka hanya mengerti listrik menyala (1) atau listrik mati (0).
BIT (Saklar Tunggal)
Bit adalah satuan terkecil, ibaratnya seperti 1 buah saklar lampu. Nilainya hanya ada dua: 0 (OFF) atau 1 (ON).
BYTE (Kumpulan 8 Saklar)
Jika kita jejerkan 8 buah saklar (bit), kita bisa membuat pola nyala-mati. Pola ini disepakati oleh seluruh dunia komputer (namanya ASCII) untuk mewakili 1 huruf.
Contoh: pola saklar 01010011 disepakati sebagai huruf ‘S‘.
Agar manusia tidak pusing membaca deretan 0 dan 1, pola ini disingkat menjadi kode yang disebut Hexadecimal (ditandai dengan simbol #). Huruf ‘S‘ kodenya adalah #53, huruf ‘T‘ kodenya adalah #54.
WORD (Kumpulan 16 Saklar / 2 Byte)
Di PLC Omron, ukuran standar “loker” penyimpanannya adalah Word. 1 Word = 16 Bit = bisa menampung tepat 2 huruf.
Jika kita gabungkan huruf ‘S‘ (#53) dan huruf ‘T‘ (#54) ke dalam 1 Word, kodenya menjadi gabungan #5354.
Memori PLC (Loker Penyimpanan)
Bayangkan PLC adalah sebuah ruangan besar dengan banyak jenis lemari atau loker. Setiap loker diberi nama, yang disebut alamat.
1. Loker D (Data Memory / Laci Barang Berharga)
Ini adalah laci besar (ukuran 1 Word / 2 huruf) untuk menyimpan data angka atau teks timbangan.
Contoh: D100, D1000.
Sifatnya tahan mati listrik — kalau listrik pabrik mati, isi laci ini tidak akan hilang.
2. Loker W (Work Area / Kertas Coretan Internal)
Ini seperti kertas buram atau coretan untuk manajer. Hanya dipakai untuk mencatat status sementara (ON/OFF) di dalam program. Contoh: W0.00, W1.01.
Tidak ada kabel fisiknya ke luar mesin.
3. Terminal atau CIO (Kabel Fisik ke Luar)
Ini BUKAN laci penyimpanan, melainkan kabel fisik yang terhubung ke dunia luar.
Contoh: 100.00, 101.00.
Jika program menyalakan 101.00, maka listrik benar-benar mengalir ke terminal panel nomor 101.00 dan menyalakan lampu atau komponen yang menggunakan jalur tersebut.
📌NoteLoker yang dibahas di atas (D, W, CIO) itu baru versi sederhananya. Faktanya, PLC CP1L-E ini punya 10 jenis loker memori (CIO, A, T, C, IR, DR, D, TK, H, W), masing-masing dengan tugas khusus sendiri.
Untuk sekarang cukup tahu dulu bahwa loker-loker ini ada. Detail tiap loker akan dibahas lebih dalam di lain waktu.
Mengenal Simbol-Simbol Utama dalam Ladder Logic
Bahasa pemrograman utama pada PLC disebut Ladder Logic, atau logika tangga. Cara paling gampang buat membacanya adalah dengan analogi rangkaian listrik. Bayangkan sebuah anak tangga — di dunia PLC disebut rung. Garis tegak di ujung kiri adalah sumber listrik positif (+), sementara garis tegak di ujung kanan adalah netral atau ground (-).
Tujuan dari setiap baris program sebenarnya cuma satu: bagaimana caranya arus listrik dari ujung kiri bisa mengalir menembus rintangan saklar, supaya perangkat di ujung kanan bisa menyala. Biar gampang dipahami, kita bagi komponen PLC jadi 3 keluarga besar.
1. Saklar / Input (Area Kiri)
Tugas mereka jadi rintangan. Mereka baru kasih jalan buat arus listrik kalau syarat fisiknya terpenuhi.
Saklar NO (Normally Open) — bentuk simbolnya --| |--. Ibarat saklar lampu rumah biasa: saat mesin diam, arus terputus. Begitu sensor mendeteksi barang atau tombol ditekan, saklar ini menutup dan membiarkan listrik lewat.
Saklar NC (Normally Closed) — bentuk simbolnya --|/|--. Ibarat tombol Emergency Stop berwarna merah. Kebalikan dari NO — saat mesin diam, arus listrik justru lewat. Tapi begitu tombol ini ditekan, dia malah memutus arus.
Saklar Transisi Naik (Pulse / Rising Edge) — bentuk simbolnya --| ^ |--. Ibarat tombol bel rumah atau lampu kilat kamera. Walaupun tombol fisiknya kamu tahan terus, saklar ini cuma mengalirkan listrik sekejap — selama 1 milidetik atau 1 scan cycle — tepat saat saklarnya baru ditekan. Berguna banget supaya mesin tidak mengeksekusi perintah yang sama berulang-ulang.
Sensor Pembanding (Comparator) — bentuk simbolnya --[ = ]-- atau --[ >= ]--. Perannya seperti petugas pengecek tiket: tidak butuh tombol fisik, melainkan mengecek isi memori angka di dalam PLC. Listrik baru diizinkan lewat kalau angkanya sesuai syarat — misalnya, arus boleh lewat hanya jika suhu mesin mencapai 50 derajat.
Saklar Sistem Bawaan (System Flag) — kadang di dalam program ada saklar yang tidak punya alamat angka, cuma tulisan huruf, seperti P_On, P_EQ, atau P_NE. Ini saklar otomatis dari mesin PLC itu sendiri. P_On misalnya, adalah saklar yang selalu mengalirkan listrik. Sedangkan P_EQ (Equals) baru menyambung hanya jika kotak sensor pembanding sebelumnya menyatakan hasilnya sama persis.
Beban / Output (Ujung Kanan)
Ini perangkat target. Mereka baru bisa menyala dan bekerja kalau berhasil tersentuh arus listrik dari arah kiri.
Coil / Output Biasa — bentuk simbolnya --( )--. Ibarat lampu pijar biasa atau motor konveyor. Kalau kena arus dari kiri, dia menyala. Begitu listrik dari kirinya putus, dia langsung mati.
Lampu Pengunci [SET] dan Pelepas Kunci [RESET] — ditulis sebagai kotak bertuliskan SET atau RSET. SET ibarat saklar otomatis yang mengunci — sekali saja tersenggol arus listrik dari kiri, dia akan menyala terus (terkunci), meskipun listriknya sudah putus kembali. RESET adalah musuh bebuyutannya: kalau dia yang kena arus, dia akan mematikan sistem yang tadinya terkunci itu secara paksa.
Relay Pengunci Dua Kaki [KEEP] — ditulis sebagai kotak bertuliskan KEEP. Versi praktis yang menggabungkan SET dan RESET jadi satu kotak instruksi, punya kaki atas (untuk menyalakan/mengunci) dan kaki bawah (untuk mematikan/membuka kunci).
Instruksi Khusus (Advanced Box)
Selain lampu, ujung kanan PLC juga bisa diisi “kotak mesin pintar” (instruction box) yang mengeksekusi rumus atau tugas rumit begitu tersenggol arus listrik.
Timer [TIM] — berfungsi sebagai stopwatch atau jam weker. Kalau dialiri listrik, dia menghitung mundur (misalnya menunggu 5 detik). Kalau listriknya terputus di tengah jalan, hitungannya langsung reset ke nol.
Pindah Data [MOV dan XFER] — berfungsi sebagai kuli angkut data digital. MOV (Move) tugasnya mengkopi satu kotak data ke memori lain, sementara XFER (Block Transfer) tugasnya memindahkan banyak laci data sekaligus secara massal.
Penggeser Bit [NASR dan NASL] — instruksi buat menggeser barisan bit ke kanan atau kiri. Di dunia industri, instruksi ini sering dipakai buat memotong-motong atau merapikan data teks (huruf ASCII) yang masuk dari kabel komunikasi mesin, supaya angkanya bisa dibaca terpisah dan bersih.
Penerima Data [RXD / Receive Data] — berfungsi sebagai “petugas pintu penerima”. Instruksi ini khusus dipakai buat menangkap paket data teks (serial) yang dikirim dari perangkat luar — misalnya mesin timbangan digital — lewat kabel komunikasi, lalu menyimpannya ke laci memori PLC.
Penyapu Bersih [BSET / Block Set] — berfungsi sebagai “petugas sapu bersih”. Tugasnya menyalin satu angka tertentu secara massal ke banyak laci sekaligus. Biasanya dipakai buat mereset atau mengosongkan laci memori (diisi angka nol) sebelum mulai memproses data penimbangan yang baru.
Varian Berkekuatan Ganda [akhiran L, seperti MOVL dan CMPL] — kadang ada instruksi dengan akhiran huruf L: Move Long dan Compare Long. Cara kerjanya persis seperti MOV dan sensor pembanding biasa, bedanya cuma di kapasitas angkutnya. Varian L ini “berkekuatan ganda” karena mampu memproses 2 laci memori sekaligus secara bersamaan (32-bit data).
📌 NoteNggak perlu hafal semua istilah ini sekaligus. Yang penting kamu paham pola besarnya dulu: ada saklar yang jadi syarat (kiri), ada beban yang jadi hasil (kanan), dan ada kotak-kotak pintar di tengah yang mengerjakan tugas spesifik begitu dialiri listrik.
Contoh Program Ladder
Sebelum masuk ke programnya, mari kita petakan dulu Daftar Alamat Laci dan Kabel (Address Mapping) agar paham komponen apa saja yang tersambung ke PLC.
Tabel Konvensi & Address (Documented for Maintenance)
[FAIL-SAFE / ACTIVE-LOW] (Normal/Aman = 1, Bahaya = 0)
0.01: Tombol STOP (Kabel NC)0.02: Tombol E-STOP (Kabel NC)0.03: Thermal Overload Pompa (Kabel NC)0.06: Sensor Level Bawah / Anti-Kering (Kabel NC, 1=Terendam, 0=Kering)
[ACTIVE-HIGH] (Normal = 0, Aktif = 1)
0.00: Tombol START (Kabel NO)0.04: Status 24VDC (Kabel NO)0.05: Sensor Level Atas / Penuh (Kabel NO)0.07: Flow Switch (Kabel NO)
[DATA MEMORY REGISTERS]
D100: Suhu AktualD104: Suhu Setpoint Bawah (Misal 48°C)D106: Suhu Setpoint Atas (Misal 52°C)D108: Batas Maksimal Ekstrem (Misal 80°C – Perlindungan Runaway)
Ladder Logic
====================================================================
RUNG 1: Keamanan Hardware Panel (Fail-Safe Interlock)
E-Stop (NC) CB Pompa (NC) PS 24V (NO) Sistem Ready
(+) ───────┤ ├───────────┤ ├──────────────┤ ├──────────────────( )─────── (-)
0.02 0.03 0.04 W0.00
--------------------------------------------------------------------
RUNG 2: Master Control (Dengan Auto-Reset Jika Sistem Trip)
Sistem Ready Tombol ON (Start) Master RUN
(+) ───────┤ ├──────────────┤ ├──────────────────────────────[ KEEP ]── (-)
W0.00 0.00 [ W0.01 ]
[ ]
Tombol OFF (Ditekan) [ ]
(+) ───────┬────────────────┤/├──────────────────────────────[ ]
│ 0.01 [ ]
│ [ ]
│ Sistem Ready Hilang (Trip) [ ]
└────────────────┤/├──────────────────────────────┘
W0.00
--------------------------------------------------------------------
RUNG 3: Kontrol Pompa Air
Master RUN Sensor Penuh Alarm Menyala Relay Pompa
(+) ───────┤ ├──────────────┤/├──────────────┤/├──────────────( )──────── (-)
W0.01 0.05 100.02 100.00
--------------------------------------------------------------------
RUNG 4: Keamanan Aliran Air (Timer 5 Detik Kavitasi)
Pompa Nyala Sensor Flow (Mati) Timer 5 Detik
(+) ───────┤ ├──────────────┤/├─────────────────────────────[ TIM 0000 ]── (-)
100.00 0.07 [ #0050 ]
--------------------------------------------------------------------
RUNG 5: Sistem Latch Sirine & Interlock Suhu Ekstrem
Timer Pipa Kering Kunci Sirine & Lampu Merah
(+) ───────┤ ├────────────────────────┬──────────────────────[ SET ]── (-)
T0000 │ [ 100.02 ]
CB Pompa Anjlok (Trip) │
(+) ───────┤/├────────────────────────┤
0.03 │
E-Stop Ditekan │
(+) ───────┤/├────────────────────────┤
0.02 │
Over-Temp (Suhu Aktual >= 80) │
(+) ───────[ >= ]──────────────────┘
[ D100 ]
[ D108 ]
Sistem Ready Tombol OFF Timer Clear Suhu Normal (Aktual < Batas Maks) Reset Alarm
(+) ───────┤ ├──────────┤/├──────────┤/├───────────[ < ]────────────────────────[ RSET ]── (-)
W0.00 0.01 T0000 [ D100 ] [ 100.02 ]
[ D108 ]
--------------------------------------------------------------------
RUNG 6: Logika Histerisis Pemanas (Menghindari Chattering Kontaktor)
Suhu < Batas Bawah (D104 misal 48°C) Flag Memanaskan
(+) ───────[ < ]─────────────────────────────────────────[ KEEP ]── (-)
[ D100 ] [ W0.02 ]
[ D104 ] [ ]
Suhu >= Batas Atas (D106 misal 52°C) [ ]
(+) ───────[ >= ]─────────────────────────────────────────[ ]
[ D100 ]
[ D106 ]
--------------------------------------------------------------------
RUNG 7: Eksekusi Heater (Syarat Lapis Baja)
Master RUN Pompa Jalan Sensor Bawah Flag Memanaskan Relay Pemanas
(+) ───────┤ ├──────────┤ ├──────────┤ ├──────────────┤ ├──────────────( )────── (-)
W0.01 100.00 0.06 W0.02 100.01
====================================================================
Sekarang mari mempelajari bagaimana sistem ini bekerja,
Kesepakatan Desain Keamanan (The “Why”)
Sebelum masuk ke Rung, kita harus paham konsep Fail-Safe. Di dunia industri, alat keamanan seperti tombol Emergency Stop (E-Stop) atau Circuit Breaker (CB) secara fisik dipasang menggunakan kabel NC (Normally Closed).
- Mengapa? Agar dalam kondisi “Aman”, listrik 24V terus mengalir ke PLC (bernilai 1).
- Jika terjadi bahaya, ATAU ada kabel yang putus digigit tikus, aliran listrik terhenti (bernilai 0). Karena PLC membaca sinyal 0 sebagai bahaya, mesin akan otomatis berhenti. Inilah mengapa di dalam software PLC, kita justru menggunakan kontak
--| |--(Normally Open) untuk sensor Fail-Safe.
RUNG 1: Keamanan Hardware (Safety Interlock)
- Bagaimana: Arus listrik harus melewati E-Stop, CB Pompa, dan indikator Power Supply sebelum bisa menghidupkan saklar
W0.00(Sistem Ready). - Kenapa & Mengapa: Ini adalah pondasi utama. PLC menolak untuk menjalankan mesin jika infrastruktur kelistrikan panelnya sendiri sedang tidak sehat. Jika tegangan drop atau CB motor pompa anjlok (trip),
W0.00langsung mati.
RUNG 2: Master Control (Jantung Operasional)
- Bagaimana: Tombol ON memicu kotak
KEEPuntuk menyalakanW0.01(Master RUN). Kuncian ini akan dilepas (RESET) jika Tombol OFF ditekan ATAU jikaW0.00(Sistem Ready) hilang. - Kenapa & Mengapa: Jika mesin tiba-tiba mati karena E-Stop ditekan, kita tidak ingin mesin langsung menyala sendiri begitu E-Stop ditarik kembali (sangat berbahaya bagi teknisi!). Dengan memasukkan
W0.00ke jalur Reset, status “Mesin Berjalan” benar-benar dihapus. Operator wajib memulai prosedur dengan menekan tombol ON lagi dari awal.
RUNG 3: Kontrol Pompa Air
- Bagaimana: Pompa (
100.00) baru bisa menyala jika Master RUN hidup, Sensor Air Penuh belum mendeteksi air (--|/|-- 0.05), dan Alarm Bahaya tidak menyala (--|/|-- 100.02). - Kenapa & Mengapa: Syarat
--|/|-- 0.05berfungsi sebagai rem otomatis agar air tidak luber (banjir). Syarat--|/|-- 100.02adalah pemutus darurat; jika PLC mendeteksi bahaya fatal di Rung manapun yang memicu alarm, pompa akan langsung diputus dari aliran listrik.
RUNG 4: Keamanan Kavitasi (Dry-Run Protection)
- Bagaimana: Jika Pompa menyala (
100.00) TETAPI Flow Switch mendeteksi tidak ada aliran air (--|/|-- 0.07), Timer 5 detik (TIM 0000) akan mulai menghitung. - Kenapa & Mengapa: Pompa air menggunakan air sebagai pelumas dan pendingin baling-balingnya. Jika toren habis atau pipa bocor parah, pompa akan menyedot udara kosong (kavitasi). Timer 5 detik memberikan toleransi wajar saat pompa baru menyala untuk menghisap air, namun jika lebih dari 5 detik tetap tidak ada air, ini dianggap sebagai kerusakan dan memicu alarm.
RUNG 5: Pusat Alarm & Syarat Reset
- Bagaimana (Trigger Alarm): Instruksi
SETpada Alarm Sirine (100.02) akan terkunci menyala jika salah satu dari 4 hal ini terjadi: Pipa kering (T0000), CB Trip, E-Stop Ditekan, atau Suhu Ekstrem di atas 80°C (D100 >= D108). - Bagaimana (Reset Alarm): Instruksi
RSET(mematikan sirine) HANYA BISA dilakukan dengan menekan Tombol OFF jika keempat bahaya di atas sudah hilang sepenuhnya (W0.00nyala,T0000clear, dan suhu turun di bawah 80°C). - Kenapa & Mengapa: Mencegah kelalaian manusia (Human Error). Seringkali saat sirine berbunyi berisik, operator panik dan membungkam sirine (me-reset) padahal suhu di dalam tangki masih 85°C dan siap meledak. Syarat reset berlapis ini memaksa operator untuk mendinginkan mesin dan membereskan akar masalahnya terlebih dahulu.
RUNG 6: Histerisis Pemanas (Anti-Chattering)
- Bagaimana: Flag Memanaskan (
W0.02) baru akan di-SET jika suhu turun di bawah 48°C. Flag ini baru di-RESET (dimatikan) jika suhu naik melebihi 52°C. - Kenapa & Mengapa: Jika kita hanya memakai satu titik potong (misal 50°C), maka pada suhu 49.9°C pemanas menyala, di 50.0°C pemanas mati, lalu sedetik kemudian turun ke 49.9°C pemanas nyala lagi. Proses nyala-mati super cepat ini disebut Chattering. Ini akan merusak dan melelehkan kontaktor mekanik di dalam panel listrik dalam hitungan hari. Jeda/histerisis (48 – 52) memberikan “napas” bagi komponen hardware.
RUNG 7: Eksekusi Heater yang Sempurna
- Bagaimana: Relay Pemanas (
100.01) menyala jika semua syarat ini terpenuhi: Mesin RUN, Pompa Jalan, Sensor Batas Bawah Terendam Air (0.06), dan Flag Pemanas minta nyala. - Kenapa & Mengapa: Elemen pemanas (Heater) besi akan langsung memerah, meleleh, bahkan menyebabkan kebakaran jika dinyalakan dalam keadaan tangki kosong (tidak tercelup air). Oleh karena itu, programmer menaruh sensor
0.06sebagai penjaga fisik bahwa batang heater benar-benar terendam air. Syarat “Pompa Jalan” ditambahkan sesuai logic flow yang diminta, di mana pemanas didesain untuk ikut bekerja memanaskan air hanya ketika ada aliran air baru yang masuk untuk diaduk di dalam tangki.
Sampai di sini, kita sudah mengintip sedikit “isi kepala” dari kotak kecil bernama PLC — mulai dari bagaimana ia hanya mengenal bahasa 0 dan 1 (bit), bagaimana bit-bit itu disusun jadi byte dan word agar bisa menyimpan huruf atau angka, sampai bagaimana ia mengatur data lewat “loker-loker” seperti D, W, dan CIO.
Yang paling penting untuk diingat: PLC pada dasarnya hanyalah alat yang membaca kondisi (ON/OFF), memprosesnya lewat program ladder, lalu memutuskan apa yang harus dinyalakan atau dimatikan di dunia nyata. Sederhana di konsepnya, tapi dari situlah lahir otomasi yang menggerakkan pabrik-pabrik di seluruh dunia.
Ini baru permukaan. Masih ada banyak hal yang belum dibahas — cara membaca instruksi di ladder diagram, jenis-jenis loker memori lainnya, sampai bagaimana menulis program PLC yang sesungguhnya. Semua itu akan kita kupas satu per satu di tulisan-tulisan berikutnya
Kalau kamu baru pertama kali dengar soal PLC, semoga tulisan ini cukup membuka gambaran dasarnya. Sampai jumpa di pembahasan selanjutnya!