Protokol Modbus: Protokol komunikasi serial yang diterbitkan oleh Modicon Corporation (sekarang Schneider Electric) pada tahun 1979 untuk komunikasi menggunakan pengontrol logika yang dapat diprogram (PLC). Modbus telah menjadi standar industri (De facto) untuk protokol komunikasi di bidang industri, dan kini menjadi metode koneksi yang umum digunakan antar peralatan elektronik industri.
Penjelasan konkrit tentang komunikasi: Mirip dengan proses komunikasi manusia, ia memerlukanperan komunikasi(master-budak, klien-server...),media komunikasi(Serial, Ethernet, Nirkabel...),surat perjanjian kerjasama(modbus, S7, MC...) tiga elemen.
Tiga elemen protokol jaringan:tata bahasa(struktur atau format data dan informasi kontrol),Semantik(Informasi kontrol apa yang dikirimkan), sinkronisasi (deskripsi rinci tentang urutan implementasi acara, kecepatan pencocokan, dll.).
Pengenalan protokol ModbusRTU
Struktur tata bahasa:
Kode alamat: digunakan untuk mengidentifikasi perangkat budak, berkisar antara 0 hingga 247, di mana 0 adalah alamat siaran, dan semua perangkat budak akan menerima data dari alamat ini.
Kode fungsi: digunakan untuk menunjukkan jenis operasi yang akan dilakukan, seperti membaca nilai register, menulis register tunggal, dll.
Data: termasuk alamat register, nilai data, dan informasi lainnya, bergantung pada kode fungsi, konten dan panjang data akan berbeda.
Kode pemeriksaan CRC: digunakan untuk mendeteksi apakah terjadi kesalahan selama transmisi data. Tambahkan dua byte kode cek CRC di akhir frame data. Setelah penerima menerima data, ia menghitung ulang kode cek CRC dan membandingkannya dengan kode cek CRC yang diterima proses transmisi.
kode fungsi:
Kode fungsi 01 : Membaca status kumparan (Read Coils), digunakan untuk membaca status 1 hingga 2000 kumparan secara terus menerus dari perangkat jarak jauh.
Kode fungsi 02: Baca status input (Baca Input) untuk mendapatkan status ON/OFF saat ini dari sekelompok input sakelar.
Kode fungsi 03: Membaca register induk (Read Holding Registers) untuk mendapatkan nilai biner saat ini dalam satu atau lebih register induk.
Kode fungsi 04: Membaca register masukan (Read Input Registers) untuk mendapatkan nilai biner saat ini dalam satu atau lebih register masukan.
Kode fungsi 05: Force Single Coil, memaksa keadaan on-off dari logic coil.
Kode fungsi 06: Preset Single Register, memuat nilai biner tertentu ke dalam holding register.
Kode fungsi 15: Memaksa Banyak Kumparan, memaksa menghidupkan dan mematikan serangkaian kumparan logika kontinu.
Kode fungsi 16: Preset Multiple Register (Preset Multiple Register), memuat nilai biner tertentu ke dalam rangkaian register penahan kontinu.
contoh: Baca (03) derajat pembukaan tirai di slave (01) (baca dari detik: 00 02 baca satu bit 00 01 CRC cek 25 CA):