Komunikasi via Protokol Modbus (RTU) dan Contoh Source Code VB6
10 Maret 2010, 01.00
Diposting Oleh: Ari Sulistiono | lokasi Tag: Control System, Komunikasi Data
Abstract:
Manusia dapat saling berkomunikasi satu sama lain karena adanya mulut sebagai penyampai informasi dan telinga sebagai penerima informasi. Namun disamping itu kedua hal itu saja tidak cukup. Dalam hal ini dibutuhkan sebuah bahasa yang dapat dimengerti oleh kedua belah pihak agar proses perpindahan informasi dapat diterima dengan baik tanpa adanya “miss-communication”.
Begitu pula pada peralatan berbasis komputer ataupun mikrokomputer, untuk berkomunikasi dengan komputer atau alat lainya, selain diperlukan perantara komunikasi seperti Commport/TCP port, kabel, fiber optic dll. disana juga masih diperlukan sebuah bahasa komunikasi yang dinamakan “Protocol”. Protocol dapat dikatakan sebagai sebuah standar bahasa yang digunakan oleh peralatan mikrokomputer seperti PLC, meter, DCS, protective relays, dll untuk dapat saling berkomunikasi. Salah satu jenis protokol yang sangat “akrab” digunakan di lapangan adalah “Modbus”.
Untuk detil tentang Modbus silahkan klik disini.
Batasan:
Modbus sendiri terdiri dari beberapa macam jenisnya, antara lain Modbus RTU, Modbus ASCII dan Modbus TCP. Dalam artikel kali ini hanya akan dibahas mengenai Modbus RTU (Serial Communication) saja, apabila readers tertarik untuk membaca dan mempelajari struktur data Modbus ASCII (via telephone, modem, dll) dan TCP (via Ethernet) silahkan tinggalkan komen dan akan dibahas pada sesi berikutnya.
Pendahuluan
Komunikasi antar peralatan atau peralatan dengan komputer via “Modbus Protocol” dapat terjalin jika terdapat sebuah “Modbus Master” dan “Modbus Slave”. Peralatan atau komputer yang menjadi Master memulai jalinan komunikasi dengan cara mengirimkan sebuah paket informasi yang dikenal dengan istilah “Request” kepada peralatan Slave yang bersangkutan (dapat terdiri dari 1 slave atau lebih s/d 254 peralatan). Peralatan yang menjadi Slave akan menjawab request Master dengan mengirimkan isi data yang diminta yang dikenal dengan istilah “Response”.
Dalam satu paket data (satu proses request-response) terdiri atas:
- Slave Address 1 byte
- Function Code 1 byte
- Data N bytes: high-ordered byte first, low-order byte second
- CRC (RTU Error Checksum) 2 bytes
- Dead Time 3.5 bytes transmission time
Sebuah paket tunggal dapat mengirimkan data register sebanyak 127 register dalam satu waktu.
… (still need expansion for detailed information - aristy)
Kode Fungsi (Function Code)
Hex | Dec | Description |
03H | 3 | Read Holding Register |
06H | 6 | Preset Single Register |
10H | 16 | Preset Multiple Register |
… (still need expansion for detailed information - aristy)
Function Code 03 - Read Holding Registers
This function allows a Master station to read one or more parameter values (data registers) from a
Nexus Slave. The data registers are 16-bit (two byte) values transmitted in “Big Endian” format:
high-ordered byte first, low-ordered byte second.
The Master device sends a packet defining a start register for the Slave and the number of registers
to read. The Slave responds with a packet containing the requested parameter values within the range
specified in the request.
In the following example, a Master device requests a Nexus Slave at address 01H to transmit two
values beginning at Register 00001. The Slave replies with values 3031H and 3037H from Registers
00001 and 00002.
… (still need expansion for detailed information - aristy)
Contoh Program Modbus RTU – Master
… (still need expansion for detailed information - aristy)
Download
- Silahkan unduh “Source Code” program VB6.0 diatas di sini.
- Atau readers dapat mengunduh “Executable Files” Modbus diatas dan langsung mencobanya ke PLC, meters, dll di sini.
Artikel ini adalah tulisan rintisan, saran, pertanyaan dan kritik anda sangat berguna dalam mengembangkan artikel ini. Postingan ini dibagi ke dalam beberapa sub pokok bahasan. |
Thanx 4 reading my post, asli saya jadi gan..
You may share this document under Creative Commons License – Terima kasih telah membaca tulisan ini. © 2011 Ari Sulistiono, Indonesian Electrical Engineer.
Tags: Control System, Komunikasi Data