LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Maximum pembacaan modbus 65535 ?

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

ask.png

0 Kudos
Message 1 of 8
(5,538 Views)

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.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2021
0 Kudos
Message 2 of 8
(4,531 Views)

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

0 Kudos
Message 3 of 8
(4,531 Views)

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.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2021
0 Kudos
Message 4 of 8
(4,531 Views)

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

65534.png

65535.png

65535

65535.png

65536

65536.png

65537

65537.png

65538

65538.png

0 Kudos
Message 5 of 8
(4,531 Views)

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.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2021
Message 6 of 8
(4,531 Views)

Duh terbalik label saya.

A itu LSB-least sig bit

B itu MSB-most sig bit

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2021
Message 7 of 8
(4,531 Views)

Wah manteb bgt,jurusnya manjur mas hehehe thanks berat

0 Kudos
Message 8 of 8
(4,531 Views)