您现在的位置是:首页 > 变频技术 > 变频技术
Modbus协议有几种对话方式?
来源:艾特贸易2017-06-04
简介答: Modbus 协议是一个建立分级结构(主从式)的完全开放的异步串行通信协议,可使主站对一个或多个智能型从站进行访问,主站和从站之间允许多点连接。主站和从站可以有两种对
答:Modbus协议是一个建立分级结构(主从式)的完全开放的异步串行通信协议,可使主站对一个或多个智能型从站进行访问,主站和从站之间允许多点连接。主站和从站可以有两种对话方式: (1)查询方式:主站对一个从站进行对话并等待其回应。 (2)广播方式:主站对所有从站进行对话(不等待回应)。 在Modbus协议中,只有主站唯一对数据的交换进行管理,从站不能够自己发送信息。在传输线上,信息的交换是半双工的,即同时只能有一台设备允许发送信息。主站在发送一条指令之前等待从站回应,从而避免了线路的冲突。当数据交换出现错误时,主站会重新发出访问指令,如果在设置时间内仍未得到回应,主站将认为所访问的从站不存在。 Modbus协议可以实现主站和从站之间的数据进行交换及检验,因而在每个从站单元中都定义有数据区以使主站能够对其中的数据进行读出或写入操作。主站在信息交换中是主动的,它通过从站地址、访问指令、指定数据区(交换的数据)、交换检验的格式访问从站。主站一次可向一个或所有从站发送通信请求(或指令),主设备通过消息帧的地址域来选从设备。主站发送的消息帧的内容和顺序为从站地址、功能码、数据域(数据起始地址、数据量、数据内容)、CRC校验码;从站应答的信息内容和顺序与主站信息帧基本相同。Modbus除了定义通信功能码之外,同时还定义了出错码,标志出错信息。主站接收到错误码后,根据错误的原因采取相应的措施。从站应答的数据内容依据功能码进行响应,例如功能代码03要求读取从站设备中保持寄存器的内容。 在Modbus的协议中有两种传输方式,RTU( RemoteTerminalUnit,远程终端单元)和ASCII。在一个系统中只能采用其中一种方式,物理层可以是RS-232/RS-485,波特率从4800~19200。在RTU模式中,1字节的信息作为一个8位字符被发送,而在ASCII模式中则作为两个ASCII字符被发送。例如,发送字符“20”时,采用RTU模式时为00100000,然而采用ASCII模式则成为00110010+00110000(ASCII字符的2和0)。可见,发送同样的数据时,RTU模式的效率大约为ASCII模式的两倍。 RTU方式格式: 数据以字节(8位二进制码)传输,包含1个起始位,8个数据位,1个奇/偶校验位或无校验,1个停止位;采用CRC(Cyclical Redundancy Check,循环冗余校验)。 ASCII方式格式:
数据以ASCH码(十六进制)传输,包含1个起始位,7个数据位;1个奇/偶校验位或无效验,1个或2个停止位;LRC(Longitudinal Redudancy Check,纵向冗余校验),头码“:”( 3AH),尾码CR、LF(ODH和OAH)。 例如,ATV58变频器上的Modbus接口物理层为RS-485,采用RTU方式,无奇/偶校验位,波特率必须为19200,连接介质采用屏蔽双绞线,传输距离可达lOOOm。通过对ATV58变频器内部数据区的访问,Modbus连接可以管理如下功能:读出/写入若干字(数据交换,读模式最大32字,写模式最大30字);写入一个输出字;交换诊断功能(从站无法执行指令返回信息)。详细功能如表4-6所示。 表4-6 Modbus协议指令代码