0
点赞
收藏
分享

微信扫一扫

三菱PLC基于Modbus协议通讯的DEMO程序

君之言之 2022-02-13 阅读 45

EMERSON EV1000/EV2000变频器与MITSUBISH FX2 PLC

基于Modbus协议通讯的DEMO程序

一、硬件连接

三菱FX系列PLC基于Modbus协议通讯的DEMO称重程序
二、通讯方式

Modbus协议,ASCII格式,LRC校验;

主从方式:PLC为主机,变频器为从机;

波特率:19200bps(默认),可选;

数据格式:7-N-2(默认)、无校验,可选。

三、程序模块

  1. MAIN:主程序。

根据PLC输入端子的命令执行通讯命令。

  1. P0:初始化子程序。

初始化通讯接口;添加数据帧头、帧尾;初始化从机地址。

  1. P1:变频器正转命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。

  2. P2:变频器反转命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。

  3. P3:变频器停机命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。

  4. P4:写变频器参数命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。

  5. P5:读变频器参数命令赋值,调用LRC校验子程序,将待发送的ASCII码字符串置入发送缓冲器。

  6. P6:LRC校验子程序。

计算待发送字符串的LRC校验值,并将十六进制字符串转化为ASCII码。

  1. P7:接收字符串校验子程序。根据接收字符串的特性,将接收到的ACSII码转化为十六进制,并进行LRC校验;比较计算所得的校验值与接受到的校验值。

  2. 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);

  1. “读参数”时,待读的变频器功能码的地址和字节数由用户决定,请根据需要在“P6”中进行修改(DEMO程序读以F0.02开始的4个单元的内容,即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称重程序

举报

相关推荐

三菱plc数据寄存器D

0 条评论