详细介绍
那里有卖西门子EMAT04模块
6ES7288-3AT04-0AA0
SIMATIC S7-200 SMART, 模拟输入 SM AI04,4 模拟输入, 4xAI 热电偶
西门子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位停止位。如下表所示:
起始位 | 数据位 | 校验位 | 停止位 | |||||||
1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 偶X1 | 1 |
LSB | MSB |
USS字符帧结构
USS协议的报文由一连串的字符组成,协议中定义了它们的功能,如下表所示:
STX | LGE | ADR | 有效据区 | BCC | ||||
1 | 2 | 3 | … | n |
USS报文结构
? STX:长度1个字节,总是为02(Hex),表示一条信息的开始;
? LGE:长度1个字节,表明在LGE后字节的数量,上表中黄色区域长度;
? ADR:长度1个字节,表明从站地址;
? BCC:长度1个字节,异或校验和,USS报文中BCC前面所有字节异或运算的结果;
? 有效数据区:由PKW区和PZD区组成,如下表所示。
PKW区 | PZD区 | ||||||||
PKE | IND | PWE1 | PWE2 | … | PWEm | PZD1 | PZD2 | PZD1 | PZDn |
USS有效数据区
PKW区用于主站读写从站变频器参数:
? PKE:长度一个字,结构如下表,任务或应答ID请参考《MM440使用大全》第13章。
Bit15- Bit 12 Bit 11 Bit 10-Bit 0
Bit15- Bit 12 | Bit 11 | Bit 10-Bit 0 |
任务或应答ID | 0 | 基本参数号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 12 | Bit 11- Bit 8 | Bit 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
字节数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
发送报文 | 2 | 0E | 1 | 30 | 9B | 80 | 2 | 42 | 20 | 0 | 0 | 4 | 7E | 0 | 0 | 3C |
应答报文 | 2 | 0E | 1 | 20 | 9B | 80 | 2 | 42 | 20 | 0 | 0 | FB | 31 | 0 | 0 | 9C |
报文解释:
STX | Byte1 | 起始字符 |
LGE | Byte2 | 报文长度(字节3到字节16共14个字节) |
ADR | Byte3 | 从站地址 |
PKW | Byte4-5 | PKE内容: |
Bit15- Bit 12(任务ID) =3(Hex),修改参数数值双字 | ||
Bit15- Bit 12(应答ID) =2(Hex),传送参数数值双字 | ||
Bit10- Bit 0(基本参数号PUN)=2155-2000(Dec)=9B(Hex) | ||
Byte6-7 | IND内容: | |
Bit15- Bit 12(PNU扩展) =8(Hex),参数号大于2000 | ||
Bit7- Bit 0(参数下标)=2(Hex),P2155[2] | ||
Byte8-11 | 参数值,42 20 00 00(Hex)=40.0(浮点数) | |
PZD | Byte12-13 | PZD1 |
Byte14-15 | PZD2 | |
BCC | Byte16 | 异或校验和 |
注:黄色标记表示应答报文中的内容
例2.读取参数P0700[0]的数值
字节数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
发送报文 | 2 | 0E | 1 | 12 | BC | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7E | 0 | 0 | D9 |
应答报文 | 2 | 0E | 1 | 12 | BC | 0 | 0 | 0 | 0 | 0 | 5 | FB | 31 | 0 | 0 | 6C |
报文解释:
STX | Byte1 | 起始字符 |
LGE | Byte2 | 报文长度(字节3到字节16共14个字节) |
ADR | Byte3 | 从站地址 |
PKW | Byte4-5 | PKE内容: |
Bit15- Bit 12(任务ID) =1(Hex),读取参数数值 | ||
Bit15- Bit 12(应答ID) =1(Hex),传送参数数值单字 | ||
Bit10- Bit 0(基本参数号PUN)=700(Dec)=2BC(Hex) | ||
Byte6-7 | IND内容: | |
Bit15- Bit 12(PNU扩展) =0(Hex),参数号小于2000 | ||
Bit7- Bit 0(参数下标)=0(Hex),P700[0] | ||
Byte8-11 | 参数值,5(Hex)=5(Dec) | |
PZD | Byte12-13 | PZD1 |
Byte14-15 | PZD2 | |
BCC | Byte16 | 异或校验和 |
注:黄色标记表示应答报文中的内容
例3.不需要读写参数只发送停止变频器报文
字节数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
发送报文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7E | 0 | 0 | 77 |
应答报文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FB | 31 | 0 | 0 | C7 |
例4.不需要读写参数只送启动变频器、设定频率50Hz报文
字节数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
发送报文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7F | 40 | 0 | 36 |
应答报文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FF | 34 | 3F | FF | 6 |
例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/MM440 | MM420 |
RS485接口针脚 | 端子 | 端子 | |
P+ | 11 | 29 | 14 |
N- | 4 | 30 | 15 |
S7-300 RS485接口与MM440 USS接线
3.1 PLC硬件组态
1) 首先打开STEP7新建项目并插入CPU314-2PtP。
2) 双击CPU314-2PtP的X2端口PtP,打开PTP属性对话框General栏,Protocol复选框中选择“ASCII”协议。
3) Addresses栏中记录起始地址“1023”,在后面的编程中使用。
那里有卖西门子EMAT04模块
4) Transfer栏中设置通讯速率“9600bps”,报文格式:“8”位数据位,“1”位停止位,“Even”偶校验,数据流控制选择“None”。
5) End Delimiter栏中设置接收报文结束方式“After character delay time elapses”利用两个报文的间隔时间来判断报文是否结束,并设置字符延时时间“4ms”(该时间可使用默认设置,默认设置时间随通讯速率不同时间也不同)。
西门子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位停止位。如下表所示:
起始位 | 数据位 | 校验位 | 停止位 | |||||||
1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 偶X1 | 1 |
LSB | MSB |
USS字符帧结构
USS协议的报文由一连串的字符组成,协议中定义了它们的功能,如下表所示:
STX | LGE | ADR | 有效据区 | BCC | ||||
1 | 2 | 3 | … | n |
USS报文结构
? STX:长度1个字节,总是为02(Hex),表示一条信息的开始;
? LGE:长度1个字节,表明在LGE后字节的数量,上表中黄色区域长度;
? ADR:长度1个字节,表明从站地址;
? BCC:长度1个字节,异或校验和,USS报文中BCC前面所有字节异或运算的结果;
? 有效数据区:由PKW区和PZD区组成,如下表所示。
PKW区 | PZD区 | ||||||||
PKE | IND | PWE1 | PWE2 | … | PWEm | PZD1 | PZD2 | PZD1 | PZDn |
USS有效数据区
PKW区用于主站读写从站变频器参数:
? PKE:长度一个字,结构如下表,任务或应答ID请参考《MM440使用大全》第13章。
Bit15- Bit 12 Bit 11 Bit 10-Bit 0
Bit15- Bit 12 | Bit 11 | Bit 10-Bit 0 |
任务或应答ID | 0 | 基本参数号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 12 | Bit 11- Bit 8 | Bit 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
字节数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
发送报文 | 2 | 0E | 1 | 30 | 9B | 80 | 2 | 42 | 20 | 0 | 0 | 4 | 7E | 0 | 0 | 3C |
应答报文 | 2 | 0E | 1 | 20 | 9B | 80 | 2 | 42 | 20 | 0 | 0 | FB | 31 | 0 | 0 | 9C |
报文解释:
STX | Byte1 | 起始字符 |
LGE | Byte2 | 报文长度(字节3到字节16共14个字节) |
ADR | Byte3 | 从站地址 |
PKW | Byte4-5 | PKE内容: |
Bit15- Bit 12(任务ID) =3(Hex),修改参数数值双字 | ||
Bit15- Bit 12(应答ID) =2(Hex),传送参数数值双字 | ||
Bit10- Bit 0(基本参数号PUN)=2155-2000(Dec)=9B(Hex) | ||
Byte6-7 | IND内容: | |
Bit15- Bit 12(PNU扩展) =8(Hex),参数号大于2000 | ||
Bit7- Bit 0(参数下标)=2(Hex),P2155[2] | ||
Byte8-11 | 参数值,42 20 00 00(Hex)=40.0(浮点数) | |
PZD | Byte12-13 | PZD1 |
Byte14-15 | PZD2 | |
BCC | Byte16 | 异或校验和 |
注:黄色标记表示应答报文中的内容
例2.读取参数P0700[0]的数值
字节数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
发送报文 | 2 | 0E | 1 | 12 | BC | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7E | 0 | 0 | D9 |
应答报文 | 2 | 0E | 1 | 12 | BC | 0 | 0 | 0 | 0 | 0 | 5 | FB | 31 | 0 | 0 | 6C |
报文解释:
STX | Byte1 | 起始字符 |
LGE | Byte2 | 报文长度(字节3到字节16共14个字节) |
ADR | Byte3 | 从站地址 |
PKW | Byte4-5 | PKE内容: |
Bit15- Bit 12(任务ID) =1(Hex),读取参数数值 | ||
Bit15- Bit 12(应答ID) =1(Hex),传送参数数值单字 | ||
Bit10- Bit 0(基本参数号PUN)=700(Dec)=2BC(Hex) | ||
Byte6-7 | IND内容: | |
Bit15- Bit 12(PNU扩展) =0(Hex),参数号小于2000 | ||
Bit7- Bit 0(参数下标)=0(Hex),P700[0] | ||
Byte8-11 | 参数值,5(Hex)=5(Dec) | |
PZD | Byte12-13 | PZD1 |
Byte14-15 | PZD2 | |
BCC | Byte16 | 异或校验和 |
注:黄色标记表示应答报文中的内容
例3.不需要读写参数只发送停止变频器报文
字节数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
发送报文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7E | 0 | 0 | 77 |
应答报文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FB | 31 | 0 | 0 | C7 |
例4.不需要读写参数只送启动变频器、设定频率50Hz报文
字节数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
发送报文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 7F | 40 | 0 | 36 |
应答报文 | 2 | 0E | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FF | 34 | 3F | FF | 6 |
例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/MM440 | MM420 |
RS485接口针脚 | 端子 | 端子 | |
P+ | 11 | 29 | 14 |
N- | 4 | 30 | 15 |
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”(该时间可使用默认设置,默认设置时间随通讯速率不同时间也不同)。
西门子今天在北京举办“西门子能源管理集团化工行业峰会”,重点展示了西门子针对化工行业客户在能源管理领域提供的优秀的业务组合,并与业界专家和客户共同探讨如何助力化工行业提升能源可靠性和效率。
“西门子拥有覆盖面广的能源管理业务组合,致力于实现电网互联、全集成能源管理和高度灵活的电力供应。中国化工行业市场规模稳定增长,市场发展潜力巨大。我们希望与化工行业的客户紧密合作,针对他们在能源管理领域所面临的痛点,帮助他们应对在电力供应的可靠性、能效及环保方面面临的挑战,”西门子(中国)有限公司执行副总裁、西门子大中华区能源管理集团总经理麦明锐(Markus Mildner)表示。
化工行业的电力供应面临的首要挑战是供电的可靠性。作为重资产行业,化工行业在生产过程中必须确保大量大型机电设备连续不间断的运转,持续、稳定的电力供应成为连续生产的先决条件。此外,随着市场环境和产业政策的变化,化工行业面临的整体能效挑战正在不断加大。一方面,能源成本、劳动力成本不断上升;另一方面,政府对高能耗、高污染生产方式的监管和遏制力度不断加大。更高的能源效率成为解决这一问题的关键。后,十三五期间政府及社会对于环保生产的要求越来越高,化工行业必须寻求更加清洁的能源,分布式发电成为大势所趋。因此,可靠、高效和环保的电力供应及能源管理是化工企业保证稳定生产、降低运营成本、实现可持续发展的重要保障之一。
针对化工行业的具体需求,西门子能源管理集团凭借其业界优秀的涵盖高中低压的输配电技术,以及高度自动化和智能化的能源及数字电网解决方案和服务,致力于为化工行业提供高效、可靠和绿色的能源管理解决方案。
2017年2月,西门子与京博石化签订战略合作框架协议,助力京博石化工厂的数字化和智能化转型。京博石化为中国化工企业500强公司,在业务快速增长的同时,也面临着面向“中国制造2025”的产业升级。此次西门子能源管理集团六家工厂*次共同签订框架合同,将为京博石化提供35千伏及10千伏变压器、中压柜、400伏低压柜、监控后台保护等产品,为京博炼厂打造完整、智能的能源供应及管理方案,标志着西门子与化工行业客户的新型战略合作伙伴关系转型又迈出坚实一步。
“西门子能源管理集团行业峰会”是继“西门子能源管理集团中国百城巡展”之后推出的又一大市场战略举措,旨在通过举办系列行业峰会,向客户提供行业优选解决方案,加强与行业客户的交流与合作,从而进一步拓展能源管理的行业应用。此次化工行业峰会是系列行业峰会的*站,未来将针对轨道交通、数据中心等行业举办峰会,让万千中国客户领略西门子能源管理解决方案在行业应用方面的无限潜能。