Komunikasi PLC Omron CP1H (CIF11) dengan Arduino sebagai Slave Modbus RTU

- Pendahuluan
Dalam sistem otomasi industri, komunikasi antar perangkat merupakan aspek penting untuk memastikan koordinasi dan kontrol berjalan dengan efisien. Salah satu protokol komunikasi yang banyak digunakan di industri adalah Modbus RTU, karena sifatnya yang terbuka dan mudah diimplementasikan.
PLC Omron CP1H memiliki kemampuan untuk berkomunikasi melalui port serial dengan bantuan modul komunikasi CP1W-CIF11, yang mendukung komunikasi RS-485. Di sisi lain, Arduino dapat difungsikan sebagai perangkat slave dalam jaringan Modbus RTU, sehingga data dapat dipertukarkan secara dua arah dengan PLC sebagai master.
Praktikum ini bertujuan untuk mengajarkan peserta bagaimana cara menghubungkan PLC Omron CP1H sebagai master dengan Arduino sebagai slave melalui komunikasi Modbus RTU berbasis RS-485, serta mengirim dan membaca data antar kedua perangkat.
- Dasar Teori
2.1. Modbus RTU
Modbus RTU adalah salah satu varian protokol Modbus yang menggunakan komunikasi serial (RS-232 atau RS-485) dengan format biner. Protokol ini bersifat master-slave, artinya satu perangkat akan menjadi pengendali (master) yang meminta data, sementara satu atau lebih perangkat lainnya (slave) akan merespons.
Modbus RTU memiliki frame komunikasi yang terdiri dari:
-
-
- Slave Address
- Function Code
- Data
- CRC (Cyclic Redundancy Check)
-
2.2. RS-485
RS-485 merupakan standar komunikasi serial diferensial yang umum digunakan di lingkungan industri karena keandalannya untuk komunikasi jarak jauh dan gangguan elektromagnetik yang rendah. RS-485 memungkinkan komunikasi multipoint dengan topologi bus dan dapat menghubungkan lebih dari dua perangkat.
2.3. PLC Omron CP1H dan Modul CP1W-CIF11
PLC Omron CP1H memiliki port serial opsional menggunakan modul CP1W-CIF11 yang berfungsi untuk mengaktifkan komunikasi RS-485. Modul ini terpasang pada slot kiri PLC dan digunakan untuk berbagai protokol komunikasi, termasuk Modbus RTU.
2.4. Arduino sebagai Modbus RTU Slave
Arduino dapat dikonfigurasi sebagai slave dalam sistem Modbus RTU dengan menggunakan library seperti ModbusRTUSlave atau SimpleModbusSlave. Untuk komunikasi RS-485, dibutuhkan konverter seperti MAX485 agar kompatibel dengan sinyal diferensial dari CP1W-CIF11.
- Tujuan Praktikum
-
- Mahasiswa memahami konsep komunikasi Modbus RTU antara PLC dan mikrokontroler.
- Mahasiswa dapat menghubungkan PLC Omron CP1H dengan Arduino melalui RS-485.
- Mahasiswa dapat mengirim dan membaca data dari Arduino ke PLC dan sebaliknya.
- Alat dan Bahan
No | Nama Alat dan Bahan | Jumlah |
1 | PLC Omron CP1H + CP1W-CIF11 | 1 set |
2 | Arduino Uno / Nano / Mega | 1 buah |
3 | Converter TTL to RS485 | 1 buah |
4 | Kabel RS-485 (2-wire: A/B) | secukupnya |
5 | Resistor terminator 120 Ohm | 2 buah |
6 | Software CX-Programmer | 1 buah |
7 | Kabel USB untuk Arduino | 1 buah |
8 | Power supply 5V/12V | secukupnya |
- Skematik Koneksi
- Langkah Praktikum
6.1. Program Arduino sebagai Slave
Upload program berikut ke Arduino:
#include <ModbusRtu.h> #define ID_SLAVE 1 #define RX_PIN 10 #define TX_PIN 11 #define DE_RE_PIN 2 Modbus slave(ID_SLAVE, Serial, DE_RE_PIN); // 10 Holding registers uint16_t holdingRegs[10]; void setup() { pinMode(DE_RE_PIN, OUTPUT); digitalWrite(DE_RE_PIN, LOW); Serial.begin(9600); // Baudrate sesuai di CIF11 slave.begin(9600); slave.setHreg(0, 123); // Contoh data awal } void loop() { slave.poll(holdingRegs, 10); }
Catatan:
-
- Gunakan library ModbusRtu (instal dari Library Manager).
- RX/TX disesuaikan dengan komunikasi Serial Arduino.
- DE_RE_PIN mengontrol arah komunikasi pada MAX485.
6.2. Konfigurasi di PLC (CX-Programmer)
-
- Buka CX-Programmer dan buat project baru untuk CP1H.
- Konfigurasi Serial Port Settings pada CIF11:
- Mode: Serial Gateway (Modbus RTU)
- Baudrate: 9600
- Data Bits: 8
- Parity: None
- Stop Bits: 1
- Gunakan Serial Gateway instruction di ladder:
- Gunakan fungsi PMCR atau MODBUS Serial Master (jika ada library Modbus).
- Kirim perintah untuk membaca Holding Register dari Arduino (fungsi 03) alamat 0000 panjang 1 register.
- Simulasikan atau jalankan PLC untuk melihat data register terbaca.
- Uji Coba dan Analisis
-
- Setelah komunikasi aktif, amati data pada register PLC.
- Ubah nilai holdingRegs[0] di Arduino dan lihat apakah berubah di PLC.
- Lakukan sebaliknya: PLC menulis data ke Arduino (fungsi code 06 atau 16).
- Catat hasil komunikasi, delay, dan validasi data yang dikirim.
- Pertanyaan dan Tugas
-
- Apa fungsi dari DE/RE pada modul MAX485?
- Apa perbedaan komunikasi RS-232 dan RS-485 dalam konteks industri?
- Ubah program Arduino agar data pada register 0 bertambah otomatis setiap 2 detik.
- Buat satu skenario di mana PLC menulis ke Arduino dan Arduino mengubah perilaku berdasarkan nilai tersebut (misalnya menyalakan LED).
- Kesimpulan
Dari praktikum ini, mahasiswa mempelajari konsep dan implementasi komunikasi serial RS-485 berbasis Modbus RTU antara PLC Omron CP1H sebagai master dan Arduino sebagai slave. Penerapan ini umum dalam sistem kontrol industri modern di mana perangkat PLC perlu berinteraksi dengan sensor atau modul murah berbasis mikrokontroler.