- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MODBUS 通信协议
协议简介:
MODBUS 通信协议是一种主从式串行异步半双工通信协议。采用主从结构,可使一个主站对多个从站
进行双向通信,它提供了ASCII 和RTU 两种通信方式。物理接口有RS232/RS422/RS488 标准接口。
MODBUS 协议是完全公开透明的,所需要的硬件电路又非常简单,这就使它慢慢成为了一个非常通用
的工业标准,几乎所有的控制设备和智能仪器都支持MODBUS 通信协议。通过MODBUS 协议,不同厂商
所生产的控制设备和智能仪器就可以建成一个工业网络,进行集中控制。
从硬件上的角度来看,MODBUS 串行链路系统可以使用不同的物理接口(如RS485 、RS232 )。最常
用的是 TIA/EIA (RS485 )两线制接口。作为附加的选项,也可以实现RS485 四线制接口。当只需要短距
离的点到点通信时,TIA/EIA-232-E (RS232 )串行接口也可以使用。平常所说的 “232 通信”、“485 通信”
实际上说的是通信的接口标准。
MDBUS 协议是软件上的协议,是真正意义上的通信协议,是通过软件编程实现的。
这里我们重点说明一下软件编程实现的MODBUS 通信协议。
1、传输方式
Modbus 以信息帧的方式传输数据。信息帧中的每个信息必须连续传输,这都是通过软件编程实现的。
MODBUS 通讯的信息帧格式又分为RTU 和ASCII 两种,这两种帧格式的数据结构固定,具体表示含
义如下:
(1)、ASCII 数据帧结构:
起始位 地址码 功能码 数据区 检验码 停止位
◆地址码:从站的地址(8 位)
◆功能码:主站发送,告诉从站执行的功能(8 位)
◆数据区:具体的数据内容(N*8 位)
◆检验码:LRC 校验码(8 位)
◆起始位:用“:”号,ASCII 码为“3AH ”
◆停止位:用 “CRLR ”表示停止,其中“CR ”(ASCII 码为0DH)表示“回车”键,“LR ”(ASCII 码
为0AH )表示“换行”
◆数据内容由通信程序编写,所有信息均需用ASCII 码形式发送和接收
(2 )、RTU 数据帧结构:
起始位 地址码 功能码 数据区 检验码 停止位
◆地址码、功能码、数据区含义与ASCII 结构相对应
◆校验码:CRC 校验码 (16 位)
◆起始位:无字符,仅保持无信号时间大于10ms
◆停止位:无字符,也是保持无信号时间大于10ms
◆数据内容由通信程序编写,所有信息均用十六进制数形式发送和接收
2 、功能码
MODBUS 协议的功能码告诉了被寻址到的终端执行何种功能。有效码范围 1-225(十进制) ,有些代
码是适用于所有控制器,有些适应于某种控制器,还有些保留以备后用。以下是常见的适用于所有控制器
的功能码:
表 1 – 1 常用功能码
代码 名称 作用
01H 读取线圈状态 取得一组逻辑线圈的当前状态(ON/OFF)
02H 读取输入状态 取得一组开关输入的当前状态(ON/OFF)
03H 读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值
04H 读取输入寄存器 在一个或多个输入寄存器中取得当前的二进制值
05H 强置单线圈 强置一个逻辑线圈的通断状态
06H 写个单寄存器 写一个特定的二进制值到一个单寄存器中
07H 读取异常状态 取得8 个内部线圈的通断状态
0FH 强置多线圈 强置一串连续逻辑线圈的通断
10H 写多个寄存器 写一系列特定的二进制值到一系列多寄存器中
11H 报告从机标识 可使主机
文档评论(0)