首页
搜索
历史搜索
搜索发现
首页 > 新闻中心 > 技术应用

一文读懂ModBus通信协议简介

2023-03-14 10:15:45| 来源:聚英电子| | 0

  ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

  其系统结构既包括硬件、亦包括软件,可应用于各种数据采集和过程监控。

  Modbus之所以使用广泛,是有他的优点的,Modbus协议标准开放、公开发表且无版权要求。

Modbus的功能码 

  Modbus协议支持多种电气接口,包括RS232、RS485、TCP/IP等,还可以在各种介质上传输,如双绞线、光纤、红外、无线等。Modbus协议消息帧格式简单、紧凑、通俗易懂。用户理解和使用简单,厂商容易开发和集成,方便形成工业控制网络。

  ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。

  采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。Modbus是一主多从的通信协议,通信过程为:

  Modbus通信中只有一个设备可以发送请求。其他从设备接收主机发送的数据来进行响应,从机是任何外围设备,如I/O传感器,阀门,网络驱动器,或其他测量类型的设备。从站处理信息和使用Modbus将其数据发送给主站。

  也就是说,不能Modbus同步进行通信,主机在同一时间内只能向一个从机发送请求,总线上每次只有一个数据进行传输,即主机发送,从机应答,主机不发送,总线上就没有数据通信。

  从机不会自己发送消息给主站,只能回复从主机发送的消息请求。Modbus并没有忙机制判断,比方说主机给从机发送命令, 从机没有收到或者正在处理其他东西,这时候就不能响应主机,因为modbus的总线只是传输数据,没有其他仲裁机制,所以需要通过软件的方式来判断是否正常接收。

Modbus的功能码

  Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。

  协议类型

  在上面我们已经说明了Modbus可以在各种介质上传输,包括ASCII、RTU(远程终端控制系统)、TCP三种报文类型。

  串行端口存在多个版本的Modbus协议,而最常见的是下面四种:Modbus-Rtu,Modbus-Ascii,Modbus-Tcp,ModbusPlus。Modbus RTU是一种紧凑的,十六进制表示数据的方式,Modbus ASCII是一种采用Ascii码表示数据,并且每个8Bit 字节都作为两个ASCII字符发送的表示方式。RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。

  Modbus协议使用串口传输时可以选择RTU或ASCII模式,并规定了消息、数据结构、命令和应答方式并需要对数据进行校验。ASCII 模式采用LRC校验,RTU模式采用16 位CRC校验。通过以太网传输时使用TCP,这种模式不使用校验,因为TCP协议是一个面向连接的可靠协议。

Modbus异常码
Modbus异常码


  标准的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网络协议发送出去即可。



联系销售
销售王经理微信 销售王经理
微信公众号 微信公众号
服务热线
400-6688-400