概 述
Modbus是一种串行
通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业
电子设备之间常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版权要求;易于部署和维护;对供应商来说,修改移动本地的比特或字节没有很多限制。
ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。
ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。
内部通信协议
Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。
Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。
对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。
通信传输方式
目前,Modbus可以通过下列三种通信方式实现:
1. 以太网方式:对应的传输模式是MODBUS TCP,通讯介质包括5类/6类网线或光纤等;
2. 异步串行口方式:对应的传输模式是MODBUS RTU、ASCII,各种通讯介质包括有线的RS-232/422/485、光纤、无线等;
3. 高速令牌传递方式:对应的传输模式是Modbus PLUS,通讯介质包括双绞线、同轴电缆等。
通 信 优 势
modbus通讯协议是一种工业自动化总线通信协议,其标准、开发和免费等特点,支持数千种工业智能仪器仪表厂家数据通信,同时支持多种通信接口RS232、RS85、TTL、光纤和无线等方式,协议公开、格式通俗易懂,广泛应用于多种工业自动化领域,作为该领域的无线通信设备厂家——为那…通信的WCTU设备,不仅兼容Modbus通讯协议,并且可以实现多种自主加密方式。支持多种串口通信方式,并集成多路模拟量采集AD接口和IO控制接口,监护前端PLC+DTU功能,实现一体化,节约成本,灵活多用。
不 足 之 处
Modbus是在1970年末为可编程逻辑控制器通信开发的,这些有限的数据类型在那个时代是可以被PLC理解的,大型二进制对象数据是不支持的。
对节点而言,没有一个标准的方法找到数据对象的描述信息,举个例子,确定一个寄存器数据是否表示一个介于30-175度之间的温度。
由于Modbus是一个主/从协议,没有办法要求设备“报告异常”(构建在以太网的TCP/IP协议之上,被称为open-mbus除外)- 主节点必须循环的询问每个节点设备,并查找数据中的变化。在带宽可能比较宝贵的应用中,这种方式在应用中消耗带宽和网络时间,例如在低速率的无线链路上。
Modbus在一个数据链路上只能处理247个地址,这种情况限制了可以连接到主控站点的设备数量(再一次指出以太网TCP/IP除外)
Modbus传输在远端通讯设备之间缓冲数据的方式进行,有对通信一定是连续的限制,避免了传输中的缓冲区漏洞的问题
Modbus协议自身提供针对未经授权的命令或截取数据没有安全性。
相 关 图 片
原作者:侯成敬 自动化控制技术控