• {{item.name}}
{{item.name}}
{{item2.name}}
更多
操作指南

S7-300与MM4系列变频器USS通讯

star star star star star
5.0 分
  • 使用操作
  • MICROMASTER
文档编号:A0603| 文档类型:操作指南| 发布时间:2024年02月01日
  • 0
  • 1572
  • 10405
内容预览: 描述: 西门子MM4系列(MM420/MM430/MM440)变频器集成了串行接口(RS485接口),支持USS通讯协议,应用该接口可以实现对变频器的控制和读写变频器参数。本文档以实例介绍S7-300PLC通过自定义USS报文与MM4系列变频器通讯 ......

西门子MM4系列变频器都集成了串行接口,支持USS通信协议,通过USS协议可以对变频器进行控制和读写变频器参数。使用S7-300PLC有以下两种通讯方案:

1. 按照USS协议要求编写通讯报文,计算BCC校验,适用于从站数量比较少,较简单的应用;2. 采用DriveES SIMATIC软件提供的S7-300库程序,自动生成从站轮询表程序,适用于从站数量比较多,较复杂的应用。

本文主要介绍通过第一种方案实现CPU314-2PtP与MM440的USS通讯。使用S7-300编写USS通讯程序分为以下几个步骤:

1. 依据USS协议编写报文;2. 使用S7-300提供的串口数据发送程序发送USS报文;3. 使用S7-300提供的串口数据接收程序接收USS报文;4. 依据USS协议分析接收到的报文。

本文根据这4个步骤编写了如下内容:第1节简单介绍USS协议内容,了解USS协议报文格式;第2节根据USS协议列举了4条报文;第3节介绍PLC和变频器USS通讯的硬件组态;第4节介绍通过调用PLC中的发送和接收功能块实现USS协议报文的发送和接收。

1 USS协议介绍
USS协议是西门子专为驱动装置开发的通信协议。USS的工作机制是,通信是由主站发起,USS主站不断循环轮询各个从站,从站根据收到的指令,决定是否响应主站。从站不会主动发送数据。从站在以下条件满足时应答主站:接收到主站报文没有错误,并且本从站在接收到主站的报文中被寻址,上述条件不满足或者主站发出的是广播报文,从站不会做任何响应。USS的字符传输格式为11位,其中1位起始位、8位数据位、1偶校验、1位停止位。如下表所示:

起始位数据位校验位停止位
101234567偶X11
LSBMSB

USS字符帧结构

USS协议的报文由一连串的字符组成,协议中定义了它们的功能,如下表所示:

STXLGEADR有效据区BCC
123n

USS报文结构

• STX:长度1个字节,总是为02(Hex),表示一条信息的开始;
• LGE:长度1个字节,表明在LGE后字节的数量,上表中黄色区域长度;
• ADR:长度1个字节,表明从站地址;
• BCC:长度1个字节,异或校验和,USS报文中BCC前面所有字节异或运算的结果;
• 有效数据区:由PKW区和PZD区组成,如下表所示。

PKW区 PZD区
PKEINDPWE1PWE2PWEmPZD1PZD2PZD1PZDn

USS有效数据区

PKW区用于主站读写从站变频器参数:
• PKE:长度一个字,结构如下表,任务或应答ID请参考《MM440使用大全》第13章。
Bit15- Bit 12 Bit 11 Bit 10-Bit 0

Bit15- Bit 12Bit 11Bit 10-Bit 0
任务或应答ID0基本参数号PNU

PKW结构

变频器参数号<2000时,基本参数号PNU=变频器参数号,例如P700的基本参数号PNU=2BC(Hex)(700(Dec)=2BC(Hex))。
变频器参数号>=2000时,基本参数号PNU=变频器参数号-2000(Dec),例如P2155的基本参数号PNU=9B(Hex)(2155-2000=155(Dec)=9B(Hex))。

• IND:长度一个字,结构如下表。
Bit15- Bit 12Bit 11- Bit 8Bit 7 - Bit 0
PNU扩展0(Hex)参数下标

IND结构

变频器参数号<2000时,PNU扩展=0(Hex)。变频器参数号>=2000时,PNU扩展=8(Hex)。参数下标,例如P2155[2]中括号中的2表示参数下标为2。• PWE:读取或写入参数的数值PZD区用于主站与从站交换过程值数据:• PZD1: 主站从站 控制字主站从站 状态字• PZD2: 主站从站 速度设定值主站从站 速度反馈值• PZDn: MM430/440支持最多8个PZD,MM420支持最多4个PZD

根据传输的数据类型和驱动装置的不同,PKW和PZD区的数据长度不是固定的,可以通过P2012、P2013 设置。本例采用4PKW,2PZD报文格式。

2 USS协议报文定义
本文通过发送4个不同功能的报文来演示自定义USS报文的方法,USS协议详细说明请参照《MM440使用大全》第13章。
例1.把参数P2155[2]的数值修改为40.00Hz

字节数12345678910111213141516
发送报文20E1309B80242200047E003C
应答报文20E1209B802422000FB31009C

报文解释:

STXByte1起始字符
LGEByte2报文长度(字节3到字节16共14个字节)
ADRByte3从站地址
PKWByte4-5PKE内容:
Bit15- Bit 12(任务ID) =3(Hex),修改参数数值双字
Bit15- Bit 12(应答ID) =2(Hex),传送参数数值双字
Bit10- Bit 0(基本参数号PUN)=2155-2000(Dec)=9B(Hex)
Byte6-7IND内容:
Bit15- Bit 12(PNU扩展) =8(Hex),参数号大于2000
Bit7- Bit 0(参数下标)=2(Hex),P2155[2]
Byte8-11参数值,42 20 00 00(Hex)=40.0(浮点数)
PZDByte12-13PZD1
Byte14-15PZD2
BCCByte16异或校验和

注:黄色标记表示应答报文中的内容

例2.读取参数P0700[0]的数值

字节数12345678910111213141516
发送报文20E112BC00000047E00D9
应答报文20E112BC000005FB31006C

报文解释:

STXByte1起始字符
LGEByte2报文长度(字节3到字节16共14个字节)
ADRByte3从站地址
PKWByte4-5PKE内容:
Bit15- Bit 12(任务ID) =1(Hex),读取参数数值
Bit15- Bit 12(应答ID) =1(Hex),传送参数数值单字
Bit10- Bit 0(基本参数号PUN)=700(Dec)=2BC(Hex)
Byte6-7IND内容:
Bit15- Bit 12(PNU扩展) =0(Hex),参数号小于2000
Bit7- Bit 0(参数下标)=0(Hex),P700[0]
Byte8-11参数值,5(Hex)=5(Dec)
PZDByte12-13PZD1
Byte14-15PZD2
BCCByte16异或校验和

注:黄色标记表示应答报文中的内容

例3.不需要读写参数只发送停止变频器报文

字节数12345678910111213141516
发送报文20E10000000047E0077
应答报文20E100000000FB3100C7

例4.不需要读写参数只送启动变频器、设定频率50Hz报文

字节数12345678910111213141516
发送报文20E10000000047F40036
应答报文20E100000000FF343FFF6

例3、4报文比较简单只需要定义PZD中的内容,PKW区内容可以设置为0。
请注意:如果按照以上4个例子发送报文可能会收到与例子中不一样的应答报文,这并不代表报文存在问题,可能由于变频器状态不同或参数设置不同造成。例子报文中已经计算了BCC校验的值,如果使用其他的报文需要自己计算BCC校验。

3 硬件组态
MM4系列变频器提供的串行接口为RS485接口,S7-300 PLC有3种通讯模块支持RS485接口:

1. 采用带有集成RS485接口的CPU例如CPU31X-2PtP;2. RS485接口的CP340通讯模块;3. RS485接口的CP341通讯模块;

以上三种模块都可以通过下表中的接线方式与MM4变频器连接,本文中采用1台CPU314-2PtP与1台MM440通讯。

信号CPU314-2PtP   MM430/MM440MM420
RS485接口针脚端子端子
P+112914
N-43015

S7-300 RS485接口与MM440 USS接线

3.1 PLC硬件组态
1) 首先打开STEP7新建项目并插入CPU314-2PtP。

2) 双击CPU314-2PtP的X2端口PtP,打开PTP属性对话框General栏,Protocol复选框中选择“ASCII”协议。

3) Addresses栏中记录起始地址“1023”,在后面的编程中使用。

4) Transfer栏中设置通讯速率“9600bps”,报文格式:“8”位数据位,“1”位停止位,“Even”偶校验,数据流控制选择“None”。

5) End Delimiter栏中设置接收报文结束方式“After character delay time elapses”利用两个报文的间隔时间来判断报文是否结束,并设置字符延时时间“4ms”(该时间可使用默认设置,默认设置时间随通讯速率不同时间也不同)。

6) Signal Assignment栏中设置串行通信接口信号模式为“Half Duplex(RS-485)Two-wire Mode”半双工两线制RS485模式,空闲状态信号状态“R(A)0v、R(B)5V”。

通过以上步骤完成对CPU314-2PtP串行接口的基本设置,如需更详细的信息请参照CPU314-2PtP手册。

3.2 变频器参数设置
与通信有关的变频参数:

参数设置值功能说明
P07005命令源选择:com链路USS通讯
P10005频率设定源选择:com链路USS通讯
P20090USS规格化:不规格化
P20106USS波特率:9600bps
P20111USS地址:1
P20122PZD长度:2个字
P20134PKW长度:4个字
r2024~r2031只读USS诊断数据

以上参数只对与变频器USS通讯相关的参数进行介绍,变频器其他参数设置请参照《MM440使用大全》。

4 USS通讯编程

4.1 CPU314-2PtP串行接口发送和接收程序
CPU314-2PtP调用系统功能块SFB60和SFB61进行串行通讯接口数据的发送和接收,SFB60与SFB61系统功能块已经包含在CPU中,只需在OB1中直接调用并分配背景数据块即可。在本例中分配DB60为SFB60的背景数据块,在OB1中调用程序:

在SFB60发送通信块中需要对下列参数进行赋值:

REQ:发送请求,每个上升沿发送一帧数据。
R:终止发送。
LADDR:PtP串口的起始地址,请查看PLC硬件配置中,PtP属性对话框Addresses栏址中显示的数值,本例中为“1023”,转化为16进制数为W#16#3FF。
DONE:发送完成输出一个脉冲。
ERROR:发送错误输出1。
STATUS:发送块状态字。
SD_1:发送数据区起始地址,发送数据区定义为DB1.DBB0开始的n个字节。
LEN:发送字节的长度。

分配DB61为SFB61的背景数据块,在OB1中调用程序:

在SFB61接收通信块中需要对下列参数进行赋值:

EN_R:接收使能。
R:终止接收。
LADDR:PtP串口的起始地址,请查看PLC硬件配置中,PtP属性对话框Addresses栏址中显示的数值,本例中为“1023”,转化为16进制数为W#16#3FF。
NDR:接收到新数据输出一个脉冲。
ERROR:接收错误输出1。
STATUS:接收块状态字。
RD_1:接收数据区起始地址,接收数据区定义为DB2.DBB0开始的n个字节。
LEN:接收到数据的长度。

4.2 通过发送程序发送定义好的USS报文
将例子中的报文按字节顺序传送到从DB1.DBB0开始的16个字节中,设置MW104=16,当M100.0上升沿时PLC即发送一帧USS报文。如果变频器接收到的报文无误就会返回一条响应报文,需要将M200.0置1 PLC就会接收到响应报文,并把报文存储到从DB2.DBB0开始的16个字节中。

4.3使用S7-300 PLC编写BCC校验程序
在USS通讯中变频器在收到主站发送的报文后会重新计算报文的BCC校验,如果计算结果与报文传送的BCC校验不一致,那么表明变频器接收到的信息是无效的,变频器将丢弃这一信息,并且不向主站发出应答信号。所以正确计算BCC校验尤为重要。前面提到的4个例子报文中已经计算好了BCC校验,下面给出利用S7-300 PLC编程计算15个字节的BCC校验的程序。

15字节的BCC校验程序
程序中将DB1.DBB0到DB1.DBB14中的内容依次进行异或计算,并把计算结果保存到DB1.DBB15中。

关键词
USS,MM420,MM430,MM440,S7-300,示例

您可以前往全球资源库查看此文档

剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

考证咨询点我

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。