Protokol Modbus

Modbus adalah protokol komunikasi serial yang dipublikasikan oleh Modicon pada tahun 1979 untuk diaplikasikan ke dalam programmable logic controllers (PLCs). Modbus sudah menjadi standar protokol yang umum digunakan untuk menghubungkan peralatan elektronik industri. Beberapa alasan mengapa protokol ini banyak digunakan, antara lain:

  • Modbus dipublikasikan secara terbuka dan bebas royalti
  • Mudah digunakan dan dipelihara
  • Memindahkan data bit atau word tanpa terlalu banyak membatasi vendor

Modbus mampu menghubungkan 247 peralatan (slave) dalam satu jaringan atau master, misalnya sebuah sistem yang melakukan pengukuran suhu dan kelembapan dan mengirimkan hasilnya ke sebuah komputer. Modbus sering digunakan untuk menghubungkan komputer pemantau dengan remote terminal unit (RTU) pada sistem supervisory control and data acquisition (SCADA).

Jenis Modbus

Beberapa variasi Modbus, antara lain:

  • Modbus RTU – Merupakan varian Modbus yang ringkas dan digunakan pada komunikasi serial. Format RTU dilengkapi dengan mekanisme cyclic redundancy error (CRC) untuk memastikan keandalan data. Modbus RTU merupakan implementasi protokol Modbus yang paling umum digunakan. Setiap frame data dipisahkan dengan periode idle (silent).
  • Modbus ASCII – Digunakan pada komunikasi serial dengan memanfaatkan karakter ASCII. Format ASCII menggunakan mekanisme longitudinal redundancy check (LRC). Setiap frame data Modbus ASCII diawali dengan titik dua (“:”) dan baris baru yang mengikuti (CR/LF).
  • Modbus TCP/IP atau Modbus TCP – Merupakan varian Modbus yang digunakan pada jaringan TCP/IP.

Komunikasi

Variasi Modbus dapat diaplikasikan pada port serial dan ethernet dan jaringan lainnya yang support dengan internet protocol suite. Sebagian besar peralatan Modbus menggunakan port serial RS-485. Konsep dasar komunikasi Modbus terdiri master dan slave. Peralatan yang bertindak sebagai slave akan terus idle kecuali mendapat perintah dari master. Setiap Peralatan yang dihubungkan (slave) harus memiliki alamat unik. Sebuah perintah Modbus dilengkapi dengan alamat tujuan perintah tersebut. Hanya alamat tujuan yang akan memproses perintah, meskipun peralatan yang lain mungkin menerima perintah tersebut. Setiap perintah modbus memiliki informasi pemeriksaan kesalahan untuk memastikan data diterima tanpa kerusakan. Perintah dasar Modbus RTU dapat memerintahkan peralatan untuk mengubah nilai registernya, mengendalikan dan membaca port I/O, serta memerintahkan peralatan untuk mengirimkan kembali nilai yang ada pada registernya.

Format

Tiap variasi modbus mempunyai format data sendiri-sendiri:

MODBUS-Frame

Modbus RTU Frame Format
Name Length
(bits)
Function
Start 28 Awalan minimal 3 12 karakter
Address 8 Station Address
Function 8 Function code
Data n * 8 Data + length
CRC 16 bits Error checks CRC
End 28 Akhiran minimal 3 1⁄2 karakter
 

Modbus ASCII Frame Format

Name Length
(char.)
Function
Start 1 Awalan dengan titik 2 ( : ) (ASCII hex value adalah 0x3A)
Address 2 Station Address
Function 2 Function code
Data n Data + length
LRC 2 Error checks CRC
End 2 carriage return – line feed(CR/LF) pair (ASCII values of 0x0D & 0x0A)
Modbus TCP Frame Format
Name Length
(bytes)
Function
Transaction Identifier 2 Untuk sinkronisasi pesan antara server dan klient
Protocol Identifier 2 0 untuk Modbus/TCP
Length Field 2 Panjang bytes sisa di frame
Unit Identifier 1 Slave Address (255 jika tidak terpakai)
Function code 1 Function code
Data bytes n Data sebagai perintah atau respon

Function Code

Modbus function codes
Function type Function name Function code
Data Access Bit access Physical Discrete Inputs Read Discrete Inputs 2
Internal Bits or Physical Coils Read Coils 1
Write Single Coil 5
Write Multiple Coils 15
16-bit access Physical Input Registers Read Input Register 4
Internal Registers or Physical Output Registers Read Holding Registers 3
Write Single Register 6
Write Multiple Registers 16
Read/Write Multiple Registers 23
Mask Write Register 22
Read FIFO Queue 24
File Record Access Read File Record 20
Write File Record 21
Diagnostics Read Exception Status 7
Diagnostic 8
Get Com Event Counter 11
Get Com Event Log 12
Report Slave ID 17
Read Device Identification 43
Other Encapsulated Interface Transport 43

Sumber : wikipedia id en

Leave a comment