Ppi Kim 2010 Pembuatan Remote Io Di Modbus Rtu
Ppi Kim 2010 Pembuatan Remote Io Di Modbus Rtu
INTISARI
Telah dilakukan pembuatan remote I/O 16 kanal digital input menggunakan protokol modbus RTU
berbasis mikrokontroler AT89S51. Remote I/O yang dibuat ini selanjutnya dapat digunakan sebagai
ekspansi I/O digital input pada PLC (Programmable Logic Controller) dan/atau sistem OPC (Ole for
Process Control) SCADA (Supervisory Control and Data Acquisition) yang mendukung protokol
standard industri modbus RTU. Dari hasil pengujian komunikasi alat dengan OPC Server Modbus
didapatkan bahwa komunikasi modbus RTU untuk mengakses/membaca 16 kanal digital input telah
berhasil dengan kualitas OPC good/baik tanpa ada sedikitpun kualitas bad/buruk pada setiap input yang
diakses.
Kata kunci : Remote I/O, 16 kanal digital input, protokol modbus RTU, mikrokontroler AT89S51,
ekspansi I/O digital input pada PLC dan/atau OPC SCADA.
ABSTRACT
The remote I/O has been built with 16 channels of digital input using modbus RTU protocol based on
AT89S51. The remote I/O can be used as I/O ekspansion for PLC (Programmable Logic Controller)
and/or OPC (Ole for Process Control) SCADA (Supervisory Control and Data Acquisition) system that
supported with industrial standard protocol modbus RTU. The testing result of the remote I/O has been
succeed to communicate with Modbus OPC Server in order to read 16 channels of digital input with good
quality OPC for each accessed digital input.
Keywords : Remote I/O, 16 channels of digital input, modbus RTU protocol, AT89S51 microcontroller,
expansion I/O for PLC and/or OPC SCADA.
PENDAHULUAN
Dalam dunia proses industri dan/atau otomasi industri yang berkembang saat ini
membutuhkan banyak sekali sinyal elektrik I/O yang harus diakses dan dikendalikan
untuk menjaga sistem dapat berjalan dengan baik. PLC (Programmable Logic
Controller) yang sering dipakai sebagai kontrol proses dan/atau otomasi industri
seringkali kekurangan slot dalam rack untuk mencukupi I/O yang dibutuhkan. Sehingga
salah satu solusinya adalah mengekspansi I/O tersebut dalam rack yang lain dengan
menggunakan penghubung komunikasi standard industri. I/O dalam rack lain tersebut
dalam dunia industri seringkali dikenal dengan nama remote I/O. Remote I/O juga
mempunyai fungsi juga sebagai I/O yang dapat diletakkan berjauhan dari sisi master.
Remote I/O yang ada di pasaran ternyata juga masih tergolong mahal jika digunakan
untuk industri menengah ke bawah sehingga dibutuhkan solusi murah dalam pengadaan
remote I/O yang menunjang proses industri dan/atau otomasi industri.
Sebagai salah satu solusi murah dari permasalahan di atas, telah dilakukan
pembuatan remote I/O 16 kanal digital input menggunakan protokol modbus RTU
berbasis mikrokontroler AT89S51. Dalam tulisan makalah ini akan dijelaskan mengenai
pembuatan remote I/O 16 digital input menggunakan protokol modbus RTU berbasis
mikrokontroler AT89S51. Penggunaan protokol modbus RTU disamping protokol
tersebut merupakan protokol industri yang open document, protokol tersebut juga
banyak didukung oleh banyak merk PLC. Jumlah digital input sebanyak 16 kanal juga
didasarkan pada 1 word / 16 bit pengiriman data pada protokol modbus RTU.
Station Number
Station Number
Function Code
Function Code
Data Bytes
(Flexible)
Data Bytes
(Flexible)
Error Check
Error Check
Response from Slave
Data bytes merupakan blok data informasi dan Error Check merupakan cek data dari
kesalahan komunikasi.
Selanjutnya khusus untuk protokol modbus RTU, bingkai prosedur data secara
detail dapat digambarkan sebagai berikut[1,2] :
Start
Station Number
Function Code
Data
Error Check
End
3.5 Chars
1 Char
1 Char
n Chars
2 Chars
3.5 Chars
CRC
Silence
Silence
Pada gambar 2 dapat dijelaskan bahwa untuk memulai skema memanggilmenjawab pada protokol modbus RTU harus dimulai dan diakhiri dengan waktu tunda
selama 3.5 karakter dalam baud rate komunikasi yang sudah ditentukan sebelumnya.
Nilai dalam Station Number, Function Code, dan Data yang sudah dijelaskan
sebelumnya harus dideklarasikan dalam nilai biner atau hexadesimal-nya. Untuk Error
Check disini menggunakan algoritma Cyclic Redundancy Check (CRC) tipe 16 bit / 2
Char.
Untuk penjelasan yang lebih detailnya, dapat diberikan contoh memanggilmenjawab untuk membaca digital input pada protokol modbus RTU sebagai berikut [3]
:
Misalkan suatu contoh protokol modbus RTU untuk mendapatkan status digital input
dari alamat 10197 sampai 10218 dengan alamat slave 17.
DESKRIPSI ALAT
Pembuatan remote I/O ini menggunakan mikrokontroler AT89S51 [4] sebagai
inti prosesor-nya karena disamping harganya murah juga kapasitas memori sebesar 4 kb
dan jumlah I/O sebanyak 32 pin sudah mencukupi untuk realisasi 16 kanal digital input
dengan komunikasi serial RS-485 menggunakan protokol modbus RTU. Untuk lebih
detail mengenai skema alat yang dibuat dapat digambarkan dalam bentuk blok diagram
sebagai berikut :
Port 1
Port 0
Digital Input
Nomor 1 - 8
Dip Switch 4
kanal untuk
pemilihan baud
rate komunikasi
serial
Komunikasi
Serial RS-485
Digital Input
Nomor 9 - 16
AT89S51
Port 2
MAX
485
Enable (P3.2)
Tx
Rx
Dip Switch 8
kanal untuk
alamat slave
modbus RTU
Gambar 3. Skema Blok Diagram Alat Remote I/O 16 kanal DI Modbus RTU
Pada gambar 3 dan 4 dapat dijelaskan bahwa untuk port 1 dan port 0 yang
masing-masing mempunyai 8 pin data digunakan sebagai digital input yang berjumlah
16 kanal pin dimana untuk setiap kanal pin dari digital input mempunyai rangkaian
interface untuk mengkondisi sinyal range masukan input dari TTL 5 Vdc sampai 24
Vdc. Tegangan power alat mempunyai range antara 9 24 Vdc untuk memenuhi
standard industri. Port 2 digunakan sebagai pemilihan alamat slave modbus RTU
menggunakan komponen dip switch 8 kanal dan pada port 3 dari pin 3.4 sampai pin 3.7
dipakai sebagai pemilihan baud rate komunikasi serial menggunakan komponen dip
switch 4 kanal, dimana logika pemilihan baud rate dapat dijelaskan sebagai berikut.
Jika pin 3.4 bernilai 1 berarti menggunakan 9600 baud, jika pin 3.5 bernilai 1 berarti
menggunakan 19200 baud, jika pin 3.6 bernilai 1 berarti menggunakan 57600 baud, dan
jika pin 3.7 bernilai 1 berarti menggunakan 115200 baud. Setiap kanal digital input juga
dapat menerima masukan tegangan hingga 24 Vdc. Dimensi dari rangkaian elektronik
PCB ini berukuran 7 x 11 cm dimana nantinya akan dimasukkan dalam box aluminium
din rail yang sudah ada di pasaran. Kemudian selanjutnya yang tak kalah penting dari
alat ini adalah komunikasi serial menggunakan RS485 dimana dipakai IC MAX485
yang merupakan IC yang mendukung RS485 tipe Half Duplex.
Sehingga spesifikasi alat remote I/O 16 kanal digital input yang dibuat ini dapat
dijabarkan sebagai berikut :
- Digital input
: 16 channels
: 0 3 Vdc
: 3.5 24 Vdc
: Yes (Green)
- Overvoltage protection
: 100 Vdc
- Connector type
- Power consumption
: 1 W @ 9 24 Vdc
- Supported protocol
: Modbus RTU
: Yes
- Modbus address
Selanjutnya alat tersebut belum dapat digunakan sebagai remote I/O jika belum
dimasukkan program ke dalam mikrokontroler tersebut. Untuk memrogram alat tersebut
yang berbasis mikrokontroler AT89S51 maka digunakan compiler SDCC [5] yang
mendukung bahasa C dengan editor MIDE-51 [6]. Diagram alir dari program C tersebut
dapat diberikan sebagai berikut :
Mulai
Inisialisasi port
Looping terus ?
Selesai
Gambar 5. Diagram Alir Program Remote I/O 16 kanal DI Modbus RTU
Gambar 6. Setting protokol dan konfigurasi serial pada OPC Server Modbus
Selanjutnya dideklarasikan nama tag digital input dari alamat 10001 sampai
10016 seperti yang diberikan pada gambar berikut :
Gambar 7. Deklarasi Nama Tag Digital Input pada OPC Server Modbus
Gambar 8. Hasil Pengujian Data Modbus RTU Menggunakan OPC Quick Client
Dari gambar 8 dapat dijelaskan bahwa komunikasi modbus RTU antara OPC
Server Modbus dengan alat remote I/O 16 kanal digital input berbasis mikrokontroler
AT89S51 telah berhasil dengan baik dimana ditampilkan dalam kolom quality untuk
masing-masing Item ID digital input memberikan hasil good / baik. Sehingga setiap
perubahan bit secara sinyal elektrik pada digital input maka secara otomatis akan
mengubah nilai bit yang ada pada OPC Quick Client. Untuk melihat bingkai protokol
komunikasi yang terjadi antara master dengan slave remote I/O dapat dilihat dengan
menggunakan perangkat lunak Free Serial Port Monitor yang dapat diberikan pada
gambar sebagai berikut :
Pengujian
selanjutnya
dilakukan
dengan
memberikan
variasi
dengan
menggunakan baud rate yang lebih tinggi, alamat slave yang lain dan mengurangi nama
tag digital input yang dideklarasikan atau deklarasi nama tag hanya diisi sebagian kanal
dari jumlah 16 digital input. Hal ini diperlukan untuk meyakinkan apakah algoritma
komunikasi modbus RTU sudah handal untuk dapat menjawab sebagian alamat digital
input yang dipanggil dari sisi master. Hasil dari variasi tersebut semuanya juga
mendapatkan kualitas good untuk setiap Item ID digital input yang dideklarasikan
sehingga remote I/O ini sudah siap digunakan sebagai ekspansi I/O digital input pada
PLC dan/atau OPC pada sistem SCADA yang mendukung protokol komunikasi modbus
RTU.
KESIMPULAN
Dari hasil pengujian komunikasi modbus RTU antara alat remote I/O 16 kanal
digital input berbasis mikrokontroler AT89S51 dengan OPC Server Modbus didapatkan
bahwa setiap data tag digital input komunikasi modbus mendapatkan kualitas good /
baik sehingga alat remote I/O 16 kanal digital input berbasis mikrokontroler AT89S51
sudah siap digunakan sebagai ekspansi I/O digital input pada PLC dan/atau OPC pada
sistem SCADA yang mendukung protokol komunikasi modbus RTU.
UCAPAN TERIMAKASIH
Penulis mengucapkan terimakasih kepada saudara Agung Nugroho yang
berprofesi sebagai system integrator PLC / SCADA dimana telah memberikan saran
dan membagi pengalaman mengenai spesifikasi remote I/O yang dibutuhkan dan yang
dapat diterima dalam dunia industri.
DAFTAR PUSTAKA
[1] ..... , 1996. Modicon Modbus Protocol Reference Guide Rev. J, Modicon Inc.
Industrial Automation Systems.
[2] ..... , 2006. Modbus Over Serial Line : Specification and Implementation Guide
V1.02, Modbus Organization..
[3] ..... , 2008. Read Input Status (FC=02), Simply Modbus Inc.
URL: http://www.simplymodbus.ca/FC02.htm
[4] ..... , 2001. ATMEL AT89S51 Datasheet, Atmel Corporation.
[5] Sandeep Dutta, 2008. SDCC Compiler User Guide, General Public License.
URL: http://sdcc.sourceforge.net/doc/sdccman.pdf
[6] Worapoht Kornkaewwattanakul, 2009. M-IDE Studio for MCS 51, Standard
Edition.
URL: http://www.opcube.com/home.html