西门子6ES7211-1HE40-0XB0 西门子6ES7211-1HE40-0XB0 西门子6ES7211-1HE40-0XB0
SIMATIC S7-1200,CPU 1211C, 紧凑型 CPU,DC/DC/继电器, onboard I/O: 6 DI DC 24V;4 DO 继电器 2A; 2 AI 0-10V DC, 电源:直流 20.4-28.8V DC, 程序/数据存储器 50 KB
西门子的很多面板没有时钟保持功能,这可以通过设置PLC同面板的时钟同步来解决,如何同步Protool/Winccflexible组态操作面板与 S7-200/300/400 控制器的日期和时间可以参照以下链接中的描述:79626087
如何同步WinCC Basic 组态的Basic Panel的日期与时间与 S7-1200 PLC日期和时间可以参照以下链接中的描述:
另外,使用 WinCC flexible 组态的面板也可以访问 S7-1200,可以参照以下链接内容:
这种情况下,使用的是S7 300/400 PLC的驱动来访问S7 1200 PLC的,此时,一般的变量访问是没有问题的,但如果实现两者的时钟同步就有问题了,因为S7 1200 PLC的系统时钟格式与S7 300/400 PLC的系统时钟是不相同的,S7 1200 PLC的系统时钟由以下12个字节组成:
而S7 300/400PLC的系统时钟由以下8个字节组成:
因此,实现WinCCflexible组态面板同S7 1200 PLC的时钟同步的关键在于将S7 1200 PLC的系统时钟格式转换为符合S7 300/400 PLC的系统时钟格式。具体实现步骤如下:
1.创建DB块
创建DB块,确保“仅符号访问”选项不使能:
2.创建DB块变量
在DB块中创建所需要的变量如下:
3.创建周期中断块
创建一个周期中断块,将默认的扫描周期100ms改为1000ms,这样可以减小PLC的负 担:
4.在周期中断块中编程
4.1读出S7 1200系统的本地时钟
4.2将S7-1200的系统时钟转换成S7-300/400 PLC格式的时钟(只转换到秒单位)
5.WinCC flexible中的组态
5.1创建连接
创建一个连接,通讯驱动选择”SIMATIC S7 300/400”,并设置好其他相关参数:
5.2设置连接区域指针参数
将“日期时间PLC”的连接参数选择为刚才创建的连接;将存放S7-300格式系统时钟区域的首地址分配给“日期时间PLC”; 将采集周期设为2S或更长时间来减小通讯负载。
需要注意的是,这只是一个例程,您需要根据您自己程序的情况参照使用,特别是变量的使用不要冲突。
S7-1200 的通讯伙伴
S7-1200 可以通过集成的 PN 口与以下设备进行通讯:
支持的最大同步、异步通信连接数量
S7-1200 CPU 支持的最大同步、异步通讯连接数量如下所示:
连接类型 | 描述和最大连接数量 |
开放式用户通讯 |
S7-1200 CPU 通过以下指令支持 8 个开放式用户通讯连接(主动或者被动): T_SEND_C, T_RECV_C, TCON, TDISCON, TSEND 和 TRECV。
注意 |
S7 通讯 |
|
HMI 连接 |
固件版本 V2 和V3 S7-1200 CPU 提供专门的 HMI 连接,支持 最多3 个HMI设备。 固件版本 V4 V4或者更高固件版本的S7-1200 CPU 支持最多12个HMI 连接。根据 HMI 设备类型和功能使用模式,每个 HMI 设备实际需要1,2或3个连接资源。这里可以保证支持4个HMI 设备而不必关心可用的连接资源数量。同时连接超过4个HMI设备也是可能的。 |
PG 连接 | S7-1200 CPU 支持 1 个编程设备 (PG) 连接。 |
Web 服务器连接 (HTTP) | S7-1200 CPU 支持 Web 服务器连接。 |
表1
图. 01
PROFINET 和 PROFIBUS
S7-1200 的 集成 PROFINET 接口
S7-1200 CPU集 成的 PROFINET 接口是 RJ45 插口。
图. 02
支持的协议
下面是 S7-1200 集成的 PROFINET 接口所支持的通讯协议:
协议 | 固件版本 |
TCP | V1.0 |
ISO-on-TCP (RFC 1006) | V1.0 |
UDP | V2.0 |
PROFINET RT - 基本服务和 IO 控制器 | V2.0 |
PROFINET IO 设备 | V4.0 |
S7 通信 (S7 服务器) | V1.0 |
S7 通信 PUT/GET 指令 (S7 客户端) | V2.0 |
Web 服务器 | V2.0 |
Modbus TCP | V2.1 |
HTTP (超文本传输协议) | V2.0 |
HTTPS - 安全超文本传输协议 | V2.0 |
SNMP - 简单网络管理协议 | V2.0 |
LLDP - 链路层发现协议 | V2.0 |
DCP - 发现 & 组态协议 | V2.0 |
NTP - 网络时间协议 | V2.0 |
ARP - 地址解析协议 | V2.0 |
G120 PROFIBUS通信功能概述
SINAMICS G120第二代控制单元CU240B-2 DP、CU240E-2 DP、CU240E-2 DP F支持基于PROFIBUS的周期过程数据交换和变频器参数访问。
> 周期过程数据交换--通过该通信PROFIBUS主站可将控制字和主设定值等过程数据周期性的发送至变频器,并从变频器周期性的读取状态字和实际转速等过程数据。G120最多可以接收和发送8个过程数据字。该通信使用周期性通信的PZD通道(过程数据区),变频器不同的报文类型定义了不同数量的过程数据字(PZD)。
> 变频器参数访问--提供PROFIBUS主站访问变频器参数的接口,有两种方式能够访问变频器参数:
本文通过示例介绍S7-1200与CU240E-2 DP F的PROFIBUS PKW通信,介绍如何通过PKW通信读P2902[5]参数值、写P1121参数值。
2 参数通道(PKW)的数据结构
PKW通信工作模式:主站发出请求,变频器收到主站请求后处理请求,并将处理结果应答给主站。
图2-1 PKW通信原理
PKW通信的请求和应答数据总是包含4个字,第1个字和第2个字传送参数号、索引以及任务类型(读或写),第3个和第4个字传送参数内容。
图2-2 PKW参数通道的结构
> PKE:PKW第1个字
• AK:位 12~15 包含了任务ID 或应答ID,任务ID参考表2-1,应答ID参考表2-2 ;
• SPM:始终为0;
• PNU:参数号 < 2000 PNU = 参数号。 参数号 ≥ 2000 PNU = 参数号减去偏移,将偏移写入分区索引中
( IND 位 7 … 0 )。
图2-3 PKW结构
表2-1主站发送给变频器的任务ID
表2-2变频器发送给主站的应答ID
应答ID = 7 变频器会在参数值PWE1中将错误号发送给主站。
表2-3 应答ID = 7时的错误编号
注:更多错误编号描述请参考《CU240E-2操作手册》
> 参数索引IND:PKW第2个字
• 子下标(参数下标):标识变频器参数的子索引(参数下标)值。例如P840[1]中括号中的“1”即为参数下标。
• 分区下标:变频器参数偏移量,配合PNU确定参数号。例如P2902的分区下标 = 0x80,分区下表查询请参考表
2-1。
图2-4 IND结构
表2-4 分区下标设置,取决于变频器参数范围
> 参数值PWE:PKW第3、4个字
参数值PWE总是以双字方式( 32 位)发送,一条报文只能传送一个参数值。
• 32位的参数值由PWE1(第3个字)和PWE2(第4个字)两个字组成;
• 16位的参数值以PWE2表示,PWE1为0;
• 8位的参数值以PWE2中位0…7表示,高8位和PWE1为0;
• BICO参数:PWE1表示参数号,PWE2位10…15为1,PWE2位0…9表示参数的索引或位号。
3 S7-1200与CU240X-2 DP的PROFIBUS PKW通信实例
3.1 S7-1200组态
CU240E-2 DP F控制单元支持两种PKW通信报文:353报文和354报文,它们的区别在于过程值通道PZD数量的不同,PKW通道功能完全相同。本示例以组态353报文为例。
S7-1200与CU240X-2 DP的PROFIBUS通信基本组态过程以及变频器通信参数设置请参考《S7-1200与G120 CU240X-2 DP的PROFIBUS PZD通信》文档,在此不做详细介绍。
• 组态与CU240E-2 DP F通信报文
1) 将硬件目录中“SIEMENS begr 353, PKW+PZD-2/2”模块拖拽到“设备概览”视图的第1个插槽中,系统自动分配了输入输出地址,本示例中分配PKW的输入地址IB68~IB75,输出地址QB64~QW71,分配PZD的输入地址IW76、IW78,输出地址QW72、QW74;
2)为方便编程将插槽1的PKW区重命名为“PKW”(在调用系统功能DPRD_DAT、DPWR_DAT时将用到此名字),将插槽2的PZD区重命名为“PZD”。
图3-1组态与CU240E-2 DP F通信报文
• 编程:在S7-1200中调用扩展指令“DPRD_DAT”读取PKW区数据,调用扩展指令“DPWR_DAT”写入PKW数据。
1) 双击项目树下的“Main(OB1)”打开OB1程序编辑窗口;
2) 扩展指令目录中“分布式I/O -> 其它 -> 驱动器 -> DPRD_DAT和DPWR_DAT ”指令拖拽到程序编辑窗口中。
图3-2 S7-1200编程
• 为系统功能“DPRD_DAT”、“DPWR_DAT”分配硬件标识:
1) 单击块参数“LADDR”;
2) 在下拉列表中选择“PKW[AI/AO]”。
图3-3分配硬件标识符
• 为系统功能“DPRD_DAT”、“DPWR_DAT”分配其它参数:
1) DPRD_DAT读取缓冲区从MB100开始的8个字节;
2) DPRD_DAT发送缓冲区从MB200开始的8个字节;
注意:也可以使用DB块作为缓冲区,创建DB时请将块访问模式定义为“标准-与S7-300/400兼容”模式。
图3-4分配其它参数
3.2示例1:读取参数P2902[5]数值
将MB200~MB207的8个字节请求数据发送到变频器,变频器返回的响应数据保存在MW100~MB107的8个字节中。读取参数P2902[5]值的请求数据格式参考表2.2.1,变频器响应数据格式参考表2.2.2。
P2902参数范围在2000…3999之间,根据表2-1设置分区索引值为0x80。
PNU = 2902-2000 = 902(十进制)= 386 (十六进制)。
通过变量表模拟程序读取参数P2902[5] = 100.0,参考图3-4。
图3-4 S7-1200读P2902[5]参数
表3-1读取参数P2902[5]值的请求数据格式,PLC -> 变频器
PKW(第1个字)MW200 |
MW200 IND(第2个字)MW202 |
MW202 PWE(第3个和第4个字)MD204 |
||||
AK |
(1bit) |
PNU(10bit) |
子索引(参数下标) |
分区索引 |
PWE1 |
PWE2 |
0x1 |
0x386 |
0x05 |
0x80 |
0x0000 |
0x0000 |
表3-2读取参数P2902[5]值的响应数据格式,变频器 -> PLC
PKW(第1个字)MW200 |
IND(第2个字)MW202 |
PWE(第3个和第4个字)MD204 |
||||
AK |
(1bit) |
PNU(10bit) |
子索引(参数下标) |
分区索引 |
PWE1 |
PWE2 |
0x2 |
0x386 |
0x05 |
0x80 |
100.0(浮点数) |
3.3示例2:修改参数P1121数值
将MB200~MB207的8个字节请求数据发送到变频器,变频器返回的响应数据保存在MW100~MB107的8个字节中。修改参数P1121值的请求数据格式参考表2.3.1,变频器响应数据格式参考表2.3.2。
P1121参数范围在0…1999之间,根据表2-1设置分区索引值为0x00。
PNU = 1121(十进制)= 461 (十六进制)。
通过变量表模拟程序修改参数P1121 = 5.0,参考图2-2。
图3-5 S7-1200写P1121参数
表3-3修改参数P1121值的请求数据格式,PLC -> 变频器
PKW(第1个字)MW200 |
IND(第2个字)MW202 |
PWE(第3个和第4个字)MD204 |
||||
AK |
(1bit) |
PNU(10bit) |
子索引(参数下标) |
分区索引 |
PWE1 |
PWE2 |
0x3 |
0x461 |
0x00 |
0x00 |
5.0(浮点数) |
表3-4修改参数P1121值的响应数据格式,变频器 -> PLC
PKW(第1个字)MW200 |
IND(第2个字)MW202 |
PWE(第3个和第4个字)MD204 |
||||
AK |
(1bit) |
PNU(10bit) |
子索引(参数下标) |
分区索引 |
PWE1 |
PWE2 |
0x2 |
0x461 |
0x00 |
0x00 |
5.0(浮点数) |
4 文档说明
S7-1200与G120 CU240X-2 DP之间的PROFIBUS通信入门指南包含3个部分:
> 《S7-1200与G120 CU240X-2 DP的PROFIBUS 通信 第1部分 控制变频器起停及调速》:介绍S7-1200通过周期性通信PZD通道(过程数据区)控制和检测变频器状态。
> 《S7-1200与G120 CU240X-2 DP的PROFIBUS 通信 第2部分 周期通信读写变频器参数》:介绍S7-1200通过周期性通信PKW通道(参数数据区)读写变频器参数。
西门子6ES7211-1HE40-0XB0