分享

【原创分享】三菱FX5U系列PLC和西门子MM420系列变频器实现USS协议串口通信

 金玉满堂jjnla8 2020-04-25

通信必备硬件

1、三菱FX5U系列PLC一台;

2、西门子MM420系列变频器一台;

3、USB转RS485电缆一根;

4、通信电缆两根;

5、网线一根;

6、电源线若干。

通信实现目的

1、三菱FX5U系列PLC通过通信方式对西门子MM420系列变频器实现启动操作;

2、三菱FX5U系列PLC通过通信方式对西门子MM420系列变频器实现停止操作;

3、三菱FX5U系列PLC通过通信方式对西门子MM420系列变频器实现给定频率;

通信硬件连接

1、三菱FX5U通道1(内置RS485通信口)端口定义:

如下图所示:

SDA:RS485发送+信号;

RDA:RS485接收+信号;

SDB:RS485发送-信号;

RDB:RS485接收-信号;

SG:信号地。

那么:

SDA和RDA短接后即为RS485发送/接收+信号;

SDB和RDB短接后即为RS485发送/接收-信号;

SG:信号地。

2、西门子MM420系列变频器本体自带RS485通信口端口定义:

如下图所示:

14#端子(P+)即为RS485发送/接收+信号;

15#端子(N-)即为RS485发送/接收-信号。

3、USB转RS485电缆端口定义:

A+:RS485发送/接收+信号;
B-:RS485发送/接收-信号。

4、接线方法:

PLC内置RS485口SDA和RDA短接后 接 变频器之14#端子 接 USB转RS485电缆之A+端;

PLC内置RS485口SDB和RDB短接后 接 变频器之15#端子 接 USB转RS485电缆之B-端;

这里给RS485通信线并接USB转RS485电缆主要是为了后续使用串口调试助手调试变频器或者PLC方便。

三菱FX5U系列PLC通道1(内置RS485通信口)通信参数设置:

约定PLC通信参数如下所示:

数据位:8位;

校验位:偶校验;

停止位:1位;

波特率:9600bps

详细设置如下图所示:

西门子MM420系列变频器本体自带RS485通信口参数设置:

约定的变频器通信参数如下所示:

数据位:8位;

校验位:偶校验;

停止位:1位;

波特率:9600bps

站号:1

详细参数设置如下:

P0003:设置为3,专家级,只供专家使用

P0010:设置为0,准备。

P0700:设置为5,即就是变频器启动、停止等操作通过COM链路的USS设置。

P1000:设置为5,即就是变频器频率设定值通过COM链路的USS设定。

P2009[0]:设置为1,即就是频率给定值是实际值,分辨率为0.01情况下,赋值4500,即就是给定频率为45Hz

P2010[0]:设置为6,即就是COM链路的串行接口的通信速率为9600bps。

P2011[0]:设置为1,即就是COM链路的串行接口默认站号为1,也就是说西门子MM420变频器本体自带RS485口做USS协议从站时的站号为1。

P2012[0]:设置为2,即就是COM链路的串行接口USS协议的PZD过程数据长度为2。

P2013[0]:设置为4,即就是COM链路的串行接口USS协议的PKW过程数据长度为4。

P2014[0]:设置为0,即就是COM链路的串行接口USS报文的停止传输时间为0。

P1082:设置为50.00,即就是最高频率为50HZ。

P2000:设置为50.00,即就是基准频率为50HZ。

西门子MM420系列变频器USS协议详解:

由官方USS通信协议文档结合参数设置时我们设置的PKW区长度和PZD区长度可知西门子MM420系列变频器基本通信格式如下所示:

STX:起始符,固定为16进制02;

LGE:从ADR到BCC的字节数,我们这里设置的PKW区长度为4和PZD区长度为2,决定了LGE为16进制0E;

ADR:变频器站地址,这里我们设置为1;

PKW区第一个字PKE和第二个字IND的信息是关于主站请求的任务或者从站应答报文的类型;

PKW区第三个字PWE1和第四个字PWE2是被访问参数的数值。

其中PKE区含义如下所示:

其中IND区含义如下所示:

基本参数号补充说明:

任务识别标记ID:

正确应答识别标记ID:

错误应答识别标记ID:

其中PWE1含义如下所示:

其中PWE2含义如下所示:

PZD区主要是为控制变频器而设计的,亦可监测变频器相关参数。

PZD第一个字作为任务报文时标记为STW,即为控制字,通过对其控制字赋值可实现变频器启动和停止,其控制字含义如下所示:

PZD第一个字作为应答报文时标记为ZSW,即为状态字,通过对其状态字分析可知晓变频器启动和停止等相关状态,其状态字含义如下所示:

PZD第二个字作为任务报文时标记为HSW,即为主设定值,通过对主设定值赋值即可修改变频器频率,由于P2009参数修改为1,那么给定值即为实际频率值。

PZD第二个字作为应答报文时标记为HIW,即为运行参数实际值,通常该参数返回的是变频器实际频率输出值。

BCC:校验码,由STX到PZD所有字节异或结果。

西门子MM420系列变频器通信测试

1、通信初始化测试:

通信初始化报文分析如下所示:

启动、停止、给定频率等操作时,如果不需要读取参数,则PKW区可全部填充0;

STW:16进制047E为控制字,具体含义可参考第六部分有关控制字各位定义;

HSW:16进制0000为主设定值,即就是此时给定频率为0Hz。

串口调试助手发送:02 0E 01 00 00 00 00 00 00 00 00 04 7E 00 00 77

变频器返回报文为:02 0E 01 00 00 00 00 00 00 00 00 FB 11 00 00 E7

变频器返回报文分析如下所示:

ZSW:16进制FB11为状态字,具体含义可参考第六部分有关状态字各位定义;

HIW:16进制0000为实际输出频率。

2、启动变频器测试:

启动变频器并给定40Hz频率报文分析如下所示:

STW:16进制047F为控制字,具体含义可参考第六部分有关控制字各位定义;

HSW:16进制0FA0为主设定值,换算为10进制即为4000,即就是给定40HZ。

串口调试助手发送:02 0E 01 00 00 00 00 00 00 00 00 04 7F 0F A0 D9

变频器返回报文为:02 0E 01 00 00 00 00 00 00 00 00 FB B4 0F 9F D2

变频器返回报文分析如下所示:

ZSW:16进制FBB4为状态字,具体含义可参考第六部分有关状态字各位定义;

HIW:16进制0F9F为实际输出频率。

3、启动后读取输出电压测试:

启动后读取输出电压并保持变频器起停状态报文分析如下所示:

PKE:16进制1019为任务识别标记的输出电压参数号,具体含义可参考第六部分定义;

IND:16进制0000,无参数下标。

串口调试助手发送:02 0E 01 10 19 00 00 00 00 00 00 04 7F 0F A0 D0

变频器返回报文为:02 0E 01 20 19 00 00 43 39 A1 64 FB B4 0F 9F 54

变频器返回报文分析如下所示:

PKE:16进制2019为正确应答识别标记输出电压参数号,具体可参考第六部分定义;

IND:16进制0000,无参数下标;

PWE1和PWE2:16进制4339A164组成的浮点数即为实际输出电压。

4、停止变频器测试:

停止变频器报文分析如下所示:

STW:16进制047A为控制字,具体含义可参考第六部分有关控制字各位定义;

HSW:16进制0000为主设定值,即就是停止变频器时给定频率为0HZ。

串口调试助手发送:02 0E 01 00 00 00 00 00 00 00 00 04 7A 00 00 73

变频器返回报文为:02 0E 01 00 00 00 00 00 00 00 00 FB 11 00 00 E7

变频器返回报文分析如下所示:

ZSW:16进制FB11为状态字,具体含义可参考第六部分有关状态字各位定义;

HIW:16进制0000为实际输出频率。

三菱FX5U系列PLC通信编程

RS2指令发送区使用D1~D16寄存器,其含义如下:

RS2指令接收区使用D17~D32寄存器,其含义如下:

主程序中使用的寄存器含义如下所示:

M0:变频器初始化

M1:变频器启动

M2:变频器停止

M3:变频器改频率

M4:改频率辅助

M5:预先写操作辅助位

M6:执行写操作标志位

D0:上位机预写频率值0~5000对应0~50Hz

D300:写频率值辅助用寄存器

D1~D16:写操作发送缓冲区

D17~D32:写操作接收缓冲区

K4M20:分解频率值用

P0子程序占用寄存器含义如下所示:

K4M40:辅助用

D129:参与异或校验的数据个数

D131~D145:要参与异或校验的数据区

D130:最终的异或校验值

程序分段讲解如下:

初始化将上位机预写频率值寄存器和写频率值辅助用寄存器清零:

RS2指令发送缓冲区初始化赋值:

通信初始化:

D12、D13分别赋值H04、H7E,即就是控制字赋值16#047E

D14、D15分别赋值H00、H00,即就是主设定值赋值16#0000

启动变频器命令段:

D0:上位机预写频率值0~5000对应0~50Hz

D300:写频率值辅助用寄存器

D12、D13分别赋值H04、H7F,即就是控制字赋值16#047F

D14、D15为上位机预写频率值

停止变频器程序段:

D12、D13分别赋值H04、H7A,即就是控制字赋值16#047A

D14、D15分别赋值H00、H00,即就是主设定值赋值16#0000,即就是停止操作时给定变频器频率为0Hz。

给定频率判断程序段:

当启动变频器后,此时上位机给D0寄存器赋值,当D0不等于D300时,将D0送入D300,且把M3置位,为写入频率做好准备。

给定频率程序段:

D12、D13分别赋值H04、H7F,即就是控制字赋值16#047F,给定频率时要保持启动状态

D300:写频率值辅助用寄存器

D14、D15为上位机预写频率值

延时命令段:

写操作辅助信号M5接通后,延时10ms后将写操作执行标志位M6置位,开始执行RS2指令

RS2指令段:

M6接通允许执行RS2指令,发送缓冲区首地址为D1,发送字节计数为16、接收缓冲区首地址为D17,接收字节计数为16,这均来自USS协议发送与接收规定;

M6上升沿将三菱FX5U通道1(内置RS485通信口)发送请求标志位SM8561置位,则开始发送数据;

当三菱FX5U通道1(内置RS485通信口)接收结束标志位SM8562置位后,接收完成,转存接收到的数据至D147~D162里;

接收完成标志位SM8562被置位或者超时判断标志位SM8565被置位时复位各个标志位,完成一次收发控制。

P0子程序:计算D1~D15低8位异或校验值

入口参数:D131开始的寄存器为要参与异或校验的数据,低8位有效;

入口参数:D129参与异或校验的数据个数;

出口参数:D130最终异或校验值,低8位有效。

三菱FX5U系列PLC通信程序测试

编译程序,将程序下载至PLC后,关闭变频器电源,打开串口调试助手,设置好串口调试助手通信参数,开始测试PLC通信程序:

接通M0,通信初始化,则串口调试助手收到:

02 0E 01 00 00 00 00 00 00 00 00 04 7E 00 00 77

接通M1,启动变频器,则串口调试助手收到:

02 0E 01 00 00 00 00 00 00 00 00 04 7F 00 00 76

给D0赋值4000,给定频率,则串口调试助手收到:

02 0E 01 00 00 00 00 00 00 00 00 04 7F 0F A0 D9

接通M2,停止变频器,则串口调试助手收到:

02 0E 01 00 00 00 00 00 00 00 00 04 7A 00 00 73

经分析,上述初始化、启动、给定频率、停止变频器等报文正确。

三菱FX5U和西门子MM420系统联调

按照第三部分所讲,完成三菱FX5U通道1(内置RS485通信口)和西门子MM420本体RS485通信口硬件连接,依次上电,经过测试,三菱FX5U通信程序可以完成对西门子MM420变频器启动、停止和给定频率操作。

作者简介

关普,中华工控网串口通信板块版主,专注各种组态软件、触摸屏、PLC、单片机、变频器、伺服控制器、智能仪表等Modbus TCP以太网通信、Modbus RTU串口通信、Modbus ASCII串口通信和其他协议通信等。

作者微信:guanyumou

来源/中华工控网

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多