Modbus-Python

python modbus_tk库 学习记录
How to monitor the data frames on the serial port when use modbus_tk? #1
Problem with holding registers encoded as float #93
Python3 bytes与hex字符串之间相互转换
modbus_tk 读取浮点数的处理
MODBUS-tk Read floating point values from slave in the master

ModBus协议-功能码-0x17
python – pyserial中的inter_byte_timeout(interCharTimeout)是什么?
What is inter_byte_timeout (interCharTimeout) in pyserial?

关于MODBUS RTU的T3.5 、T1.5的时序问题


modbus_tk数据解析 float UInt32


modbus一个寄存器是16bit,使用modbus_tk读取到的寄存器值为16位有符号数(Int16),并且放在一个tuple中。在实际使用时,需要解析为 float UInt32 Int32等数据类型,如果一个一个寄存器的拼凑然后再转换,效率低且麻烦。这时候许需要使用到强大的numpy来处理数据。

d16 = np.array(paravalue, dtype='>u2')  #更改数据为大端模式,MODBUS先发送高字节
f32 = d16.view(dtype='>f')  #更改显示数据为大端模式,高字节在前

d16 = np.array(paravalue, dtype='>u2')  #更改数据为大端模式,MODBUS先发送高字节
u32 = d16.view(dtype='>u4')  #更改显示数据为大端模式,高字节在前

d16 = np.array(paravalue, dtype='>u2')  #更改数据为大端模式,MODBUS先发送高字节
i32 = d16.view(dtype='>i4')  #更改显示数据为大端模式,高字节在前

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值