用于与S7-1500R/H 冗余系统进行S7 通信的标准CPU
1 简介
S7-1500R/H冗余系统的基本通信功能与S7-1500标准系统大致相同,但在具体使用上有一些特殊限制。
S7-1500R/H冗余系统的通讯方式
? 通过TCP/IP、UDP、ISO on-TCP 和Modbus/TCP 进行开放式用户通信
? S7 通信作为通信中的服务器
? HMI通讯和PG通讯
与S7-1500R/H 冗余系统通信的限制
? 开放的用户沟通:
不支持配置的连接
不支持开放用户安全通信
电子邮件:S7-1500R/H CPU 在V5.0 之前的版本中支持“TMAIL_C”指令。不支持从V5.0 开始的版本。
不支持“TCON_Param”的连接描述
? 不支持OPC UA
? 不支持作为S7 通信中的客户端
? 不支持网络服务器
? PG 通信:无法同时访问两个CPU。可以访问主CPU或备用CPU。
? S7-1500R/H 的CPU 不支持集中插入的通信模块。
S7-1500R/H 冗余系统的系统IP 地址
除了各个CPU 的设备IP 地址之外,还为S7-1500R/H 冗余系统分配以下系统IP 地址:
? CPU 1513R-1PN、CPU 1515R-2PN、CPU 1517H-3PN 和CPU 1518HF-4PN 的两个CPU 的X1 PROFINET 接口的系统IP 地址(系统IP 地址X1)
? CPU 1515R-2PN、CPU 1517H-3PN 和CPU 1518HF-4PN 的两个CPU 的X2 PROFINET 接口的系统IP 地址(系统IP 地址X2)
? CPU 1518HF-4PN 的两个CPU 的X3 PROFINET 接口的系统IP 地址(系统IP 地址X3)
系统IP 地址支持与其他设备(例如HMI 设备、CPU 和PC)进行通信。这些设备始终通过系统IP 地址与冗余系统的主CPU 进行通信。
这确保了在冗余操作中原主CPU 发生故障时,通信伙伴可以在RUN-Solo 系统状态下与新主CPU(之前的备用CPU)进行通信。
系统IP地址与设备IP地址相比的优势
? 通信伙伴仅与主CPU 通信。
? 即使主CPU 发生故障、发生主备切换,仍可以通过系统IP 地址与S7-1500R/H 冗余系统进行数据通信。
应用
系统IP地址适用于以下应用:
? HMI 与S7-1500R/H 冗余系统进行通信,可以使用HMI 设备来控制或监视冗余S7-1500R/H 系统上的过程
? 与S7-1500R/H 冗余系统的开放式用户通信:
PC 中的另一个CPU 或应用程序访问S7-1500R/H 冗余系统的数据
访问不同设备的S7-1500R/H 冗余系统
可以建立TCP、UDP 和ISO-on-TCP 连接
? 与S7-1500R/H 冗余系统的S7 通信
另一个CPU 应用程序访问S7-1500R/H 冗余系统(作为服务器)的数据
2. 示例说明
在示例中,标准CPU (CPU1513-1PN) 的PROFINET X1 接口和两个冗余CPU (CPU1515R-2PN) 的PROFINET X2 接口连接到同一网络。标准CPU(CPU1513-1PN)连接PROFINET X2 PROFINET接口的系统IP地址与S7-1500R/H冗余系统进行S7通讯,使用命令“PUT”向DB1写入10字节数据至CPU1515R-2PN 的DB1。
图1 示例:S7 1500R/H 冗余系统通过系统IP 地址X2 进行通信
示例中使用的软硬件环境
硬件:
CPU1515R-2PN 6ES7 515-2RM00-0AB0,V2.9.2
CPU1515R-2PN 6ES7 515-2RM00-0AB0,V2.9.2
CPU1513-1PN6ES7 513-1AL02-0AB0,V2.9.2
软件:
STEP7 Professional V17 更新2
3.配置及配置流程
根据文档开头的介绍,S7-1500R/H冗余系统在S7通信中只能作为服务器。它无法主动建立S7连接,并且没有S7通信的指令。因此,需要在标准CPU侧建立未指定的单向S7连接,并在伙伴地址中填写S7-1500R/H冗余系统的PROFINET接口的系统IP地址。同时,只能使用标准CPU中的“PUT”指令向S7-1500R/H冗余系统的CPU写入数据,而使用“GET”指令从冗余CPU中读取数据。 PUT 和GET 指令是单向指令,只需存在于标准CPU 中。
3.1 组态S7-1500R/H 站
使用STEP7 V17新建项目,通过“添加新设备”配置S7-1500R/H站,并选择对应型号CPU1515R-2PN。创建PN/IE_2 子网并将两个CPU 的PROFINET X2 接口连接到该子网。分别设置两个CPU的X2接口的设备IP地址。
在CPU1515R-2PN PFORINET X2接口的属性中激活“启用用于切换通信的系统IP地址”,并设置X2接口的系统IP地址,如图2所示。
图2 设置X2接口的系统IP地址
在CPU1515R-2PN的属性“保护和安全”中激活“允许从远程对象进行PUT/GET通信访问”,如图3所示。
图3 激活连接机制
在CPU1515R-2PN中新建数据块_1[DB1],用于存储接收到的数据。注意,DB块属性中的“优化块访问”必须删除,见图4和图5。
图4 创建数据块
图5 设置数据块属性
3.2 配置CPU1513-1PN
“添加新设备”配置CPU1513-1PN,将CPU的PROFINET X1接口连接到PN/IE_2子网,并设置IP地址,如图6所示。
图6 在项目中配置CPU1513-1PN
在网络视图的左上角,单击“连接”,在右侧的下拉框中选择“S7连接”。右键单击CPU1513-1PN,在弹出的对话框中选择“添加新连接”,如图7所示。
然后单击“添加”按钮添加新的S7连接,如图8所示。
图7 进入添加新连接界面
图8 添加新连接
在刚刚创建的S7连接属性界面的“常规”中填写连接伙伴的IP地址。注意这里必须填写CPU1515R-2PN之前设置的X2接口的系统IP地址(图2中间),如图9所示。
在“地址详细信息”中,将“合作伙伴”下的插槽编号设置为“1”,如图10 所示。
图9 填写CPU1515R-2PN的系统IP地址
图10 设置合作伙伴插槽
创建一个新的发送数据块,其长度和结构与之前在CPU1515R-2PN 中创建的接收数据块相同。同时删除“优化块访问”,如图11 所示。
图11 创建发送数据块
S7通信需要特殊指令来发送和接收数据。这些指令位于“指令列表—通讯—S7 通讯”文件夹中。本例中CPU1513-1PN向CPU1515R-2PN发送数据,需要使用“PUT”,如图12所示。
图12 调用命令“PUT”
在命令属性界面的“连接参数”中,选择上一步建立的S7连接,如图13所示。
图13 命令“PUT”选择连接
填写命令相关参数,如图14所示。参数说明如图15所示。关于该命令的更多信息请参考该命令的帮助文件!
图14 填写命令参数
图15 指令参数说明
4、结果测试
工程正常编译后,下载到各自的CPU上,使用监控表测试数据传输情况。设置CPU1513-1PN程序中指令“PUT”的参数“REQ”地址变量M100.0,接收器CPU1515R-2PN接收到来自数据块的值,说明数据交换正常,见图16。
图16 监控CPU 之间的数据传输
5. 当标准CPU 和S7-1500R/H 冗余CPU 不在同一项目中时
当标准CPU 和S7-1500 R/H 冗余CPU 不在同一个TIA Portal 项目中时,通信配置和配置是分开进行的,操作方法完全相同(唯一的区别是配置标准CPU 时CPU,S7-1500R/H 站不包含在第3.2 章步骤1 的图片中。
审稿人:刘庆