通讯实例 modbus_干货分享丨Modbus通讯编程实例,精彩连载的节奏啊!

本文分享了多个Modbus通讯编程实例,包括读取线圈、读取保持寄存器、写单个线圈和写多个寄存器等功能码的应用,详细解释了编程过程和注意事项。
摘要由CSDN通过智能技术生成
86b141d5b0956245b6a8700e8d60fbc0.png

Modbus通讯编程实例(一)

最近单独在写Modbus和现场总线的介绍,都是一些思路性质的介绍,不涉及具体的实例,可能很多童鞋还是觉得不够具体,因为我现在不做具体的编程调试了,所以直接些实例很费劲。参考了一些网上的和施耐德电气内部的资料,写成以下的案例,用了一些其他人的劳动成果,如果原作者在意版权问题,请联系我,我尊重您的所有权。

我的帖子里提过Modbus的功能码,常用的没几个,这里列出更多的(也不是全部):

功能码(十进制)十六进制说明
0101读线圈
0202读离散量输入
0303读保持寄存器
0404读输入寄存器
0505写单个线圈
0606写单个寄存器
0707读异常状态
0808诊断
110B获得事件计数器
120C获得事件记录
150F写多个线圈
1610写多个寄存器
1711报告从站ID
2216屏蔽写寄存器
2317读/写多个寄存器
2418读FIFO队列

DATA_EXCH功能块是用于Premium和M340传输数据到另外一台设备,这个功能块支持Modbus所有的功能码。DATA_EXCH用梯形图表示:

bada6d3800ac078f9fa985e2ddc897ff.png

各个引脚定义:

ADR为地址引脚,对于PREMIUM系列需要使用ADDR功能块连接。
对于M340系列需要使用ADDM功能块连接。
TYPE为类型引脚,1为接受/发送,2为只接受,3为只发送。
EMIS为要发送表
RECP为接受表
GEST为交换管理表

实例一:读取N位(功能码01)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值