Tugas ini dibuat guna memenuhi tugas Mata Kuliah Pemograman Aplikasi Industri
Nim : 19518241003
FAKULTAS TEKNIK
2022
A. TOPIK
HMI untuk Komunikasi Data Arduino menggunakan Modbus
B. TUJUAN
Setelah melakukan praktikum, mahasiswa dapat :
Dapat membuat koneksi antara arduino dengan IWS
Dapat mengirim data dan menerima antara arduino dengan IWS
Paham tentang protokol modbus
C. DASAR TEORI
ModBus berasal dari kata ModICon dan Bus, adalah protokol komunikasi yang
dikembangkan oleh ModICon pada tahun 1979. komunikasi ini dibuat dalam rangka
komunikasi berjaringan antara Client dan Server. ModICon membuka teknologinya secara
cuma-cuma dan teknologi ini mendapat sambutan yang baik sebagai protokol komunikasi
pada zaman itu. Banyak vendor menggunakan ModBus untuk peralatan mereka sehingga
memudahkan integrasi dari satu sistem dengan sistem lainnya. Dengan demikian, ModBus
menjadi komunikasi standard pada dunia industri untuk menghubungkan antar smart
controller. Protokol ModBus digunakan untuk membangun komunikasi antara perangkat
cerdas ‘master-slave’, dan memiliki dua jenis mode transmisi serial, ASCII dan RTU. (Robert
Wilson,2007).
Konfigurasi Address Modbus dengan PIN Arduino
Modbus berbasis Arduino menggunakan pengirimian data 16 bit. Kode program yang
digunakan berupa data array berisikan bit untuk tiap konfigurasi PIN Arduino. Berikut
adalah contoh kode program array untuk Modbus Arduino:
data[0], data[1], data[2], … dan seterusnya.
Konfigurasi Function Code 0X (Coil Status)
Coil Status 0X digunakan untuk untuk membaca/menulis data digital 1 atau 0 (hidup
atau mati) biasanya digunakan untuk saklar dalam pembacaan di Wonderware
Indusoft Web Studio Educational v8.0Wonderware Indusoft Web Studio Educational
v8.0 membaca data dari array data[0] dengan bit 0 pada PIN 3 Arduino maka kode
programnya sebagai berikut:
bitWrite(data[0], 0, digitalRead( 3 ));
maka untuk penulisan di Address Wonderware Modbus adalah 0X: 1 karena urutan
bit pada Wonderware dimulai dari angka 1, sementara urutan bit pada Arduino
dimulai dari 0).
Konfigurasi Function Code 4X (Holding Register)
Holding Register 4X digunakan untuk membaca/menulis data analog maka sesuai
digunakan untuk membacaan sensor di Wonderware IWS dengan menggunakan
Meters. Pembacaan Holding Register dari Wonderware IWS dengan membaca
urutan array sebagai berikut:
data[1] = analogread(a0); //potensiometer
Wonderware IWS mengambil data dari array data[1] dengan PIN A0 Arduino untuk
membaca input (potensiometer) secara analog sehingga penulisan di Address
Modbus 4X:2 karena urutan bit pada Wonderware dimulai dari angka 1, sementara
urutan bit pada Arduino dimulai dari 0).
3. Membuat tag baru pada setiap komponen yang dibuat. Tag analog pada symbol meters,
tag push pada switch dan tag digital pada pilot lamps
4. Menambahkan protokol modbus dengan cara masuk tab comm > klik kanan pada drivers
6. Mengatur Tag Name pada MODBU - MAIN DRIVER SHEET dengan cara double click
MAIN DRIVER SHEET → tampil tab MODBU - MAIN DRIVER SHEET → isikan pengaturan
Tag Name
7. Mengatur MODBUS dengan cara klik kanan MODBUS → pilih Settings → tampil kotak
dialog MODBU: → isikan pengaturan MODBU dan sesuaikan Serial Port dengan port
Arduino yang terhubung ke computer Memilih advanced settings lalu mencentang pada
option disable DTR
Uji Coba
1. Menghubungkan arduino ke laptop, setelah itu menjalankan project yang sudah dibuat
2. Mencoba potensiometer
3. Mencoba potensio