MODBUS通信协议学习(三):应答和错误检测 |
您所在的位置:网站首页 › modbustcp报文ack含义 › MODBUS通信协议学习(三):应答和错误检测 |
目录
前言MODBUS应用协议应答方式无应答正常应答RTU模式TCP模式
异常应答RTU模式TCP模式
前言
学习了MODBUS通信方式.之后。学习一下MODBUS的应答和错误检测机制。 这篇文章在学习过程中作为记录,如有错误,请多指教。 MODBUS应用协议MODBUS是一种简单的客户机/服务器应用协议。 通信时客户机(主机)发起请求,服务器(从机)对请求作出应答。请求和应答构成了一次完整的通信。 服务器在应答时间必须在客户机规定的时间之内,否则客户机会采用超时处理,回应的格式也要遵循通信协议的规定。 应答方式MODBUS有三种应答情况,分别是无应答,正常应答,异常应答(指令有错误的时候)。 无应答我们知道回应请求要在主机规定的时间内,否则主机会进入超时处理。 无应答一般发生在以下错误的时候: 通信格式不正确,比如波特率不统一。通信双方正常通信,但是帧校验不通过,此时从机不发送消息。通信地址错误,没有从机发起回应。正常应答和异常应答是在通信成功时的应答 正常应答主站发来的指令正常,从站用相同的数据格式正常回应,客户机复制原始功能码。 请求: 起始码地址码功能码数据区校验码停止码至少3.5字符间隔时间01-F7功能码请求数据CRC至少3.5字符间隔时间响应: 起始码地址码功能码数据区校验码停止码至少3.5字符间隔时间01-F7功能码响应数据CRC至少3.5字符间隔时间除了数据区和校验码,其他部分都要相同。 TCP模式请求格式: 事物处理标识符协议标识符长度单元标识符功能码请求数据回应格式: 事物处理标识符协议标识符长度单元标识符功能码响应数据响应数据满足功能码的指定的格式。 MBAP报文头中除长度外都应一致。 异常应答对于请求有错或异常的情况下,从站回应是要将功能码最高位置1,数据区存放错误代码(异常码)用于告诉主站发生的错误。 MODBUS规定了功能码,对应的异常功能码也自然有了规定,但是MODBUS没有规定错误代码(异常码),错误代码(异常码)由用户规定。 请求: 起始码地址码功能码数据区校验码停止码至少3.5字符间隔时间01-F7功能码请求数据CRC至少3.5字符间隔时间响应: 起始码地址码功能码数据区校验码停止码至少3.5字符间隔时间01-F7异常功能码(功能码最高位置1)异常码(说明具体错误)CRC至少3.5字符间隔时间响应帧数据除了标记区域都应与请求帧相同。 TCP模式请求格式: 事物处理标识符协议标识符长度单元标识符功能码请求数据回应格式: 事物处理标识符协议标识符长度单元标识符异常功能码(功能码最高位置1)异常码(说明具体错误)响应帧数据除了标记区域都应与请求帧相同。 MBAP报文头中除长度外都应一致。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |