新闻动态
技术中心
技术中心
当前位置:科达自控 >> 服务支持 >> 技术中心 >> 浏览文章
MODBUS协议简介
作者:张海斌 日期:2020年01月04日 来源:技术部 浏览:

内容导读:MODBUS是Modicon公司(即现在的Schneider Electric公司)于1979年开发的一种通讯协议,其目的是采用一根双绞线与许多设备进行通讯。最初的方案使用RS232接口,但是MODBUS也适合于 RS485接口,以便获得更高的通讯速率、更长的通讯距离以及实现真正的多分支网络结构。

MODBUS是Modicon公司(即现在的Schneider Electric公司)于1979年开发的一种通讯协议,其目的是采用一根双绞线与许多设备进行通讯。最初的方案使用RS232接口,但是MODBUS也适合于 RS485接口以便获得更高的通讯速率、更长的通讯距离以及实现真正的多分支网络结构。

  MODBUS是一种“主-从”结构的系统,在这里“主设备”与一个或是多个“从设备”进行通讯。比较典型的主设备一般是PLC(可编程逻辑控制器)、PC、DCS(分散控制系统)或者RTU(远程终端单元)。MODBUS-RTU的从设备一般是现场仪表设备,所有这些现场仪表设备都以多分支网络的方式连接到系统当中。当一个MODBUS-RTU主设备想要从一台从设备得到数据的时候,这个主设备会发送一条包含该设备地址、所需要数据以及一个用于检测错误的求和校验码的信息。网络上的所有其它设备都可以看到这一条信息,但是只有地址被指定的设备才会作出反应。

MODBUS网络上的从设备不能够发起通讯联络,它们只能作出反应。换句话说,它们只能在别人对它说话的时候说话。

  目前使用的三种最常见的MODBUS版本是:

  ■  MODBUS ASC II

  ■  MODBUS RTU

  ■  MODBUS/TCP

  所有的MODBUS信息都以相同的格式进行传送在这三种不同类型的MODBUS版本之间的唯一差别就是:信息是怎样进行编码的。

  在MODBUS RTU协议里面,数据以二进制进行编码,而且每一个字节的数据只需要一个字节的通讯量。对于通讯速度在1200到115K波特率的RS232或者多分支网络的RS485网络来说,MODBUS RTU是一种理想的通讯协议。MODBUS RTU最为常见的通讯速率为9600和19200波特率。MODBUS RTU是得到最为广泛应用的工业化协议,MODBUS RTU的基本概念和应用如下:

  MODBUS RTU基础

  为了与一台从设备进行通讯,主设备将会发送一个包含如下内容的讯息:

  ■  设备地址

  ■  功能代码

  ■  数据

  ■  错误检查

  设备地址是一个从0到247的数字。发送给地址0(广播讯息)的讯息可以被所有从设备接收到,但是数字1到247是特定设备的地址。在这个讯息广播当中有一个例外,有一个从设备总是会对MODBUS讯息作出反应,这样主设备就知道这条讯息已经被从设备接收到了。

  功能代码定义了从设备应该执行的命令,例如读取数据、接受数据、报告状态等。功能代码为从1到255的数字。有些功能代码还拥有子功能代码。

  数据为读取功能定义了在设备存储器映射当中的地址,它包括被写入设备存储器的数据值,或是包括其它根据功能代码的要求需要被执行的信息。

  错误检查是一个描述循环冗余校验(CRC)的16-bit数值。循环冗余校验码(CRC)由主设备产生(通过一个包括对数据进行“或”运算以及移位运算的复杂程序产生),并且由接收设备进行检查。如果CRC值不符,这个设备就会要求重新传送讯息。在有些系统里面,还要对数据进行奇偶校验。

  当从设备执行了所要求的功能,它会返回一条讯息给主设备。这条返回的讯息包含了从设备的地址、所要求的功能代码(这样主设备就知道是谁在作出反应)、所要求的数据以及一个错误检查值。

上一篇文章:通讯协议解析 下一篇文章:没有了
相关链接
发表评论
用户评论
版权所有 山西科达自控股份有限公司 晋ICP备09004627号    晋公网安备 14019202000008号     
官方微信
新浪官方微博
腾讯官方微博