Siemens PCS7项目中单CPU系统升级改造为冗余系统过程
引言
今年因工厂控制系统升级需求,在帮忙准备PCS7系统的升级改造项目,从而让我回忆到过往两次系统升级改造的经历,也有幸在一个好的团队里面一起共事,做了一些工厂可靠性方面的解决方案。还记得过往升级改造成功之时,大家脸上的兴奋劲和喜悦感,做技术有时就是这样,在哪里付出了许多,就在哪里收获产出,收获成就感。
文中根据过往实际的工作经历,介绍了西门子PCS7项目中单CPU系统升级改造为冗余系统的组态过程,PCS7控制系统从7.0版本升级到9.0版本,此实施方案是基于提高控制系统的可靠性方面着手,为保障工厂稳定运行打下坚实基础。希望对有类似需求的工控朋友们能有一些帮忙。若有不当之前,还请多多包涵。
01
说说准备工作
前期准备非常重要,俗话说的好 “A good beginning is half thebattle”.如之前是单CPU升级为冗余CPU,需要把之前的单边通讯重建为容错通讯连接,
系统中 ES/OS使用普通IE Module还是CP1623,都决定着升级过程中不同的License采购需求,电脑若一并更换,需要准备和采购CP1623工业网卡。
WinCC和CPU的数据通讯方式是否需要产生变化,如之前为TCPIP通讯,改造成冗余系统后,必须变化为NamedConnection Protocol的通讯协议,此时若通过普通IEModule实现冗余通讯,需要购买Softnet授权,若通过CP1623,需要购买Hardnet授权,
挂在系统中的其他通讯是否需要变化,是否需要购买新的软件包来支持冗余通讯,我在升级中曾经遇到:CPU和本特利BN3500的单边通讯改造成冗余通讯后,就需要购买不同的软件包和授权来支持冗余通讯,之前的单边软件包失效,这个地方特别不容易发现。
02
项目介绍
文中主要介绍控制系统从单CPU系统升级为冗余CPU系统的一些技术细节和大家探讨,因控制系统版本从7.0到9.0的升级变化是团队中的同事在负责,此处就不再展开进行介绍。
是系统架构图如下图所示,A系统中的单417H CPU准备升级为冗余的410H系列,A系统之前和冗余的B系统之间已经建立通讯,还和BN3500系统之间建立通讯,此处和BN3500的通讯并没有显示在下图中。
此处需要注意,A系统从单CPU变为冗余CPU后,和B系统的容错连接建立,若A系统和B系统在一个项目下面集成,那么可以直接建立S7Fault Tolerant Connection,但文中遇到的情况是A系统和B系统分别在不同的项目下面且系统版本也不一样,就需要额外的组态方式来完成系统间的冗余通讯。
在这里,参考西门子官方论坛对应容错连接的介绍:
S7容错连接是S7-400H(Highavailable高可用性)系列CPU才能支持的冗余通讯方式。可以实现基于2/4个子链接的冗余通讯。在一个子链路中断时,其伙伴链路能够保证整体通讯不被中断。目前支持S7容错连接的网络主要为工业以太网,可以在HCPU之间、H CPU与上位机PC之间实现通讯冗余。
我们可以看到IE General网卡也可以支持建立容错连接,但对版本和授权方式有一些要求,特别注解如下:
CP1613或CP1623网卡+HARDNET IE S7 REDCONNECT授权
普通网卡+SOFINET IE S7 REDCONNECT VM 授权(自PCS 7 V8.1/WINCCV7.2之后)
03
系统组态变更
文中因更换了新的ES电脑,没有在原电脑中的项目中更改,而是在新的ES(升级到9.0的项目)中进行对老项目的更改和重建。
方案实施阶段,在硬件组态里面查看原来项目硬件机架信息的组态方式。
SIMATIC 400 Station: for Single CPU purpose.
SIMATIC 400H Station: apply for redundancy CPU.
若原来的项目插入的是SIMATIC 400 Station, 这里需要替换为SIMATIC 400HStation的方式,这个小细节需要注意到,文中项目此处组态信息就是这种情况,需要变更。
替换原单站机架时,在CPU0这一边插入UR2ALU-H Rack,Copy CPU0 Rack的信息在空白区域Paste 那么就会自动创建CPU1Rack的信息。从原项目从Copy所有的IM153-2从站到新的项目中(项目移植中比较快捷的方式),这样冗余CPU硬件信息组态完成,硬件编译下查看是否有错误存在。
此处小结,在CPU硬件和从站信息已经完成基础上,一定要保证物理链路上已连通,也就是所有的网络都已经连接到网络交换机,西门子一般是SCALANCE。
是对新冗余系统的PN口或者CP443-1通讯卡进行配置和组态,文中用的CP443-1通讯卡,次设置CP443-1时可以通过”EditEthernet Node”,如图3所示,记得要输入MAC address后点击搜索就可以找到了。
找到CP443-1通讯卡后,为其分配IPaddress,保持和旧项目中一致即可,输入默认网关信息,一般为255.255.255.0,选择点击图4中的Assign IPConfiguration按钮,等待参数写入成功的回执信息弹窗。
成功配置好CP443-1通讯卡之后,那么此时可以下载刚刚我们新组态的硬件信息了,对比原系统中CPU信息,检查一遍新CPU410-5H的参数后,在硬件组态界面选择下载硬件信息到CPU中。
硬件信息成功完成下载,这时可以直接从原项目中的Chart文件夹copy到新的项目中,免去一个个粘贴逻辑的时间,编译逻辑,查看是否存在编译报错。
新升级到PCS79.0系统后,大概率会遇到编译报错的问题,错误信息提示为FB已经存在的冲突报错,那么此时需要根据提示信息,在变量表里面对一些冲突的功能可重新分配地址,避开冲突即可。
此冲突原因是升级到PCS7 9.0系统编译后,一些系统功能在自动产生时,可能和原项目中的一些FBnumber相同,从而出现冲突报错。当编译错误消失后,记得把逻辑download到新的CPU中。
此时,在新的PCS7 9.0系统中硬件和软件的下载都已经完成,那么就是处理通讯部分。
因为原单站CPU升级为冗余的CPU,那么也要考虑升级之后原单边通讯也要具备冗余的通讯功能。
先打开网络组态界面NetPro,ES/O和CPU之间的通讯更改为S7 connection fault-tolerance,在网络组态界面点击按钮编译并保存,编程检查无错误后,是选中CPU,逐条右键选择download selectedconnection,这样通讯已经下载成功。
针对前面提过的一个知识点,若是同一项目里面改成冗余CPU后,建立容错连接是比较方便和容易的,那么针对不同项目下的案例,如上图和MANPLC的通讯,根据西门子官网的推荐,建议用虚拟站点的方式进行,也就是在本项目中把MAN系统的硬件信息作为一个单项目插入,在MAN系统中镜像插入原系统的硬件信息,两者之间就相对于在同一个项目下了。
具体操作方式请参考西门子官网:文档类型 常问问题 文档编号 43033406, 文档发布日期 2017年10月9日
文中采用方式是采集CPU中的Master bit位信号,在通讯设置里面建立对应的两条通讯链路到MANPLC系统中,这就是上图出现MAN PLC和MAN PLC2,其实是一样的通讯设置,只Masterbit激活时才会激活通讯功能,此种方式需要在软件里面写一段程序来配合完成通讯切换,这也是一种解决思路,细节不再赘余。
切记:对面通讯的系统也要更新原系统中的一些通讯设置,保证两边的信息都是新的,才能保障通讯成功。
04
上位机信息组态
文中项目原设计不是很规范,升级过程需要关注的地方比较多,提前部署计划好是非常有必要的,因原项目上位机WinCC采用ISO的通讯方式而不是nameconnection,那么就需要重新建立新的name connection通讯方式,来匹配和冗余CPU之间的冗余通讯。
在原项目中设置PC/PG接口位
在新项目中设置好PC/PG通讯接口为 PC internal local,组态详细步骤:
新的ES站内替换为CP1623工业以太网并组态好其配置,
在上位机硬件组态里面进行组态并插入WinCC application,
在Siemens Shell中查看组态网卡并查看ES/OS连接状态,
把上位机组态好的信息configure到各个OS站点并查看右下角SCE的配置状态。
配置好各OS站点后,整体编译WinCC项目并勾选memory reset,若项目中有SFC的应用实例,别忘记编译时勾选SFC选项,采用的通讯协议设置为Named Connection.(冗余通讯必须为这个协议)
05
硬件替换和安装
现场和相关部门沟通好停机时间和窗口,还是提醒一下,要准备充分,尽量缩短整体停机时间,这样可以节省一些时间用于故障排查阶段。
把原来的单CPU硬件从control panel中移除,打孔后并安装新的冗余CPU硬件。
此处所有连接IO从站的通讯模块IM153-2也需要随着冗余CPU的改变而进行更换,由单IM153-2模块变为双模块(DP地址要注意保持一致),其通讯背板一定要替换为支持IM153-2冗余模块的背板。有源背板模块订货号贴在此处,以便快速查阅6ES7195-7HD10-0XA0。
下图是冗余系统双IM153-2模块安装完毕后的照片。
文中项目还设计到了工业交换机SCALANCE替换,若在升级过程中发现SCALANCE接口已经不够用,那么在冗余改造前就要计划好升级有更多接口的工业交换机,本项目中因原来SCALANCEX208已经没有备用口,从而升级替换为16口的X216。
06
软件功能测试
到这个环节,软件和硬件系统都已经升级改造完成,那么此时需要把WinCC项目下载到各OS后进行功能测试和画面信息确认,查看是否有不正常的显示或者不能正常操作的Icon。
冗余CPU的冗余功能也需要测试确保功能正常,可以采用关闭一侧CPU的电源来进行测试,并查看数据的通讯部分是否异常。也可以采用从软件中进行CPU切换来测试,CPU切换时会有相关报警产生,可以留意一下黑色的系统报警信息。
07
设置时间同步功能
PCS7中的时间同步是非常必要的功能,尤其在系统的故障排查阶段,保持各系统部件有一致的时间,是非常重要和必要的,这个时间同步功能在项目收尾阶段也要确认其功能正常。此部分的设置细节可以参阅西门子官方手册,几个重要环节概况如下:
所有的ES/OS采用NTP mode同步公司服务器时间,
AS项目测需要激活CP1623的时间同步功能,
在CP443-1(或CPU PN口)勾选“Accept time on CP and forward” 此选项非常重要,
在WinCC一侧如下图设置,设置CP1623为Time Master,
CPU属性中设置为CPU as slave。
当时间同步功能设置好并完成硬件和软件的下载后,打开 硬件组态信息,选中CPU并右键,从set time ofday中查看3者时间是否保持一致,若一致说明时间同步已经成功。三者时间指的是PG/PC time, Module time和Local time, 此处注意Module time为UTC时间,由于我们地域时间在东8区,moduletime会晚整8个小时。
08
笔者在文中叙述了单CPU系统升级改造为冗余系统的实现过程,可以看出需要在方方面面做足功课,才能保障升级过程顺利,尤其对于通讯方面的设置,因在项目执行过程中,忽略了一些小的细节,造成数据不能随着CPU切换而正常通讯,后不得不花费大量时间和经历查阅资料才得以解决,此部分在文中就不再赘述。
一个好的团队配合在一起才能确保升级顺利,此项目的完成也要感谢当时的各位同仁齐心协力,在此一并谢过,不仅保障改造项目的升级进度,更为后续工厂的稳定运行打下了坚实基础。