儀器modbus RTU通訊問題

作者: popo14777 (草草)   2022-10-21 21:49:49
各位大大、前輩好
我想要使用python來與儀器進行通訊,設備商有提供modbus RTU指令集,
內容包含modbus RTU通訊設定,以及通訊地址,如下



我使用三種方式進行通訊,但不知道為什麼都無法將值讀取出來
方式1:使用pymodbus
結果1:地址輸入40051或40062或其它值,拋出AttributeError例外

結果2:地址輸入40051或40062或其它值,出現Modbus Error訊息

方式2:使用modbus_tk
結果:地址輸入40053或40062或其它值,出現Response length invalid 0 訊息






方式3:使用minimalmodbus
結果: 地址輸入40053或40060或其它值,拋出ValueError例外


不知道我哪裡寫錯或設定錯誤,研究好久了..懇求前輩幫忙,
謝謝
作者: lycantrope (阿寬)   2022-10-21 23:13:00
連怎麼錯誤都還沒弄清楚,就換其他package...
作者: a9202507 (先認真的就輸了。)   2022-10-22 10:55:00
我家lab儀器都是gpib接頭. 然後用pyvisa控制。
作者: timsheu (為道日損)   2022-10-22 16:20:00
minimalbus有一個能試試看,你填的40060變成了0x40060也就是錯誤裡寫的262240也就是錯誤裡寫的262240
作者: a9202507 (先認真的就輸了。)   2022-10-23 10:55:00
我家儀器功能可能跟你不同。但我以為gpib是通用的…
作者: ccss701 (星)   2022-10-23 22:08:00
前面的400不要呢? pymodbus的unit是站號client.read_holding_registers(61, 1, unit=3)
作者: hidos (hidos)   2022-11-29 16:46:00
開port之後延遲一下再丟讀取command看看

Links booklink

Contact Us: admin [ a t ] ucptt.com