1、简介
S7-1500R/H冗余系统除了各 CPU 的设备 IP 地址之外,还支持设置系统 IP 地址。通过系统 IP 地址,可与其它设备(如,HMI 设备、CPU、PG/PC)进行通信。基于系统 IP 地址可以之中保证与冗余系统的主 CPU 进行数据通信。这样,可确保在冗余操作中原来的主 CPU 发生故障后,通信伙伴可在 RUN-Solo 系统状态下与新的主 CPU(之前的备用 CPU)进行通信。
与设备 IP 地址相比,系统 IP 地址的优势
• 通信伙伴与主 CPU 的定向通信。
• 即使主 CPU 发生故障,S7-1500R/H 冗余系统仍可继续通过系统 IP 地址进行通信
因此,在S7-1500R/H冗余系统与其他PLC进行以太网通信时,推荐使用系统IP地址。S7-1500R/H 冗余系统的基本通信功能与 S7-1500 标准系统的大致相同,但在S7 在通信中只能作为服务器,不支持作为客户端。只能由通信伙伴侧建立单边未指定S7连接并使用PUT/GET指令读写数据。
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-1PN 6ES7 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 所示。
3. 在CPU1515R-2PN 属性“防护与安全”中激活“允许来自远程对象的PUT/GET通信访问”,如图 3 所示。
图 3 激活连接机制
4. 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
2. 在网络视图左上角,点击“连接”,右侧的下拉框中选择“S7连接”。鼠标右键单击 CPU1513-1PN,在弹出的对话框中选择“添加新连接”,如图 7 所示。随后点击“添加”按钮,添加一个新的S7连接,如图 8 所示。 图 7 进入添加新连接界面
图 8 添加新连接
3. 在刚刚建立的 S7 连接属性界面中的“常规”里填入连接伙伴的 IP 地址,注意此处一定要填写前面 CPU1515R-2PN 设置的 X2 接口的系统 IP 地址(图2 中),如图 9 所示。在“地址详细信息”中,将伙伴下面的插槽号设置为“1”,见图 10 所示。 图 9 填入 CPU1515R-2PN 的系统 IP 地址
图 10 设置伙伴插槽
4. 新建发送数据块,长度和结构与之前在 CPU1515R-2PN 中建立的接收数据块一致,同样要去掉“优化的块访问”,如图 11 所示。
图 11 建立发送数据块
5. S7通信需要使用专门的指令发送接收数据,指令位于“指令列表—通信—S7 通信”文件夹下。示例中是 CPU1513-1PN 发送数据到 CPU1515R-2PN,需要使用“PUT”,如图 12。
图 12 调用指令“PUT”
在指令属性界面“连接参数”中,选择之前步骤建立的S7连接,如图 13。
图 13 指令“PUT”选择连接
填写指令的相关参数,如图 14。参数说明见图 15,更多关于指令的相关信息可以参考指令的帮助文件!
4、结果测试
将项目编译正常后下载到各自CPU中,使用监控表对数据传递进行测试。在 CPU1513-1PN 程序中置位指令“PUT”的参数“REQ”地址变量M100.0,接收方 CPU1515R-2PN 接收数据块收到数值,说明数据交换正常,见图 16。
5、标准 CPU 与 S7-1500R/H 冗余 CPU 不在一个项目中的情况
标准 CPU 和S7-1500 R/H 冗余 CPU 不在同一个TIA Portal 项目的情况下,通信的组态和配置是分开进行的,操作方法是完全相同的
微信技术群:PLC工业自动化社区 (加好友标注:姓名-城市)
自动语音播报WinCC报警消息西门子TIA博途
西门子TIA博途SCL学习
冗余系统作为“终极”的解决方案,在很多领域发挥着关键作用。通过这种方式,实现两个系统的并行运行。
01
S7-1500R/H 冗余系统可应用于很多领域:
S7-1500冗余系列CPU目前一共有四种,基本参数及订货号如下:
03
S7-1500冗余系统的典型方案中,包括一对冗余的CPU和一定数量的IO站,以及必要的交换机等。以下会介绍各个冗余CPU的典型架构。
如上图,在冗余系统的网络架构上,首先要有一个PROFINET环网,即MRP环网(介质冗余协议),通过MRP把CPU和IO设备以及交换机连接起来。
1513R和1515R系统的区别:
1515R集成了两个网络接口,X1用于IO设备连接,X2可以用于上位机通讯
1513R只有X1一个接口,除了连接IO设备以外,如果要连接HMI或者其他系统,需要增加交换机或者通过3端口的ET 200SP接口模块引出
*PROFINET环网中的交换机要支持MRP协议及H-Sync转发功能
| CPU 1517H和1518HF冗余系统
典型架构
1517H和1518HF系统与1500R系统主要区别:
如需获取更多关于冗余的信息,可通过小程序查看并下载S7-1500RH系统手册:
最后,附上四款冗余CPU珍贵的“全家福”:(首次齐聚) 听说不用冗余,也能提升自动化系统可靠性?冗余系统,也称为双机热备系统,是指冗余的两个CPU并行处理相同的数据和相同的程序,两个CPU通过冗余连接进行同步。如果一个CPU出现故障,另一个CPU会自动接替它,对过程进行控制。冗余自动化系统旨在通过并行运行两个系统从而降低生产停机的可能性。
众所周知,提高自动化系统的可靠性、可用性、减少停机,从而提高生产效率是我们追求的目标。
那么如何从自动化系统的方案上来提高可靠性、可用性呢?难道一定就要上成(jia)双(zhi)成(bu)对(fei)的冗余PLC吗? 其实不然!自动化系统有不同规模和应用领域,并非所有都适合采用冗余系统来提高可用性。看看下面两个例子:
采用1200 CPU的小型自动化系统,如果换成冗余系统,成本会增加很多
一个多轴需要同步的运动控制应用中,循环时间可能只有几个毫秒,冗余系统同样也不适用
那么对于以上场合,可用性可以提高吗?答案当然是肯定的!
让我们从最基本的应用入手:
如上图,CPU+IO模块的集中式方案,CPU可以是1200或者1500,IO模块直接连接到CPU右侧。
这样简单的系统如何提高可用性呢?
01
可以将CPU和IO集中在一起的方案转为分布式IO的方案,将故障的风险分散。这样即使一个IO站上的模块损坏,也不会影响到系统其他部分的功能运行。 对于这样的分布式网络架构,大家可能会有一个疑问:网络会不会存在失效的风险呢? 所以进一步的问题是:如何提高网络的可用性?
02
解决由于网线或者交换机导致的故障,可以采用环形网络或者双网,比如PROFINET采用的MRP介质冗余协议——即使有一处网络出现故障,仍可保证网络正常运行。
03
进一步来说,如果要提高控制器的可用性,可以采用CPU冗余的解决方案,比如使用1500R/H CPU。
04
当控制器、网络都提高了可用性,外围的输出IO信号如果也希望冗余,则可以采用冗余的IO模块,实现IO信号的冗余。 自动化系统涉及的组件比较多,包括电源、PLC、IO模块、网络组件等等,可以根据实际需求和情况,选择合适的方法来提高自动化系统的可靠性。