ModbusMaster
Aplikasi Windows mandiri yang mendukung protokol Modbus RTU
, TCP
, UDP
, RTUoverTCP
, RTUoverUDP
, ASCIIoverRTU
, ASCIIoverTCP
, dan ASCIIoverUDP
.
Juga disertakan versi Mono untuk Linux dan Mac OS X, ini adalah versi VB Net:
- Untuk Linux Anda harus menginstal paket
mono-complete
dan mono-vbnc
- Mac mungkin berbeda tergantung pada versi OS X, mungkin menginstal paket
mono
dan mono-basic
Jika firewall diaktifkan maka Anda mungkin diminta untuk mengizinkan aplikasi ini berkomunikasi di jaringan:
- Biasanya itu harus diizinkan untuk berkomunikasi pada jaringan pribadi jika tidak maka mungkin tidak berfungsi dengan baik
- Jangan izinkan akses publik kecuali Anda tahu apa yang Anda lakukan
- Setelah pengujian selesai, ingatlah untuk menghapus aplikasi ini dari daftar aplikasi yang diizinkan di firewall
Aplikasi ini dirancang untuk memungkinkan menjalankan beberapa contoh aplikasi secara bersamaan, misalnya:
- Gunakan protokol yang sama untuk setiap instance tetapi dengan nomor port berbeda, mirip dengan:
- IP 127.0.0.1 TCP Port 501 dan IP 127.0.0.1 TCP Port 502
- Gunakan campuran protokol yang berbeda dengan bantuan alat lain (seperti com0com untuk protokol RTU di Windows)
Ini semua didasarkan pada perpustakaan nModbus .NET 3.5 yang dimodifikasi, Hak Cipta (c) 2006 Scott Alexander:
- Ini disertakan sebagai sumber daya untuk versi Windows tetapi terpisah untuk versi Mono
Ditujukan untuk digunakan sebagai alat pengujian cepat:
- Dapat diuji dengan mitranya ModbusSlaveSimulation (lihat video lebih lanjut di bawah)
Alternatif yang mudah untuk digunakan adalah perangkat lunak AdvancedHMI karena sangat fungsional dan gratis.
Tangkapan layar
Fungsionalitas
- Baca komentar di dalam formulir dan arahkan mouse ke label untuk mendapatkan petunjuk.
- Tanpa Pengalamatan Offset (di mana xxxxx mulai dari 00000 hingga 65534):
- Kumparan = 0xxxxx
- Input Diskrit = 1xxxxx
- Register Masukan = 3xxxxx
- Holding Register = 4xxxx
- Selain
Int16
, yang hanya alamat pendaftaran tanpa pengubah, aplikasi ini juga mendukung:- Pengubah
U
, F
, L
, UL
dan S
( yang digunakan untuk UInt16
, Float32
, Int32
, UInt32
, String
)
- Dukungan untuk nilai 64-bit telah ditambahkan - Float64, Integer64 yang ditandatangani dan tidak ditandatangani:
- Gunakan pengubah
FQ
, LQ
dan UQ
(dimana Q
adalah singkatan dari Quad Word)
- Dukungan eksperimental untuk nilai 128-bit telah ditambahkan - Integer128 yang ditandatangani dan tidak ditandatangani:
- Gunakan pengubah
LO
dan UO
(dimana O
adalah singkatan dari Octa Word)
- Ini juga mendukung Membaca/Menulis bit/karakter:
- memilih bit/karakter yang berurutan dalam satu elemen atau bit/karakter individual yang tepat dari masing-masing beberapa elemen
- baik nilai tunggal atau jumlah pasti dari nilai yang dipisahkan koma akan diperlukan untuk penulisan jika jumlah
Points
> 1
- Untuk protokol berbasis RTU, pada satu PC, aplikasi ini dapat menggunakan bantuan:
- Program Windows com0com untuk menyediakan pasangan port serial virtual
- TextBox tambahan memungkinkan input manual port serial, ditujukan untuk Linux sehingga pasangan port virtual tty0tty, seperti
/dev/tnt0
<=> /dev/tnt1
, dapat diakses- Kotak ini telah dihapus di versi Mac Mono
- Perpustakaan mendukung
Masked Bit Write
, kode fungsi 22 (0x16H atau FC22) - Aplikasi ini juga menyertakan kode bawaan untuk perangkat budak yang tidak mendukung
FC22
:- Hal ini memerlukan proses
read-modify-write
yang memerlukan sedikit waktu dan dapat menimpa nilai yang berubah selama proses berjalan
PENTING: Berhati-hatilah saat mencoba menulis nilai apa pun ke PLC.
Penggunaan
-> Untuk Windows
- Gunakan file Windows yang dapat dieksekusi dari folder
exe
atau ikuti petunjuk di bawah ini untuk membuatnya sendiri:- Unduh dan instal edisi komunitas Visual Studio (idealnya 2019)
- Unduh dan ekstrak file zip proyek ini
- Buka ini sebagai proyek yang sudah ada di Visual Studio dan, pada menu, lakukan:
- Bangun/Bangun Solusi (atau tekan Ctrl-Shift-B)
- Debug/Mulai Debugging (atau tekan F5) untuk menjalankan aplikasi
- Temukan file EXE yang dibuat di folder
/bin/Debug
dan salin ke folder pilihan Anda atau Desktop
-> Untuk Mono
- Pastikan Mono terinstal di komputer Anda:
- Paket
mono-complete
dan mono-vbnc
untuk Linux - Untuk Mac Anda mungkin perlu bereksperimen, mungkin menginstal paket
mono
dan mono-basic
- Unduh dan ekstrak file zip proyek ini dan temukan arsip zip Mono di folder
Mono
- Ekstrak 4 file dan mungkin ganti nama folder dan/atau file exe yang baru dibuat menjadi lebih pendek jika Anda mau, hanya untuk membuat navigasi terminal lebih cepat
- Buka terminal, navigasikan ke folder dan ketik:
sudo mono ModbusMaster.exe
:- Di Mac Anda mungkin perlu beralih ke akun
su
pengguna super
- Untuk menguji protokol RTU, di Linux Anda mungkin dapat menginstal dan menggunakan pasangan port virtual tty0tty sementara di Mac versi OS X yang lebih baru tampaknya memiliki terminal semu - pasangan perangkat seperti
/dev/ptyp3
<=> /dev/ttyp3
Catatan untuk pengguna Mac: ini telah diuji pada komputer iMac G5 PowerPC lama dengan Mono v2.10.2. Beberapa perilaku aneh muncul dalam artian aplikasi kehilangan fokus sehingga mengganggu komunikasi TCP dalam mode Baca Otomatis. Terdapat kotak teks dengan X merah yang dapat Anda klik untuk mencoba mempertahankan fokus (jika Anda melakukan hal lain setelahnya, klik lagi). Karena saya tidak dapat mengujinya dengan cara lain, maka Anda tinggal bereksperimen.
Video
Modbus.TCP.Komunikasi.mp4
Lisensi
Berlisensi di bawah lisensi MIT - lihat file README.txt di dalam folder Resources.
Merek Dagang
Setiap dan semua merek dagang, baik yang disebutkan secara langsung atau tidak langsung dalam proyek ini, adalah milik masing-masing pemiliknya.
Sumber Daya Berguna
Forum situs web AdvancedHMI, yang merupakan proyek sumber terbuka lainnya.