Showing posts with label Excel. Show all posts
Showing posts with label Excel. Show all posts

Wednesday, 5 April 2023

Tutorial : EXCEL to MQTT - VB WinForm

- 0 komentar

 How to publish data from Excel file to MQTT, and write back data from MQTT to Excel file


Part 1 : Create VB project, Read & Write Excel file



Part 2 : MQTT publish and subscribe, Testing



We will use :

+ Miqottt.com as MQTT broker

+ WPS Office spreadsheet to create Excel (xlsx) file

+ Visual Studio 2022

+ MQTT Explorer

[Continue reading...]

Thursday, 25 April 2019

Excel SCADA : Membuat SCADA di Microsoft Excel

- 4 komentar

Membuat SCADA di Microsoft Excel

Apakah Excel bisa digunakan untuk menampilkan data-data SCADA/HMI ?
mari kita coba bersama.. langkah-langkahnya seperti ini:
1. membuat aplikasi EXE,
untuk membaca data-data dari alat/device. Pada percobaan kali ini kita akan membuat projek WinForm VB, dan koneksinya adalah ke Modbus TCP server (simulator). Hasil pembacaan data akan ditulis ke File Text.
2. membuat file Excel,
untuk menampilkan SCADA nya.
3. membuat script VBA di Excel,
untuk memanggil aplikasi EXE yang sudah dibuat dan secara periodik membaca file Text outputnya lalu mem-plot data-data ke Sheet Excel.

Baiklah mari kita mulai..

Untuk point 1 kita bisa pake library EasyModbus.. contoh projeknya seperti ini:
http://hadiscada.blogspot.com/2019/02/modbus-tcp-client-and-logger-csv.html

tapi untuk praktek kali ini kita tidak akan membuat Logger tapi Realtime data, jadi ada perbedaan di file outputnya, kalau Logger datanya Growing (bertambah terus) sedangkan untuk praktek kali ini datanya tetap, hanya Value-nya saja yang berubah-ubah sesuai pembacaan saat itu (Realtime data).

aplikasi yang akan kita buat harus bisa dipanggil oleh aplikasi dari luar, misal dari Command Prompt (DOS), artinya aplikasi harus punya parameter-parameter yang bisa disesuaikan.. misalnya seperti ini:
kita ingin membaca Modbus TCP di IP 127.0.0.1, dengan list address pada file "D:\addressku.txt" dan output file ada di "D:\dataku.txt"

maka aplikasi harus bisa dipanggil dengan paramater misal seperti ini :
D:\Mod2File.exe 127.0.0.1 "D:\addressku.txt" "D:\dataku.txt"

jadi jika suatu saat kita ingin menambah item yang ingin dibaca maka tinggal tambah di file Text saja.

Membuat aplikasi VB
oke, kita mulai buat aplikasinya.. saya kasih nama Mod2File.exe
kita pake Visual Studio 2010 Express saja, dengan bahasa VB.
di Form-nya cukup tambah objek Timer saja.


di Properties projek nya, bagian Debug, saya isi parameter spt ini, itu maksudnya adalah untuk konek ke Modbus TCP yg ada di localhost (IP: 127.0.0.1) dengan file "addressku.txt" berisi list alamat register yang akan dibaca, dan file "dataku.txt" sebagai output untuk menyimpan nilai/data. angka "5" adalah interval pembacaan data, dalam detik.


Parameter diatas sebetulnya tidak perlu ditulis juga tidak apa-apa.. nanti parameter tersebut akan dikasih dari pemanggilnya (CMD / Excel).

.... skip bagian programming ...

oke, aplikasi sudah selesai.
*pagi pembaca silahkan download file projeknya (link ada di akhir artikel ini), lalu buka.

Test aplikasi
Sekarang mari kita isi file address, seperti ini:


selanjutnya jalankan aplikasi Modbus Simulator, saya pakai Mod_RSsim.
lalu kita tulis nilai di register-register yang akan kita baca,


jalankan projek VB nya
setelah aplikasi dijalankan maka file output ("dataku.txt") akan otomatis dibuat, dan isinya adalah value dari setiap address, seperti ini:


Test dari CMD 
Sekarang mari kita coba panggil Mod2File.exe dari Command prompt..
tutup dulu Visual Studio nya, lalu copy file "Mod2File.exe" dari folder Debug projek. copy juga file DLL "EasyModbus.dll", paste di D: saja biar simple.


sekarang buka Command prompt atau CMD, dan ketik seperti ini:
D:\Mod2File.exe 127.0.0.1 "D:\addressku.txt" "D:\dataku.txt" 5

maka aplikasi Mod2File akan dijalankan dan mulai membaca register Modbus dan meng-update file output secara periodik.

Membuat file Excel
oke. sekarang lanjut ke Excel.
Buka Microsoft Excel, saya pake yang versi 2007. buat blank workbook.


Buatlah tampilan HMI nya, seperti ini saja:


nanti nilai-nilai nya akan tampil di masing-masing kotak Register.
untuk membuat kotak-kotak diatas bisa pake teknik Merge cell, atau tidak pake juga tidak apa-apa, yang penting nanti adalah "Name" nya.
Untuk semua kotak yang akan diisi data, klik kanan lalu "Name a Range.."


beri nama "_REG1" dan seterusnya sesuai urutan


tambahkan sebuah tombol Start untuk triger Start/Stop pembacaan data..
*cara menambahkan tombol silahkan cari tahu sendiri ya..


Membuat VB Script di Excel
buka jendela VB/Macro editor.
*cara membuka jendela macro editor silahkan cari sendiri ya..

buat script di bagian "ThisWorkbook"


klik kanan di VBAProject lalu tambahkan Module, dan isi script berikut



Save file sebagai .XLSM
lokasi filenya simpan saja di D: agar gampang.


Test dari Excel
oke, pastikan aplikasi Modbus Simulator masih berjalan.
sekarang buka Sheet1 dan coba klik tombol Start

jika data tampil pada kotak-kotak register dan nilainya sama dengan nilai pada Modbus Server berarti kita berhasil..


Horee..!



Tambahan:
untuk contoh menampilkan data Bit / Boolean, tambah address Digital Input Register di file addressku,

<gambar>

di Sheet2, gambar HMI yg diinginkan.. lalu edit sedikit script di VBA Excel nya.
contoh hasilnya seperti ini,


kotaknya sebenarnya nilainya cuma 1 dan 0, perubahan warna kotak/cell tersebut memakai fitur Conditional Formatting bawaan Excel.


VB project, DLL library, dan file Excel silahkan download disini:

Semoga bermanfaat.. Terima kasih.
[Continue reading...]

Sunday, 10 February 2019

Modbus (TCP) Client and Logger (CSV)

- 5 komentar
Hello.. here is the VB project of Modbus TCP Client and Logger.
the project using EasyModbus DLL.
the output log file is CSV (comma separated file).

VB form display :

Output CSV file (opened with WPS SpreadSheets) :

the VB project (build using Visual Studio 2010 Express) can be downloaded here :
https://goo.gl/TXNNW8

Thank you..
[Continue reading...]

Friday, 11 January 2019

Learn how to Merge FlexGrid and Export to Excel

- 0 komentar
Here is sample VB net project to display data on MS FlexGrid and then export to MS Excel file.


why using FlexGrid, not DataGrid? because FlexGrid support to Merge cells. but we must be careful when merge cell in FlexGrid, sometime we need to do a little trick to do this (merge cell) in FlexGrid.

There is a Template file in debug folder. here is :

When we Export, the template file has been copied to the new file, then we fill the data to that new file. Here is the result :

so here is the link for the project: goo.gl/zvjbR4


Thanks..
[Continue reading...]

Sunday, 3 June 2018

VB to Excel

- 0 komentar
Projek ini dibuat dengan latar belakang seperti berikut:

- punya aplikasi untuk monitoring beberapa nilai dari device/PLC/yg lain
- nilai-nilai yang dimonitor ingin disimpan ke file Excel
- punya source code projek dari aplikasi monitoring tersebut

Untuk menyimpan file ke Excel sebenarnya ada 2 jenis file yang bisa dipakai, yaitu:
> Comma Separated file (.CSV)
> Excel file (.xlsx)

Kelebihan dari file CSV:
+ simple
+ bisa dibuka dengan Notepad
+ bisa dibuka dengan Excel, walaupun format tampilannya tidak bisa diubah

Kelebihan dari file Excel:
+ format tampilan bisa diubah dan disimpan
+ bisa dikombinasikan dengan Macro/VBA/VBS/Formula dari Excel nya

Baik, mari kita mulai..
tampilan dari aplikasi nya adalah seperti berikut:


pada contoh di atas, aplikasi Monitoring yg sudah ada kita anggap hanya menampilkan 4 buah nilai analog. nilai-nilai tersebut akan berubah-ubah sesuai data dari alat ukur atau sensor atau RTU atau PLC atau sumber lain. pada projek ini kita simulasikan perubahan nilai-nilai itu, terdapat tombol Start/Stop Simulation untuk memulai/mengakhiri simulasi.

Pekerjaan utama kita ada pada group dibawah ("Save Log to"). Jika Anda membuka source code projek monitoring Anda sendiri, maka tahapan ini yang perlu diperhatikan. 
Tambahkan beberapa objek seperti pada tampilan diatas, pada group "Save Log to", juga tambahkan objek Timer (beri nama "TimerLog") untuk secara periodik menyimpan log ke file. Aturlah interval sesuai yang Anda inginkan, pada contoh ini kita atur di 1 second (1000 milisecond), pengaturannya seperti pada gambar berikut:

Saat aplikasi dijalankan, langkah-langkah operasionalnya adalah sebagai berikut: 
1. karena kita pakai simulasi maka pertama kita klik dulu tombol "Start Simulation".
2. pilih jenis file output yang diinginkan (CSV atau Excel).
3. klik tombol "Browse" untuk memilih file yang sudah ada atau menentukan folder file baru.

4. klik tombol "Start Logging" untuk memulai proses logging ke file.
5. untuk menghentikan proses logging, klik tombol "Stop Logging".
6. untuk membuka file output, klik tombol "Open File".
7. tampilan dari output file tampak seperi berikut: 

Demikianlah apa yang bisa kami sampaikan untuk kesempatan kali ini. Semoga bermanfaat dan Terima kasih.

 Source code projek VB nya silahkan download disini:
https://www.4shared.com/zip/o_H4H6GIfi/VBtoExcel.html


[Continue reading...]

Thursday, 26 April 2018

Excel Log & Chart Pemakaian PC

- 0 komentar
Ini adalah dokumen Excel yang berfungsi untuk mencatat (Logging) pemakaian PC dan menampilkan grafik (Chart) jumlah pemakaiannya per-bulan dan per-tahun.

Berikut adalah beberapa tampilannya:

1. Form untuk Operator/admin
> admin meng-check PC yang dipakai dan memilih user yang menggunakannya lalu klik tombol "SAVE LOG".
> jika ingin mengosongkan form, klik tombol "RESET".



2. Chart Bulanan
> isi Tahun, Bulan dan PC lalu klik tombol "LOAD".


3. Chart Tahunan
> isi Tahun dan PC lalu klik tombol "LOAD".

4. Sheet Database
> data-data ini akan otomatis dibuat ketika "SAVE LOG" dari Form.

5. Sheet Users
> admin bisa menambahkan dan atau mengganti nama-nama user.

6. Sheet Raw Data
> sheet ini hanya untuk menampung sementara data dari Form untuk selanjutnya dikirim ke sheet Database.


File bisa diunduh disini:
https://drive.google.com/open?id=1VOocsK17ecIinkHiIT4IoqeJuZi5kMfG

Terima kasih. Semoga bermanfaat.
[Continue reading...]

Tuesday, 10 April 2018

Realtime Modbus Excel Graph - Modbus RTU

- 2 komentar
Bahasan sebelumnya mengenai aplikasi Realtime Modbus Excel Graph, bisa dibaca disini:
http://hadiscada.blogspot.co.id/2018/02/aplikasi-realtime-modbus-excel-graph.html

Kalau aplikasi sebelumnya adalah untuk Modbus TCP maka kali ini aplikasi dibuat untuk Modbus RTU.

Tidak banyak file yang berubah dari projek sebelumnya, yang berbeda adalah:
1. aplikasi ModRTULog.exe
2. file Excel ModGraph (RTU).xlsm

Yang perlu diperhatikan dan disesuaikan adalah pada file ModGraph.xlsm, pada script VB berikut:


Penjelasan dari bagian yg diwarnai:
COM2,9600,N <spasi> 1 <spasi> 1,3
Port, Baudrate, Parity (N=None, E=Even, O=Odd) <spasi> Slave ID <spasi> Start Register, Length/Qty Register

File2nya silahkan download disini:
https://www.4shared.com/zip/YK1q2ZCaei/RMEG_RTU.html

Terima kasih.
[Continue reading...]

Tuesday, 6 February 2018

Aplikasi - Realtime Modbus Excel Graph

- 4 komentar
Untuk penjelasan mengenai konsep/design silahkan baca artikel sebelumnya disini.

Berikut adalah tampilan outputnya:


Silahkan download file berikut:

Di dalamnya terdapat 3 file:
1. ModGraph.xlsm
2. ModTCPLog.exe
3. ModData.csv

File ModGraph.xlsm adalah file Microsoft Excel untuk menampilkan grafik dari data Modbus. Di dalamnya ada Macro/VB script pada dua tempat:
- Module1 
- ThisWorkbook

File ModTCPLog.exe adalah aplikasi VB yang akan dipanggil oleh ModGraph untuk membaca data Modbus. Aplikasi ini yang akan terhubung dengan Modbus Slave, lalu akan menuliskan datanya ke file ModData.csv.

Yang perlu diubah/sesuaikan ada pada file ModGraph.xlsm, pada VB script Module1, sbb:
yang ditandai adalah cycle pembacaan data Modbus, formatnya adalah "hh:mm:ss", pada contoh ini berarti cycle nya adalah 5 detik.

dan yang perlu diubah/sesuaikan juga adalah pada VB script ThisWorkbook, sbb:
yang ditandai garis merah adalah IP dari Modbus Slave, dan yang garis biru adalah address dari Modbus (pada contoh ini "1,2,3" berarti "40002,40003,40004").

Demikian dan terima kasih. 
[Continue reading...]

Monday, 22 January 2018

Realtime Modbus Excel Graph

- 0 komentar

keterangan:
(1) Macro Call or Run/Launch Console Application
(2) Console Application as Modbus Master, read data from device (Modbus Slave)
(3) Console Application write Modbus values to file
(4) Macro Read to file
(5) Macro plot value from file to Graph


Q: kenapa pake aplikasi di luar Excel?
A: karena saya belum nemu Macro yg bisa langsung sbg Modbus master

Q: kenapa pakai File untuk 'transaksi' data dari device ke graph?
A: karena belum nemu cara agar aplikasi luar bisa nulis langsung ke Excel yg sedang dibuka


Beberapa teknik coding yang mungkin diperlukan/dipakai untuk merealisasikan konsep diatas adalah:
- memanggil aplikasi Exe dari Macro
- aplikasi console Modbus master untuk konek dan baca data ke device
- aplikasi console menulis ke file (text)
- membaca file (text) dari Macro
- menampilkan Graph dinamis dengan Macro


*coming soon... insya Allah.
[Continue reading...]
 
Copyright © . HadiSCADA - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger