python获取modbus_tk数据解析为十进制可读数据

a = '0103a0000d000d000d001f00e500e600e50000000000000001000100000000000efffa002900010002000900002321000011470000000100000000000c000e001ffee8fee800000000000000000000000000000000000000351fd60734dec80734dec80734dcf60000000000000000000000010000000000030004000400005b6a8fd200000000000000000000000000000000000000000000000000000000000000008fd2'

def analysis(x):
    list1 =[]
    if x:
        if x[:4] == '0103':
            x = x[6:]
        elif x[-4:].isdigit():
            pass
        else:
            x = x[:-4]
        for i in range(len(x)):
            if i%4==0:
                list1.append(int(x[i:i + 4],16))
                i+=4
        print(list1)
        return list1
    else:
        print('传入为空')
        return None
x = analysis(a)

结果为

[13, 13, 13, 31, 229, 230, 229, 0, 0, 0, 1, 1, 0, 0, 14, 65530, 41, 1, 2, 9, 0, 8993, 0, 4423, 0, 1, 0, 0, 12, 14, 31, 65256, 65256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 8150, 1844, 57032, 1844, 57032, 1844, 56566, 0, 0, 0, 0, 0, 1, 0, 0, 3, 4, 4, 0, 23402, 36818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36818]
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Modbus是一种通信协议,常用于工业自动化领域,用于设备之间的数据通信和控制。而Modbus TCP是基于TCP/IP网络的Modbus协议。 Python是一种功能强大的编程语言,提供了许多库和工具来简化开发过程。其中,modbus_tkPython中的一个库,用于实现Modbus TCP通信。 使用modbus_tk库实现Modbus TCP可以通过以下步骤进行: 1. 安装modbus_tk库:使用pip命令在Python环境中安装modbus_tk库。例如:pip install modbus_tk 2. 导入modbus_tk库:在Python代码中导入所需的modbus_tk库。例如:import modbus_tk 3. 创建Modbus Master对象:使用modbus_tk库提供的函数,创建一个Modbus Master对象,用于与Modbus TCP设备进行通信。 4. 连接到Modbus TCP设备:使用Modbus Master对象的connect()函数,指定Modbus TCP设备的IP地址和端口号,与设备建立连接。 5. 读取或写入数据:使用Modbus Master对象的read_coils()、read_discrete_inputs()、read_holding_registers()、read_input_registers()等函数,可以读取Modbus TCP设备的不同类型的寄存器或线圈中的数据,也可以使用write_single_coil()、write_single_register()等函数写入数据到设备。 6. 关闭连接:使用Modbus Master对象的close()函数,关闭与设备的连接。 通过以上步骤,在Python中使用modbus_tk库可以实现Modbus TCP通信。需要根据具体的需求和设备的寄存器结构,使用适当的函数进行读写操作,以完成数据的通信和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值