【当前热闻】标准CPU与S7-1500R/H冗余系统是如何进行S7通信的?
标准 CPU与 S7-1500R/H 冗余系统进行S7通信
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 通信中作为客户端• 不支持 Web 服务器• PG 通信:不能同时访问两个 CPU。可访问主 CPU 或备份 CPU。• S7-1500R/H 的 CPU 不支持集中插入的通信模块。
S7-1500R/H 冗余系统的系统 IP 地址除了各 CPU 的设备 IP 地址之外,S7-1500R/H 冗余系统分配以下系统 IP 地址:• 两个 CPU 的 X1 PROFINET 接口的系统 IP 地址(系统 IP 地址 X1),适用于 CPU 1513R-1PN、CPU 1515R-2PN、CPU 1517H-3PN 和 CPU 1518HF-4PN• 两个 CPU 的 X2 PROFINET 接口的系统 IP 地址(系统 IP 地址 X2),适用于 CPU 1515R-2PN、CPU 1517H-3PN 和 CPU 1518HF-4PN• 两个 CPU 的 X3 PROFINET 接口的系统 IP 地址(系统 IP 地址 X3),适用于 CPU 1518HF-4PN通过系统 IP 地址,可与其它设备(例如,HMI 设备、CPU 和 PC)通信。这些设备通过系统 IP 地址始终与冗余系统的主 CPU 进行数据通信。这样,可确保在冗余操作中原来的主 CPU 发生故障后,通信伙伴可在 RUN-Solo 系统状态下与新的主 CPU(之前的备用 CPU )进行数据通信。与设备 IP 地址相比,系统 IP 地址的优势• 通信伙伴专与主 CPU 进行通信。• 即使主 CPU 故障发生主备切换,仍可通过系统 IP 地址与 S7-1500R/H 冗余系统进行数据通信。
应用系统 IP 地址适用于以下应用中:• 与 S7-1500R/H 冗余系统进行 HMI 通信,可以使用 HMI 设备控制或监视冗余 S7-1500R/H 系统上的过程• 与 S7-1500R/H 冗余系统进行开放式用户通信:– 另一个 CPU 或某 PC 中应用程序访问 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) 通过两个 CPU1515R-2PN 的 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 Update 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 时,在3.2章节步骤1中的图片中没有S7-1500R/H 站)。
审核编辑:刘清