EMERSON EV1000/EV2000变频器与MITSUBISH FX2 PLC
基于Modbus协议通讯的DEMO程序
一、硬件连接
二、通讯方式
Modbus协议,ASCII格式,LRC校验;
主从方式:PLC为主机,变频器为从机;
波特率:19200bps(默认),可选;
数据格式:7-N-2(默认)、无校验,可选。
三、程序模块
1. MAIN:主程序。
根据PLC输入端子的命令执行通讯命令。
2. P0:初始化子程序。
初始化通讯接口;添加数据帧头、帧尾;初始化从机地址。
3. P1:变频器正转命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。
4. P2:变频器反转命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。
5. P3:变频器停机命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。
6. P4:写变频器参数命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。
7. P5:读变频器参数命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。
8. P6:LRC校验子程序。
计算待发送字符串的LRC校验值,并将十六进制字符串转化为ASCII码。
9. P7:接收字符串校验子程序。根据接收字符串的特性,将接收到的ACSII码转化为十六进制,并进行LRC校验;比较计算所得的校验值与接受到的校验值。
10. P8:根据命令,选择接收和发送字符串的长度。
四、程序功能
X000=1:正转运行(写0x0187到控制寄命令字存器0x3200),点亮Y000;
X001=1:反转运行(写0x018F到控制命令字寄存器0x3200),点亮X001;
X002=1:停机(写0x0186到控制命令字寄存器0x3200),指示灯熄灭;
X003=1:改写单个参数(如设定频率,功能码地址可选),掉电后不保存;
X004=1:读参数(如设定频率、状态字等,功能码的地址和个数可选)。
若校验有误,则Y007亮,校验正确后该灯熄灭。
五、注意事项
1. 本DEMO程序仅作为用户参考程序,请根据实际应用加以修改;
2. 通讯波特率和数据格式可改,请参考FX PLC相关手册,在“P0”中进行修改(DEMO程序中默认为“19200bps,7位数据位,2位停止位,无校验,无帧头和帧尾,控制线正常模式1,不添加和校验码,无协议,协议格式1”格式);
3. 从机(变频器)地址可由用户在“P0”中进行设置(DEMO程序中默认为“05”)。
4. “正转”、“反转”和“停机”是通过写控制字实现的,用户可以根据实际情况在“P1”、“P2”、“P3”中进行修改(DEMO程序中这三种情况对应的控制字的内容分别为“0x0187”、“0x018F”和“0x0186”);
5.“改写单个参数”时,待写的变频器功能码的地址及其内容由用户决定,请根据需要在“P5”中进行修改(DEMO程序中通过“写”命令设置运行频率,F0.02=50.00Hz);
6. “读参数”时,待读的变频器功能码的地址和字节数由用户决定,请根据需要在“P6”中进行修改(DEMO程序读以F0.02开始的4个单元的内容,即F0.02~F0.05)。
附:
错误帧处理方式:PLC发送命令后,接收返回的命令并进行LRC校验,将校验所得的LRC校验码与接收到的校验码进行比较。若两者相等,则表明此次通讯正常;若不等,则表明通讯有误,0.3s后重新发送上次的请求命令,直到接收到的字符串的校验码正确为止。这样做是为了保证PLC端发送的命令(如正/反转、停机等)能够正常送到变频器。
-
plc
+关注
关注
5007文章
13135浏览量
461770
发布评论请先 登录
相关推荐
评论