01-28-2016 08:18 PM
pagi labview ranger.....hehe
saya mau nanya nih, sy lg coba monitoring Counter merk Autonics menggunakan modbus, masalah timbul saat counter mencapai 65534, ketika mau counting 1 lagi menjadi 65535 pembacaan di labview kok jadi 1 ?
65535 = 1
65536 = 2
65537 = 3
dst....
adakah yang salah dari modbus library ? apakah ini bug ?
saya coba mengubah represetatif holding register dari v16 menjadi v64 juga tidak berpengaruh. mohon bimbingannya
01-31-2016 07:37 AM
rhiesnand,
itu masalahnya bukan di LabVIEW sepertinya. Holding register saya lihat di screenshot kan memang U16, sementara kan ukuran U16 itu ya 65535.
coba pakai 2 register di dalam Modbus Holding Registernya. jadi 32bit.
02-10-2016 09:51 PM
udah saya ganti juga mas ttp ga bisa,apa di programnya ya ? pakai 2 register ? kyny sy pakai 1 register. kl 2 register ntr gmn ya mas ? apa register pertama di jumlah sm register kedua ? blm bisa coba lagi soalnya hardwarenya lg di pinjem orang hehe
02-10-2016 10:08 PM
sebentar mas, kita lihat sisi modbus dulu ya.
Holding register kan memang cuma U16 (16 bit), bagaimana bisa merepresentasikan nilai yang lebih dari maksimal nilai dari U16 yaitu 65535?
Secara teori, misalnya autonic sampeyan display indicator untuk counter, dan incremental dari 0 dan terus naik ke angka maksimal (ini saya kurang tahu berapa ya), disaat yang bersamaan autonic counter ini juga mengeluarkan data via Modbus, menggunakan Holding Register, yang mana Holding Register sendiri kan satu address hanya 16bit (U16), dengan nilai maksimal 65535. Jadi kalau counter Autonic sudah sampai sampai angka maksimal, 65535, lalu tambah satu, 65536 dan ini tampil di display Autonic, tapi Holding Register Modbus kan tetap 65535 maksimalnya. Ini saya kurang tahu pasti, apakah akan roll-over 0 atau tetap di 65535.
Jadi saran saya, coba monitor Modbusnya dulu pakai software seperti ini: http://www.simplymodbus.ca/RTUmaster.htm, lihat pada saat mencapai angka 65535, apa yang terjadi?
LabVIEW sih membaca register saja dan wajar kalau roll-over di LabVIEW karena sifatnya memang begitu. Tapi saya curiga, masalah bukan disitu, tapi di register nya Modbus.
Silahkan dipelajari dulu dan kabari.
04-26-2016 03:23 AM
hello mas wisnu kembali lagi ke topikini sy udah ada alatnya lagi hehe,
saya udah otak atik udah ketemu masalahnya dimana, cuma logika saya ke program labviewnya belum jago hehehe malah mumet ane.
jadi sebelumnya yg saya baca cm 1 register saja yg sebenarnya ada 2 register yang harus dibaca.
jadi pembacaannya gini mas :
Counter RegisterA RegisterB
65534 65534 0
65535 65535 0
65536 0 1
65537 1 1
65538 2 1
dari situ sy pelajari nilai 1 pada register B = 65536,
jadi untuk 65537 adalah 65536 ditambahkan nilai dari register A = 65536 + 1 = 65537
untuk nilai 65538 adalah 65536 ditambahkan nilai dari register A = 65536 + 2 = 65538
seperti itu mas, cuma sy bingung logika programnya gimana ya ? make case structure ? atau pake apa ya ? mohon bimbingannya thanks
65534
65535
65536
65537
65538
04-26-2016 07:11 PM
hmmm, case structure bisa juga, tapi kalau menurut saya, pakai fungsi "to the power of"
Register B itu LSB. Asumsi kita labelkan A
Register A itu MSB. Asumsi kita labelkan B
Jadi taro saja rumus, A+B*(2^16). Saya test pakai Excel sih sudah oke.
04-26-2016 10:34 PM
Duh terbalik label saya.
A itu LSB-least sig bit
B itu MSB-most sig bit
06-13-2016 11:41 PM
Wah manteb bgt,jurusnya manjur mas hehehe thanks berat