EMERSON EV1000/EV2000变频器与MITSUBISH FX2 PLC
基于Modbus协议通讯的DEMO程序
一、硬件连接
三菱FX系列PLC基于Modbus协议通讯的DEMO称重程序 二、通信方式
Modbus协议,ASCII格式,LRC校验;
主从方式:PLC变频器为主机;
波特率:19200bps(默认),可选;
数据格式:7-N-2(默认),无校验,可选。
三、程序模块
- MAIN:主程序。
根据PLC通信命令执行输入终端的命令。
- P0:初始化子程序。
初始通信接口;添加数据帧头和帧尾;初始从机地址。
-
P1.调用变频器正转命令赋值LRC验证子程序,检查待发送的子程序ASCII将代码字符串放入发送缓冲器中。
-
P2:变频器反转命令赋值,调用LRC验证子程序,检查待发送的子程序ASCII将代码字符串放入发送缓冲器中。
-
P3.调用变频器停机命令赋值LRC验证子程序,检查待发送的子程序ASCII将代码字符串放入发送缓冲器中。
-
P4:写变频器参数命令赋值,调用LRC验证子程序,检查待发送的子程序ASCII码字符串置入发送缓冲器。
-
P5:读取变频器参数命令赋值,调用LRC验证子程序,检查待发送的子程序ASCII将代码字符串放入发送缓冲器中。
-
P6:LRC校验子程序。
计算要发送的字符串LRC校准值,将16进制字符串转换为ASCII码。
-
P7:接收字符串验证子程序。根据接收字符串的特点,接收到的ACSII代码转换为16进制,并进行LRC验证;比较所得验证值和接收验证值。
-
P8:根据命令,选择接收和发送字符串的长度。
四、程序功能
X正转运行(写0000=1:x0187控制寄命令存储器x3200),点亮Y000;
X001=1:反转运行(写0x018F控制命令字寄存器x3200),点亮X001;
X002=1:停机(写0x0186控制命令寄存器x3200),指示灯熄灭;
X003=1:改写单个参数(如设定频率,可选功能码地址),断电后不保存;
X004=1:读取参数(如设定频率、状态字等,功能码的地址和数量可选)。
如果验证错误,则Y007亮,验证正确后灯熄灭。
五、注意事项
-
本DEMO程序仅供用户参考,请根据实际应用进行修改;
-
请参考通信波特率和数据格式FX PLC相关手册P修改为0(DEMO默认192000bps,7位数据位,2位停止位,无校验,无帧头、帧尾,控制线正常模式1,无校验码,无协议,协议格式1格式);
-
用户可以使用从机(变频器)地址P设置在0中(DEMO程序中默认为“05”)。
-
正转P1”、“P2”、“P三、修改(DEMO这三种情况对应况对应的控制字的内容是0x0187”、“0x018F”和“0x0186”);
5.变频器功能码的地址及其内容在改写单个参数时由用户决定,请根据需要在P五、修改(DEMO运行频率设置在程序中,F0.02=50.00Hz);
- 读取参数时,待读变频器功能码的地址和字节数由用户根据需要确定P六、修改(DEMO程序读以F0.02开始的四个单元的内容,即F0.02~F0.05)。
三菱FX系列PLC基于Modbus协议通讯的DEMO称重程序 三菱FX系列PLC基于Modbus协议通讯的DEMO称重程序 三菱FX系列PLC基于Modbus协议通讯的DEMO称重程序 附:
处理错误帧的方法:PLC发送命令后,接收返回命令并执行LRC验证,验证所得LRC验证码与接收到的验证码进行比较。如果两者相等,则表明通信正常;如果不等,则表示通信错误,0.3s然后重新发送最后一个请求命令,直到接收到的字符串的验证码正确。这样做是为了保证PLC终端发送的命令(如正/反转、停机等。)可以正常发送到变频器。
三菱FX系列PLC基于Modbus协议通讯的DEMO称重程序 三菱FX系列PLC基于Modbus协议通讯的DEMO称重程序