Modbus Loop adalah aplikasi VB.net untuk membaca nilai register dari device-device Modbus TCP secara terus menerus (looping).
Project
ModbusLoop dibuat dengan VB.net 10.
File EXE dari projek ini bisa diunduh
disini.
Source dari projek ini bisa diunduh
disini.
Beberapa fungsi utama ModbusLoop adalah :
1. Membaca register Modbus secara periodik.
2. Bisa terkoneksi ke lebih dari satu device Modbus.
3. Ada timer KeepConnect untuk menjaga koneksi ke device Modbus.
4. Pembacaan register Modbus bisa dikelompokan per-Group.
5. Bisa membuat Data dari Address register Modbus, yang ter-monitor secara realtime.
6. Data yang ditampilkan bisa dalam format integer (INT), binary digit (BIT), atau karakter (CHAR).
Pada aritkel kali ini,
ModbusLoop tidak terkoneksi langsung ke device Modbus sungguhan, tapi dengan Modbus Simulator. Secara teknis tidak ada perbedaan dan perubahan jika ingin dikonek langsung ke device Hardware Modbus sungguhan, tinggal men-set IP Address dan Slave ID saja.
Berikut adalah pengenalan dan tutorial aplikasi
ModbusLoop..
> Download project ModbusLoop.
> Download aplikasi
Mod_RSSim.
> Setelah instalasi selesai, buka aplikasi
Mod_RSSim.
> Tampilan aplikasi Mod_RSSim tampak seperti berikut:
> Double-click pada address register
1 (
400002), isi dengan nilai
123.
> Isi address register lain, sehingga tampak seperti berikut:
> Biarkan aplikasi Mod_RSSim tetap berjalan.
> Buka project
ModbusLoop dengan Visual Studio 2010 lalu Run. Atau bisa langsung membuka file
EXE nya di folder
Debug.
> Tampilan aplikasi
ModbusLoop seperti berikut:
> Pada panel control ada panel untuk operasi manual (
1) dan panel untuk operasi periodik/loop (
2)
A. Membaca register Modbus secara manual.
> Pertama kita akan mencoba membaca register Modbus dari Simulator dengan metode manual.
> Untuk konek secara manual, klik tombol
Connect.
> Status yang terlihat saat berhasil terkoneksi.
> Click pada tombol
Read Holding Registers. Buka tab
Registers dan nilai akan ditampilkan.
>
Cobalah membaca Address lain dengan Size berbeda maka hasil yang
ditampilkan pada tab
Registers juga akan berbeda, seperti berikut:
> Untuk membaca Holding Registers device klik tombol
Holding Registers (1). Untuk membaca nilai yang tersimpan di local klik tombol
Read Local Registers (2). Untuk memutus koneksi ke device klik tombol
Disconnect.
> Status yang terlihat saat memutus koneksi.
B. Membaca secara periodik/looping.
> Selanjutnya kita akan melakukan pembacaan register secara periodik/looping dengan Timer.
Membuat Configurasi Device
> Bukalah tab
Config. Tampilan pada tab
Config yang masih kosong terlihat seperti ini:
> Tambahkan
Network/Device baru dengan menekan tombol '
+' di bawah list
Network.
> Inputkan nama
Network/Device.
> Inputkan IP Address dari Device/
Network. Untuk IP Local atau simulator inputkan
127.0.0.1
> Click pada Device/
Network yang sudah ditambahkan, lalu click tombol '+' di bawah list
Slave.
> Inputkan nama
Slave.
> Inputkan
Slave/Node
Address/number.
> Click pada
Slave yang sudah ditambahkan, lalu click tombol '+' di bawah list
Group.
> Inputkan nama
Group.
> Inputkan
Start Address dari
Group.
> Tentukan
Length atau Size dari
Group.
> Di treeview akan tampak sebuah node baru. Untuk melihat detail dari
Device, klik pada simbol '+'
> Tampilan treeview setelah membuat
Device,
Slave dan
Group akan terlihat seperti berikut:
> Pada treeview, format untuk Network/Device adalah
[nama_device] - [IP address]. Untuk Slave/Node formatnya
[nomor_node] - [nama_node]. Untuk Group formatnya
[nama_group] - [start_address][[size/length]].
> Buatlah satu Slave lagi dan satu Group di dalamnya, sehingga hasilnya terlihat seperti berikut:
> Cek semua node pada treeview untuk mengaktifkan pembacaan pada semua node.
> Kita bisa menyimpan konfigurasi device ke file dengan menekan
tombol
Save as Config. Juga bisa me-load config dari file dengan menekan
tombol
Load Config.
> File konfigurasi device akan disimpan dalam format
.cfg. Tampilan saat menyimpan seperti berikut:
> Saat
Load File config, pilihlah file
config (.cfg) yang akan di-load. Bisa juga dari file
.txt asal formatnya sama.
Membuat Configurasi Data
> Bukalah tab
Data. Tampilan tab
Data yang masih kosong terlihat seperti ini:
> Untuk menambah Data baru, klik tombol Add.
> Buatlah
Data integer (
INT) sebagai berikut:
>
Data baru akan terlihat pada list.
> Buatlah
Data kedua berupa
BIT sebagai berikut:
> Buat
Data ketiga berupa
CHAR sebagai berikut:
> Kita bisa menyimpan
Data register ke file dengan tombol
Save File. Juga bisa me-load dari file dengan tombol
Load File.
> File
Data akan disimpan dalam format
.dta. Tampilan saat menyimpan data register:
> Saat
Load File, pilihlah file
data (.dta) yang akan di-load. Bisa juga file
.txt asal formatnya sama.
Mengaktifkan Timer Read
> Untuk mengaktifkan pembacaan register secara periodik, klik pada tombol
START Timer Read.
> Jika semua pembacaan node
OK/ tidak ada
Error, maka di treeview tab
Config, semua node akan berwarna hijau.
Ujicoba Erorr Node
> Di aplikasi
Mod_RSSim, cobalah men-disable
Slave 2, dengan cara click pada kotak
Slave 2.
> Setelah
Slave di-disable, warna akan berubah menjadi merah.
> Karena
Slave 2 di
Modbus Simulator disable, maka pembacaan di
ModbusLoop akan
Error. Pembacaan yang
Error akan membuat warna menjadi merah.
> Untuk melewati node yang
Error, uncheck node tersebut. Setelah node yang
Error di-uncheck, maka proses pembacaan node tersebut akan dilewati.
> Enable-kan kembali
Slave 2. dengan cara klik pada
Slave tersebut.
> Setelah
Slave di-enable-kan, warna akan berubah menjadi hijau.
> Setelah
Slave normal kembali, maka pembacaan akan kembali
normal, dan status di treeview akan kembali berwarna hijau (normal).
Mengaktifkan Monitoring Data
> Untuk melihat nilai
Data secara realtime, pada tab
Data, klik tombol
Monitoring ON.
> Pada kondisi
Monitoring ON, nilai dari
Data akan secara realtime ditampilkan. Untuk mematikan timer Monitoring, klik tombol
Monitoring OFF.
> Tampilan semua Data pada kondisi
Monitoring ON.
> Cobalah untuk mengganti nilai register di
Mod_RSSim, klik 2 kali pada register yg akan diubah.
> Inputkan nilai baru lalu klik
OK.
> Setelah nilai register Modbus dirubah, maka nilai yang termonitor juga akan berubah.
> Cobalah untuk mengubah format
Data. click
Data REG_3 lalu klik tombol
Edit.
> Kemudian ubahlah
Format-nya ke
INT (integer), lalu klik tombol
OK.
> Setelah
Format dirubah, maka tampilan monitoring juga akan berubah.
Menghentikan Timer Read
> Untuk menghentikan proses pembacaan register, klik tombol
STOP Timer Read.
Selamat mencoba..