Modbus协议解析(1)——入门介绍

在工业控制系统中,存在各种控制器终端,它们都有许多离散形式的输入输出量、开关状态量、线圈通断控制量,或者需要其他设备输入到内部寄存器的指令值、内部寄存器保存的中间控制量值、物理量值等。

Modbus是一个工业通信总线协议,在多个控制器中进行传输,消息内容是关于工业控制的指令和数据。Modbus是一种标准的通信协议,有规范的国标和世界标准,不同品牌的控制器可以组成Modbus网络,进行集中监控。

它属于一种互联通信网络,符合OSI模型并处于顶层——应用层,即只规定了消息(Message)的格式和各区域的功能、含义,而对于数据链路层、物理层没有规定。Modbus协议并不关心经过何种类型的网络线路进行通信,但通常用到的网络线路是串行网络(如RS-232\485)和TCP/IP。

Modbus协议的主要内容:

①主控制器如何请求访问其他从设备;

②从设备如何响应主设备的访问请求;

③怎样判断错误并记录。

1.标准ModBus传输

串行链路的RS-232是Modbus的标准电气接口。由串口规定连接口的针脚、电缆、信号位、传输波特率、奇偶校验;Modbus负责规定消息的格式、含义。

标准的Modbus采用主从通信技术:一主多从:主机就相当于客户机(client),从机相当于服务器(server)。主机发出查询访问请求,相应的从机进行回应(分无差错状态和异常状态);或者主机发出广播,从机不作回应。

Modbus事务处理(无差错状态)

 

 
Modbus事务处理(异常响应)

Modbus协议规定了:

①主设备查询消息的格式:

设备(或广播)地址、功能码、要发送的数据、错误检测域。

②从设备回应消息的格式:

确认要行动的域、要返回的数据、错误检测域。 

③在消息接收过程中发生错误,或从设备不能执行其命令,从设备将建立错误消息并作为回应发送给主机。

 2.查询-回应周期

主设备发出查询消息,从设备接收查询并发出响应消息,主设备接收响应,由此完成一个通信周期。

①查询

查询消息中,功能码告诉地址对应的从设备执行何种功能;数据段包含从设备执行功能所需的附加信息,例如功能码03要求从设备读保持寄存器并返回其内容,数据段包含从哪个寄存器开始读、要读的寄存器数量;错误检测域为从设备提供了一种验证消息内容是否正确的方法。

②响应

若从设备产生正常的响应,响应消息中的功能码是对查询消息中的功能码的回应;数据段包含从设备读取的数据——寄存器值或状态。若有错误发生,功能码用于标明响应消息是错误的,数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值