Instruksi Perbandingan PLC: Equal, Greater Than, Less Than untuk Logika Alarm

Apa Itu Instruksi Perbandingan pada PLC?

Instruksi perbandingan (comparison) membandingkan dua nilai — biasanya sebuah variabel proses dengan sebuah setpoint — dan menghasilkan satu keluaran boolean: TRUE atau FALSE. Enam operator dasarnya sama dengan yang dipelajari di matematika sekolah: sama dengan (=), tidak sama dengan (≠), lebih besar (>), lebih kecil (<), lebih besar atau sama dengan (≥), dan lebih kecil atau sama dengan (≤).

Kalau instruksi matematika menghasilkan angka dan instruksi data handling memindahkan angka, instruksi perbandingan mengubah angka menjadi keputusan. Di sinilah nilai analog yang sudah discaling — level tangki, tekanan, suhu — akhirnya dipakai untuk mengambil aksi kontrol: menyalakan pompa, membunyikan alarm, atau menghentikan proses. Tanpa instruksi perbandingan, semua perhitungan dan pengelolaan data pada artikel-artikel sebelumnya tidak akan pernah berubah jadi tindakan nyata di lapangan.

Enam Operator Dasar yang Perlu Dibedakan

OperatorArtiContoh Pemakaian di Lapangan
= (Equal)Sama denganMendeteksi posisi tepat sebuah step/resep produksi
(Not Equal)Tidak sama denganMendeteksi penyimpangan dari nilai referensi
> (Greater Than)Lebih besar dariAlarm level tinggi, alarm tekanan berlebih
< (Less Than)Lebih kecil dariAlarm level rendah, start pompa pengisian
(Greater or Equal)Lebih besar atau sama denganBatas atas operasi normal, stop pengisian
(Less or Equal)Lebih kecil atau sama denganBatas bawah operasi normal, toleransi batch (seperti dibahas di instruksi matematika)

Dua Gaya Penulisan Instruksi Perbandingan

Sebelum masuk ke studi kasus, ada satu perbedaan mendasar antar merek yang perlu dipahami: cara instruksi perbandingan digambarkan dalam ladder diagram. Ada dua gaya:

  • Gaya blok fungsi (function block): instruksi perbandingan digambar sebagai kotak dengan input IN1/IN2 (atau Source A/B) dan satu output boolean terpisah, mirip instruksi matematika. Dipakai Siemens, Schneider, dan Allen-Bradley (misalnya blok LES, GTR, GEQ pada Micro820).
  • Gaya kontak inline: simbol operator (<, >, ≥, dst.) digambar langsung sebagai kontak di dalam rung, seolah-olah kontak fisik biasa yang bisa diseri dan diparalel dengan kontak lain. Dipakai Omron dan Mitsubishi.

Perbedaan ini murni soal notasi, bukan soal logika — hasilnya identik. Tapi programmer yang terbiasa dengan satu gaya sering kebingungan sesaat saat pertama kali membaca program di merek dengan gaya berbeda, terutama saat mencari di mana letak “hasil” dari suatu perbandingan pada gaya kontak inline (jawabannya: tidak ada variabel hasil terpisah, hasilnya langsung menentukan aliran rung seperti kontak biasa).

Studi Kasus: Kontrol Level Tank Otomatis dengan Instruksi Perbandingan

Studi kasus yang dipakai konsisten di kelima merek: sebuah tangki penyimpanan air (T-101) memiliki level transmitter (LT-101, 4-20 mA, skala 0-100%) yang nilainya dibandingkan dengan beberapa setpoint untuk mengontrol pompa pengisian (P-101) secara otomatis, dengan dua ambang alarm terpisah.

  • Pompa ON jika level < 30% (SP_Low)
  • Pompa OFF jika level ≥ 70% (SP_High)
  • Alarm level rendah jika level < 10% (SP_LowAlarm)
  • Alarm level tinggi jika level ≥ 90% (SP_HighAlarm)

Urutan kerja programnya:

  1. Baca nilai level dari analog input (Level_AI), sudah dalam bentuk persentase hasil scaling.
  2. Mode Auto: bandingkan Level_AI dengan SP_Low dan SP_High — jika level < SP_Low maka bit Pump_Run_M di-SET (pompa mulai mengisi), jika level ≥ SP_High maka bit Pump_Run_M di-RESET (pompa berhenti).
  3. Mode Manual: Pump_Run_M dikontrol langsung lewat tombol Start (SET) dan Stop (RESET), mengabaikan perbandingan level.
  4. Output pompa mengikuti status Pump_Run_M, berlaku untuk kedua mode.
  5. Alarm level rendah dan tinggi dievaluasi terus-menerus setiap scan lewat perbandingan langsung (bukan lewat latch) — begitu level kembali normal, alarm otomatis mati.

Desain dua-setpoint ini (SP_Low 30% untuk ON, SP_High 70% untuk OFF) bukan kebetulan — ini adalah pola gap control atau two-point control yang sengaja memberi jarak antara titik ON dan titik OFF, supaya pompa tidak menyala-mati berulang kali (chattering) saat level berada persis di satu angka. Pola ini jauh lebih andal dibanding memakai satu setpoint tunggal untuk kedua aksi — dibahas lebih lanjut di bagian kesalahan umum.

Implementasi pada Lima Merek PLC

Logika perbandingan di atas sama di semua merek — yang berbeda adalah gaya penulisan (blok fungsi vs kontak inline) dan cara pengalamatan.

Allen-Bradley Micro820 (Connected Components Workbench)

Studi kasus instruksi perbandingan LES GTR GEQ pada PLC Allen-Bradley Micro820 CCW

Micro820 memakai blok fungsi IEC standar: LES (Less Than), GTR (Greater Than), dan GEQ (Greater or Equal), masing-masing dengan Source A dan Source B sebagai input dan satu output boolean. Hasil perbandingan pada Network 1 dan 2 langsung memicu coil L (Latch) dan U (Unlatch) untuk bit Pump_Run_M — pola yang sama dengan instruksi SET/RST yang sudah dibahas di artikel program control.

Siemens S7-1200/1500 (TIA Portal)

Studi kasus instruksi perbandingan Compare pada PLC Siemens S7-1200 TIA Portal

TIA Portal memakai blok Compare dengan simbol operator langsung di tengah kotak (<, ≥, >) dan dua input IN1/IN2 bertipe data yang dipilih lewat dropdown (Real, Int, DInt). Studi kasus ini memakai tipe data Real untuk Level_AI yang sudah discaling dari input analog mentah — pola scaling ini sama dengan yang dibahas pada instruksi matematika sebelumnya.

Omron CP Series (CX-Programmer)

Studi kasus instruksi perbandingan pada PLC Omron CP Series CX-Programmer

Omron menggambar simbol < dan ≥ langsung sebagai kontak inline dalam rung, diseri dengan kontak Mode_Auto sebelum memicu SET/RSET. Karena bentuknya seperti kontak biasa, perbandingan bisa langsung dikombinasikan dengan AND/OR memakai kontak lain di rung yang sama tanpa perlu variabel output perantara.

Schneider Modicon TM221CE (EcoStruxure Machine Expert – Basic)

Studi kasus instruksi perbandingan pada PLC Schneider Modicon TM221CE

TM221CE memakai gaya blok fungsi dengan EN/ENO seperti Siemens, operand bertipe REAL beralamat %MW. Struktur network-nya identik dengan keempat merek lain: Network 1-2 untuk kontrol pompa mode Auto, Network 3 untuk mode Manual, Network 4-5 untuk kedua alarm.

Mitsubishi FX Series (GX Works2)

Studi kasus instruksi perbandingan pada PLC Mitsubishi FX Series GX Works2

Seperti Omron, FX Series memakai gaya kontak inline dengan simbol < dan ≥ langsung di rung, memakai device D untuk data INT (Level_AI, setpoint) dan device X/Y/M untuk I/O dan internal — konsisten dengan pola pengalamatan Mitsubishi yang sudah dibahas di artikel-artikel sebelumnya.

Tabel Perbandingan Instruksi Antar Merek

AspekSiemens S7-1200Omron CP SeriesMitsubishi FXSchneider TM221CEAllen-Bradley Micro820
Gaya penulisanBlok fungsi (Compare, EN/ENO)Kontak inlineKontak inlineBlok fungsi (EN/ENO)Blok fungsi (LES/GTR/GEQ)
Instruksi < (Less Than)Compare <Kontak <Kontak <Compare <LES
Instruksi > (Greater Than)Compare >Kontak >Kontak >Compare >GTR
Instruksi ≥ (Greater or Equal)Compare ≥Kontak ≥Kontak ≥Compare ≥GEQ

Kesalahan Umum saat Memakai Instruksi Perbandingan

1. Memakai satu setpoint tunggal untuk ON dan OFF

Mengontrol pompa dengan satu angka yang sama untuk menyalakan dan mematikan (misalnya “ON jika level < 50%, OFF jika level ≥ 50%”) membuat output menyala-mati berulang kali (chattering) saat nilai analog bergetar tepat di sekitar angka tersebut akibat noise sinyal. Solusinya adalah pola gap control seperti pada studi kasus ini — pakai dua setpoint berbeda (SP_Low dan SP_High) yang memberi jarak/hysteresis antara titik ON dan OFF.

2. Salah memilih antara operator strict dan inklusif

Perbedaan antara < dan ≤, atau antara > dan ≥, tampak sepele tapi menentukan perilaku tepat di titik batas. Sistem yang dirancang dengan < 0,5 kg (seperti pada instruksi matematika) akan menolak batch yang selisihnya persis 0,5 kg, sedangkan ≤ 0,5 kg akan menerimanya — pastikan pilihan operator sesuai spesifikasi proses, bukan asal pilih.

3. Membandingkan tipe data yang tidak sesuai

Membandingkan nilai REAL dengan konstanta INT, atau sebaliknya, tanpa konversi tipe data eksplisit bisa menghasilkan perbandingan yang salah atau bahkan gagal compile, tergantung merek. Pastikan kedua operand instruksi perbandingan memakai tipe data yang sama.

4. Alarm tidak di-latch padahal dibutuhkan bukti kejadian

Pada studi kasus ini, alarm dievaluasi langsung dari perbandingan setiap scan — begitu level kembali normal, alarm otomatis padam. Ini cocok untuk indikasi real-time, tapi untuk kebutuhan audit trail (operator perlu tahu bahwa alarm pernah terjadi meski kondisinya sudah normal), sebaiknya alarm di-SET saat kondisi terpenuhi dan baru di-RESET lewat tombol acknowledge manual, bukan otomatis kembali normal.

5. Membandingkan nilai analog mentah yang belum discaling

Sama seperti kesalahan yang dibahas pada instruksi matematika, membandingkan nilai ADC mentah (misalnya 0-27648) langsung dengan setpoint dalam satuan teknik (seperti 30% atau 70%) akan selalu menghasilkan hasil yang salah. Pastikan scaling sudah dilakukan sebelum nilai masuk ke instruksi perbandingan.

Kesimpulan dan Tips Praktis

Instruksi perbandingan adalah titik temu antara data yang sudah diproses (lewat instruksi matematika dan data handling) dengan aksi kontrol nyata di lapangan. Studi kasus kontrol level tank di atas menunjukkan pola desain yang berlaku universal: pisahkan setpoint kontrol (dengan gap/hysteresis) dari setpoint alarm, dan pertimbangkan apakah alarm perlu di-latch atau cukup real-time. Beberapa tips praktis:

  • Gunakan gap control (dua setpoint berbeda) untuk logika ON/OFF, jangan satu setpoint tunggal.
  • Perhatikan perbedaan strict vs inklusif (< vs ≤, > vs ≥) sesuai spesifikasi proses.
  • Samakan tipe data kedua operand sebelum dibandingkan.
  • Pertimbangkan kebutuhan latch pada alarm — real-time untuk indikasi, latch + acknowledge untuk audit trail.
  • Pastikan scaling sudah dilakukan sebelum nilai analog dibandingkan dengan setpoint.
  • Kenali gaya penulisan merek yang dipakai — blok fungsi atau kontak inline — agar tidak salah membaca logika program.

Dengan instruksi perbandingan, seri artikel instruksi dasar PLC (bit logic, timer, counter, matematika, data handling, program control, dan perbandingan) sudah mencakup fondasi yang dibutuhkan untuk membaca dan menulis ladder diagram di kelima merek PLC industri utama.

Baca Juga:
Instruksi Bit Logic PLC: LD, AND, OR, OUT dan Cara Membaca Ladder Diagram
Instruksi Matematika PLC: ADD, SUB, MUL, DIV untuk Scaling dan Totalizer
Program Control PLC: SET, RST, JMP, LBL untuk Latching dan Alur Program
Training PLC Lengkap: Pelatihan Online & Offline Bersertifikat

FAQ Instruksi Perbandingan PLC

Apa perbedaan instruksi perbandingan gaya blok fungsi dengan gaya kontak inline?
Keduanya menghasilkan logika yang identik. Gaya blok fungsi (dipakai Siemens, Schneider, Allen-Bradley) menggambar perbandingan sebagai kotak dengan output boolean terpisah, sedangkan gaya kontak inline (dipakai Omron, Mitsubishi) menggambar simbol operator langsung sebagai kontak dalam rung tanpa variabel output perantara.

Kenapa pompa saya menyala-mati berulang kali (chattering) di dekat satu titik level tertentu?
Kemungkinan besar karena logika ON dan OFF memakai setpoint yang sama. Terapkan pola gap control dengan dua setpoint berbeda (satu untuk ON, satu untuk OFF, dengan jarak yang cukup) agar noise sinyal analog tidak memicu perubahan status berulang-ulang.

Apa bedanya operator < dengan ≤ dalam praktiknya?
Perbedaannya ada tepat di titik batas: < tidak menyertakan nilai batas itu sendiri, sedangkan ≤ menyertakannya. Misalnya toleransi “selisih ≤ 0,5 kg” akan menerima batch dengan selisih persis 0,5 kg, sementara “selisih < 0,5 kg” akan menolaknya.

Apakah alarm sebaiknya selalu di-latch?
Tergantung kebutuhan. Alarm real-time (langsung dari hasil perbandingan, seperti pada studi kasus ini) cocok untuk indikasi kondisi saat ini. Untuk kebutuhan audit atau investigasi (operator perlu tahu alarm pernah terjadi), alarm sebaiknya di-SET saat kondisi terpenuhi dan baru direset manual lewat tombol acknowledge.

Bisakah instruksi perbandingan dipakai langsung pada sinyal analog mentah dari modul input?
Sebaiknya tidak. Sinyal analog mentah (misalnya 0-27648) perlu discaling ke satuan teknik terlebih dulu (persentase, kg, bar) sebelum dibandingkan dengan setpoint, seperti dibahas pada instruksi matematika. Membandingkan nilai mentah dengan setpoint dalam satuan teknik akan selalu menghasilkan hasil yang salah.

Apakah semua merek PLC mendukung keenam operator perbandingan yang sama?
Pada dasarnya ya — semua PLC modern mendukung =, ≠, >, <, ≥, dan ≤ dalam berbagai bentuk. Yang berbeda hanyalah notasi penulisannya (blok fungsi atau kontak inline) dan nama instruksinya di masing-masing software pemrograman.

Related Articles

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