Tuesday, 22 October 2013

Modbus Loop

- 0 komentar

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..

[Continue reading...]
 
Copyright © . HadiSCADA - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger