论文(基于Modbus的上位机通讯) 下载本文

4.1.2.2 变频器的Modbus RTU通信的实现

1 关于协议 ? 通信方法

基本的通讯方法是主设备发送Query message (查询),然后从设备回复Response message (应答)。正常通讯时会原样复制Device Address和Function Code,异常通讯(功能代码、数据代码错误)时将Function Code的第7位(=80 h)设置为ON,Data Bytes设置为错误代码。

图4-6

信息帧由上表所示的4个信息区域构成。

通过在信息数据的前后附加3.5个字符的无数据时间(T1:起始·完成),从设备会识别为1个信息。

2 信息格式类型

? 保持寄存器的数据读取(H03或03) 查询信息(Query message)

从设备地址 功能代码 起始地址 读取个数 CRC 检验 (8bit) H03 (8bit) H L H L L H (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) 正常应答(Response message)

从设备地址 (8bit) 功能代码 H03 (8bit) 读取个数*2 (8bit) 读取数据 CRC 校验 H (8bit) H L ? L (8bit) (8bit) (n×16bit) (8bit) 12

? 保持寄存器的数据写入(H06或06) 查询信息(Query message) 从设备地址 (8bit) 功能代码 H03 (8bit) 寄存器地址 H L 写入数据 H L CRC 检验 L H (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) 正常应答(Response message) 从设备地址 (8bit)

注:由于广播通讯时即使执行了查询也不会有应答,所以在进行下一个查询时,必须在执

行完前一个查询后,等待变频器进行处理所需的时间后再进行。

功能代码 H03 (8bit) 寄存器地址 H L 写入数据 H L CRC 检验 L H (8bit) (8bit) (8bit) (8bit) (8bit) (8bit) ? 地址 H03功能代码

寄存器 40201 40202 40203 H06功能代码 寄存器 40205 40015 内 容 频率设定值/转速设定值 运行频率(EEPROM值) 单位 0.01Hz/ 0.001 H00 停止 H02 正转 H04 反转 读取/写入 写入 写入 内 容 输出频率/转速 输出电流 输出电压 单位 0.01Hz/1 0.01A 0.1V 读取/写入 读取 读取 读取 注:请求PDU说明了起始寄存器地址和寄存器数量。从零开始寻址寄存器。因此,寻址寄存器1-16 为0-15。

13

变频器参数设置 参数编号 名 称 79 117 118 119 120 121 122 设定值 设定范围 内 容 0 外部/PU切换模式 1 固定为PU运行模式 2 可以在外部、网络模式间切换运行 运行模式6 3 外部/PU组合运行模式1 选择 4 外部/PU组合运行模式2 6 网络模式 7 外部运行模式(PU运行互锁) 0 广播通讯 PU通讯变频器站号指定1台控制器连接多台1 站号 1—247 变频器时要设定变频器的站号。 通讯速率 PU通讯48、96、192 设定值×100为通讯速率。 速率 192、348 例)设定为96时通讯速率为9600bps 停止位 数据长度 0 1Bit 8Bit PU通讯1 1 2Bit 停止位长 10 1Bit 7Bit 11 2Bit 0 无奇偶校验 PU通讯2 1 奇校验 奇偶校验 2 偶校验 发生数据接收错误时的再试次数容许0~10 值。连续发生错误 PU通讯9999 次数超过容许值时,变频器将跳闸 再试次数 9999 即使发生通讯错误变频器也不会跳闸 可进行RS-485通讯。但,有操作权的0 运行模式启动的瞬 间将发生通讯错误(E.PUE) U通讯校通讯校验(断线检测)时间的间隔 验时间间9999 0.1~999.隔 无通讯状态超过容许时间以上时,变频8 器将跳闸。(根据Pr.502 的设定)。 9999 不进行通讯校验(断线检测) 设定向变频器发出数据后信息返回的0~150ms 等待时间 9999 9999 用通讯数据进行设定 0 无CR、LF 0 1 2 14

123 124 PU通讯等待时间设定 PU通讯有无CR/LF选择 有CR 有CR、LF

0 1 340 通讯启动模式选择 0 10 取决于Pr.79 的设定 网络运行模式 网络运行模式 可通过操作面板切换PU运行模式与网络运行模式 显示ModbusRTU通讯时的通讯错误次数(只读) 发生异常输异常解除异常显示 出 时 时 自由停止 运行E.PUE 输出 (E.PUE) 停止 减速停止后 停止后停止 停止 E.PUE 输出 (E.PUE) 减速停止后 无输出 再启动 停止 E.PUE 三菱变频器(计算机链接)协议 Modbus-RTU协议 343 通讯错误计数 0 - 0 502 通讯异常时停止模式选择 0 1 2 549 此时PLC的通信格式D8120=H0C97 【9】:(1001) 通信速率=19200 pbs,

协议选择 1 0 1 【7】:(0111) 停止位1位;偶校验,数据位8位) 3、PLC程序编写

在PLC程序里,顺序控制程序并不难编写,这里最难的是CRC16校验码的计算,CRC16校验码的计算方法比较麻烦,需要对每个位进行异或然后判断,而且每个字都要如此计算,而不像和校验那样有专门的计算指令。对此,我的编写思路是采用子程序的调用,在需要用到CRC16校验代码的时候就调用CRC16计算的子程序,对于CRC16的PLC编程如下:

15