Modbus 协议的对话方式

2017-06-04 69 0

Modbus 协议是建立分级结构(主从式)的完全开放的异步串行通信协议,可使主站对一个或多个智能从站进行访问、主站从站之间允许多点连接。主站与从站可有两种对话方式:①查询方式——主站对一个从站对话并等待其回应;②广播方式——主站对所有从站对话(不等待回应)。

Modbus 协议中只有主站唯一对数据交换进行管理、从站不能自己发送信息。传输线上信息交换是半双工、即同时只能有一台设备允许发送信息;主站在发送一条指令前等待从站回应、避免线路冲突。数据交换出错时主站会重新发出访问指令、若设置时间内仍未得到回应、主站将认为所访问从站不存在。

Modbus 协议可实现主站与从站间数据交换及检验、故每个从站单元都定义有数据区以便主站读出或写入。主站在信息交换中是主动的,通过从站地址、访问指令、指定数据区(交换数据)、交换检验格式访问从站;一次可向一个或所有从站发送通信请求(或指令)、通过消息帧地址域选从设备。主站发送消息帧内容与顺序为从站地址、功能码、数据域(数据起始地址、数据量、数据内容)、CRC 校验码;从站应答信息内容与顺序与主站帧基本相同。Modbus 除定义通信功能码外还定义出错码、标志出错信息,主站接错误码后依错误原因采取措施;从站应答数据内容依据功能码响应(如功能代码 03 要求读取从站保持寄存器内容)。

Modbus 协议有两种传输方式:RTU(Remote Terminal Unit,远程终端单元)与 ASCII,一个系统中只能采用一种;物理层可以是 RS-232/RS-485、波特率 4800~19200。RTU 模式中 1 字节信息作为一个 8 位字符发送、ASCII 模式中则作为两个 ASCII 字符发送。例如发送字符“20”时、RTU 模式为 00100000、ASCII 模式则为 00110010+00110000(ASCII 字符 2 和 0)。可见发送同样数据 RTU 模式效率大约为 ASCII 模式两倍。

图4-20 RTU 方式格式

RTU 方式数据以字节(8 位二进制码)传输、包含 1 个起始位、8 个数据位、1 个奇/偶校验位或无校验、1 个停止位,采用 CRC(循环冗余校验)。

图4-21 ASCII 方式格式

ASCII 方式数据以 ASCII 码(十六进制)传输、包含 1 个起始位、7 个数据位、1 个奇/偶校验位或无校验、1 或 2 个停止位,采用 LRC(纵向冗余校验),头码“:”(3AH)、尾码 CR、LF(0DH 和 0AH)。

例如 ATV58 变频器 Modbus 接口物理层为 RS-485、采用 RTU 方式、无奇/偶校验位、波特率必须为 19200、连接介质为屏蔽双绞线、传输距离可达 1000 m。通过对 ATV58 变频器内部数据区访问,Modbus 连接可管理功能:读出/写入若干字(数据交换,读模式最大 32 字、写模式最大 30 字);写入一个输出字;交换诊断功能(从站无法执行指令返回信息)。详细功能如表4-6 所示。

表4-6 Modbus 协议指令代码

相关文章

变频器柜内的布线
变频器产生噪声的类型
变频器所处电磁环境中的主要干扰源
抑制变频器对微机控制板的干扰
避免变频调速系统的噪声共振
低压变频器电磁兼容等级的典型值

发布评论