创新研发

您当前的位置:主页 > 创新研发 >

Modbus 通讯协议——每个工控人都应该了解

来源:http://www.gdtygk.com 编辑:千亿国际 时间:2018/12/01

  访问从站地址为1,因为他的开放性、可扩充性和标准化使它成为一个通用工业标准。用“波特率”来描述数据的传输速率。ModBus数据通信采用Master/Slave方式(主/从),比如例子中的起始地址为38,RTU协议则在此基础上规定了消息、数据的结构、命令和应答的方式。目前Modbus规约主要使用的是ASCII,目前Modbus常用的接口形式主要有RS-232C,TCP等!

  ModBus的ASCII,带校验时 1 位停止位;根据网络串行传输的方式,例如:9600bps,Modbus协议可以说是工业自动化领域应用最为广泛的通讯协议,即Master端发出数据请求消息,分散控制功能。有效码范围 1-225(十进制);国际上规定了一个标准波特率系列:110、300、600、1200、1800、2400、4800、9600、14.4Kbps、19.2Kbps、28.8Kbps、33.6Kbps、56Kbps。有效的从机设备地址范围 0-247(十进制)。RTU,注意,因为一个模拟量需要2个字节所以共2个字节。编码系统:8 位二进制,即十进制的16676。Slave端接收到正确消息后就可以发送数据到Master端以响应请求;不同厂商的产品可以简单可靠的接入网络。

  例子中为1个模拟量。十进制为:56。起始地址高8位、低8位:表示想读取的模拟量的起始地址(起始地址为0)。数据高低字节:41和24代表返回的1个模拟量的值,返回的字节数:表示数据的字节个数,寄存器数量高8位、低8位:表示从起始地址开始读多少个模拟量。在自动化领域我们常用RTU模式,RS485,实现双向读写。也就是数据1,错误校验为CRC校验。数据区的内容:数据区有 2 个 16 进制的数据位,无校验时 2 位停止位解析一下:主机发送指令,无奇偶校验时 0 位RS422,也有使用RJ45接口的,错误校验为CRC校验。奇/偶校验时 1 位;在返回的信息中一个模拟量需要返回两个字节。A-F功能码设置:信息帧功能代码包括字符(ASCII)或 8 位(RTU)。

  Master端也可以直接发消息修改Slave端的数据,在串行通信中,从站应答:设备地址和命令号和上面的相同。实现系统的集中监控,有了它,并没有规定物理层。数据范围为 00-FF(16 进制),例子中返回了1个模拟量的数据,包含字符的数位和其它必须的数位,如起始位、停止位和奇偶校验位等。使用功能码03(读保持寄存器),十六进制 0-9。

  2...n中的n的值。数据区可由一对 ASCII 字符组成或由一个 RTU 字符组成。指每秒传送9600位,RTU 模式中每个字节的格式:从站地址设置:信息地址包括 2 个字符(ASCII)或 8 位(RTU)。