读取树莓派modbus的数据

    首先要连上树莓派的wifi,然后查看wifi的ip地址,刚开始不知道为什么不能获取树莓派的ip地址。显示的Ip地址是168.xxx.xxx.xxx

    查看wifi的ip地址,使用ipconfig/all。前面的是以太网的ip数据,后面是wifi的ip地址。但是不知道为什么他显示的是192.168.51.19,我用192.168.51.1才能访问??

import modbus_tk.modbus_tcp as mt
import modbus_tk.defines as md
# 远程连接到服务器端
master = mt.TcpMaster("192.168.51.1", 502)

master.set_timeout(10.0)


Hold_value = master.execute(1, md.READ_INPUT_REGISTERS, 4050, 18)
print(Hold_value)

master.execute(1, md.READ_INPUT_REGISTERS, 4050, 18)

execute(self, slave, function_code, starting_address,  quantity_of_x=0, output_value=0, data_format="", expected_length=-1)

参考:https://blog.csdn.net/xukai871105/article/details/21884065

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Modbus TCP是一种基于TCP/IP协议的通信协议,用于在不同设备之间进行数据通信。在使用Modbus TCP读取数据之前,首先需要建立TCP连接。 1.建立TCP连接:使用设备的IP地址和端口号(通常为502)建立与目标设备的TCP连接。 2.发送Modbus请求报文:根据Modbus协议规范,构建请求报文。报文包含以下字段: - 事务标识符:每个请求的唯一标识符,用于匹配响应报文。 - 协议标识符:标识Modbus协议版本,通常为0。 - 单元标识符:标识目标设备的地址,用于多个设备共享同一网络时区分设备。 - 功能码:指定读取操作的类型,如读取线圈、离散输入、保持寄存器、输入寄存器等。 - 数据:请求读取数据的具体地址和长度。 3.等待响应报文:发送请求报文后,等待目标设备返回响应报文。通常情况下,响应报文的事务标识符和功能码与请求报文一致,用于匹配请求与响应。 4.解析响应报文:根据Modbus协议规范,解析响应报文的各个字段。报文中的数据字段包含了所请求的数据。 5.处理数据:根据实际需求,将从响应报文中解析出的数据进行处理,如获取数据的数值、状态等,并进行相应的处理操作。 6.关闭TCP连接:在完成所有读取操作后,关闭与目标设备的TCP连接。 需要注意的是,使用Modbus TCP读取数据时,需要确保目标设备支持Modbus TCP协议,并且正确配置了Modbus地址和相应的数据

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值