仪器modbus RTU通讯问题

楼主: popo14777 (草草)   2022-10-21 21:49:49
各位大大、前辈好
我想要使用python来与仪器进行通讯,设备商有提供modbus RTU指令集,
内容包含modbus RTU通讯设定,以及通讯地址,如下
https://imgur.com/rJcfijX
https://imgur.com/pR0FF4o
https://imgur.com/9kRTjdg
我使用三种方式进行通讯,但不知道为什么都无法将值读取出来
方式1:使用pymodbus
结果1:地址输入40051或40062或其它值,抛出AttributeError例外
https://imgur.com/1oxM1YD
结果2:地址输入40051或40062或其它值,出现Modbus Error讯息
https://imgur.com/DlXnY8m
方式2:使用modbus_tk
结果:地址输入40053或40062或其它值,出现Response length invalid 0 讯息
https://imgur.com/Sf4KgLR
https://imgur.com/Sf4KgLR
https://imgur.com/Sf4KgLR
https://imgur.com/Sf4KgLR
https://imgur.com/Ag851s9
https://imgur.com/pbTOQVQ
方式3:使用minimalmodbus
结果: 地址输入40053或40060或其它值,抛出ValueError例外
https://imgur.com/lIDf1tH
https://imgur.com/Dz1Bblk
不知道我哪里写错或设定错误,研究好久了..恳求前辈帮忙,
谢谢
作者: 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