基于现有程序的西门子控制系统软硬件升级研究
2023-09-27王聪
王 聪
(北京中燕建设工程有限公司,北京 100000)
丁基后处理一、二线所用控制系统为1998 年WE公司提供的西门子S5-135U 系列,该系统为西门子早期产品,现已使用了20 年之久,在近几年的系统维护过程中存在硬件老化、I/O 卡件故障率高、没有备件支持等问题[1]。控制系统故障已经成为影响装置平稳运行的潜在问题,为保证丁基后处理能够稳定运行,维护人员决定将西门子S5 控制系统升级为西门子S7-400,对其相应硬件、软件进行升级,控制程序进行转化。
1 工艺情况说明
后处理工段的主要工艺流程是接收来自胶粒水罐的胶粒水,依次通过振动筛、SDU 单螺杆挤压机、DWD双螺杆挤压机及TCU 进料输送机,脱除胶粒中的水分,达到工艺要求后经过压块机压块、薄膜包装机包装形成最终的产品。生产线相关的设备详见表1。
表1 现场设备一览表
2 联锁情况说明
联锁主要分为工艺联锁和设备联锁2部分。工艺联锁主要分为3个区域,当3个区域联锁全部投用时,流程前后所涉及的设备之间有启停保护;当3个区域联锁断开时,单台设备可以单独进行调试。为保护设备,每台设备配有相应的温度、压力、故障信号等方面的联锁测点,当工艺操作的参数超过联锁设定值或设备发生故障时设备自动停运,并进行报警提示,所有联锁逻辑均在原PLC中实现。关键设备的联锁设定情况详见表2。
表2 DWD 双螺杆和切刀启停联锁条件关键设备联锁设定情况
3 控制系统升级改造方案
西门子S5系统升级为S7系统,硬件部分可以直接使用S7现有硬件进行代替,程序部分升级改造有2种方案。
第一种方案是借鉴以往的操作经验,并结合现有程序的基础上重新设计程序。该方案的优点是利于以后设备维护和系统升级改造,可以将系统完全进行国产化;缺点是需要提供详尽的工艺条件以及设备联锁保护方案,设计程序所需的时间比较长。
第二种方案是利用现有西门子软件STEP7 中自带的程序转化功能进行转化。这种方案的优点是转化效率高,用时较短,程序相当于完全复制,出错几率较低;缺点是工程人员对转换的内部程序不熟悉,进而造成调试过程耗时较长,当发生故障时不能及时找出切入点,发现问题根源。
由于此次升级改造是在大检修期间进行,没有足够的人力和时间对程序进行重新设计,故采用第二种升级方案,通过软件将S5 系统程序直接转化为S7 系统可用源文件,其中现场电缆与接线端子原封不动。
3.1 硬件部分
硬件部分采用西门子S7-400H 系列PLC 控制系统硬件替换现有S5 系统,取消电气配电间内S5 系统的远程I/O 机架,对应的I/O 点通过硬接线接入新系统;保留配电间内S7-300 作为TCU 控制单元,取消目前S7-300 配套操作的触摸屏,其功能在新的操作系统中实现。原控制柜内的急停控制器、DYNISCO 信号转换器、频率变送器和IBS 信号调节器等部件均使用其升级产品进行替代如图1 所示。
图1 PLC 系统配置图
3.2 程序部分
S5 系统与S7 系统在编程语言、产品框架、块类型和寻址方式上均有所不同,这就要求不仅要对现有系统的编程习惯、编程语言、编程思路有具体深入的了解,同时要能找出S5 系统升级至S7 系统后的替代逻辑块,使替代逻辑块能够完全实现相同的功能。程序部分的升级转换大致需要以下几个流程。
首先,必须了解后处理生产线的工艺流程、具体的操作步骤,以及详细的设备联锁情况,只有掌握了这些内容,程序转化完毕后,才能够对程序高效准确地进行分析和调试。
其次,掌握转换后的S7 程序的逻辑块与S5 原有逻辑块的对应关系,如OB 与OB 组织块对应,S7 中FC 分别对应原S5 程序中FX、FB、PB 功能块,DB 数据块与原S5 系统中DX 数据块对应等;利用S5 文件转换器完成程序转换后,应逐项检查信息情况,如出现错误信息,应将其错误信息修改完毕后才能有效完成PLC 程序的转化。
最后,与上位操作软件Intouch 之间建立通信。原操作系统所用上位软件为Intouch9.5 版本,通信协议为3964R,升级后上位操作软件升级为InTouch 2014 R2版本,与PLC 之间通过DA Server 进行数据的传输。其中,在数据传输过程中,数据地址格式会有一定的变化。
4 升级方案的具体实施
4.1 程序转换
程序转换主要是利用STEP7 软件自带的“转换S5文件”程序,打开S5 系统的程序文件,点击“开始”按钮,进行程序转换,转换过程中会及时提示错误信息和警告信息,转换完成后生成3 个文件,分别是工程文件、源文件、故障文件。程序转换软件及生成的源文件如图2 和图3 所示。
图2 程序转换
图3 生成的3 个文件
4.2 编译源文件
打开SETP7 软件后,在Sources 源文件夹中插入转换过来的源文件,打开源文件后进行编译,编译成功无错误后自动生成相应类型的功能块。本次程序转换在转换和编译过程中基本都是正确的,但是S5 系统中部分OB 块在S7 系统中无法使用,需要用相同功能类型的块进行替换。源文件的编译过程如图4 所示。
图4 源文件编译
4.3 与上位软件建立通信
与上位软件的通信主要是通过DB 数据块中定义的数据表来建立的,S5 程序中变量名是使用DB 数据块中设置的名称来定义的,如图5 所示,当转化为S7后需要将其修改为名称所对应的地址来进行通信。由图5 可知,S5 中DB69.DW050 在S7 中对应的地址应该修改为DB69.INT100。
图5 数据块地址表
5 升级过程中遇到的问题
5.1 掌握升级后编程语言的问题
所有逻辑块全部使用STL 编程语言完成,极少部分可以转化为LAD(梯形图)来显示,这就需要技术人员熟练掌握相关编程语言,才能真正实现其系统升级后的功能。
5.2 中间变量表缺失的问题
转化完成的程序只有I/O 地址表,所有的中间变量以及与上位软件之间的通信变量均没有描述,中间变量表的缺失问题对程序的调试和分析造成了极大的困难。
5.3 系统之间循环中断组织块不匹配的问题
由于S7 使用的循环中断组织块是OB32、OB33、OB34、OB35 这4 个,转化完成的程序中所采用的OB31、OB36 循环中断组织块无法使用,导致系统下装后CPU 无法正常启动,需要使用现有的OB32 替换OB31,OB33 替换OB36,以保证系统正常运行,S7 中可用的循中断组织块如图6 所示。
图6 循环中断功能块
5.4 数据结构不一致的问题
S5 的数据结构与S7 基本类似,但是表述方法不同[2]。例如:在S5 中KF 类型相当于S7 中的INT;S5 中的KG 类型相当于S7 中的REAL 等[3]。
5.5 2 套系统码值不同的问题
由于S5 系统中没有集成好的库文件,故S5 对于模拟量的测量中模拟量信号的读取、输入信号低于2 mA时触发的输出开路报警以及输入信号为0~4 mA 时故障值的设定等,这些功能均需要通过自定义的FC 块功能来实现。其中开路报警的检测是通过将输入信号对应的码值与特定的检测码值比较来实现。由于S5 系统与S7 系统码值范围不同,而且S7 系统中模拟量的读取通过直接调用FC105 逻辑块即可完成;所以模拟量数据的采集程序包括信号开路报警的检测以及输入信号为0~4 mA 时功能块的输出均需要重新设计[4]。
5.6 控制回路中PID 功能块不同的问题
此次系统升级改造中每条线有5 个控制回路需要通过PID 功能块来进行调节,而S5 系统中没有PID 功能块,参数的调节通过自编程序实现,比较繁琐,而升级后的S7 系统内集成了PID 功能块可以直接进行调用;需要注意S7 中PID 功能块中P、I、D 参数时间默认的时间单位是ms,而S5 系统中自编程序默认的时间是s。
5.7 升级过程中的体会
西门子PLC 程序进行在线升级,通过自动转换软件转换时可以按照以下步骤来实现。
第一,对于S5 的PLC 程序不需要全部理解得太透,具体的深入程度看个人的能力、爱好、工期的要求,起码的了解程度是:首先了解原程序的程序结构,各个功能数据块的调用关系;其次,能知道程序中所有程序块的作用,进口生产线的程序中一般程序块都很多,有系统的,有自己编的,可以不去知道每个语句的含义,但是必须了解每个块的用途;最后,弄清各个DB 块的作用,哪些是系统数据块,哪些是用于和HMI交互的,哪些是用户数据块,了解了这些方便于后期程序的修改。
第二,使用S7 自带的S5 到S7 的转换工具:con verting s5 files,使用此工具自动转换的正确率为70%左右,其余的30%则不能正确地转换过来,这时候就需要人工检查修改,转换过程中,错误的部分会有提示,根据提示去逐一检查,找到错误的地方后,对照S5的程序,用STEP7 的语句重新编写即可[5]。
6 结束语
本次将控制系统由西门子S5 升级至S7,优化了软件、更新了硬件,进一步完善了控制系统。通过程序转化、硬件升级、上电调试、程序测试及模拟开车等过程,对整个系统进行了详细的测试,检修完成后2 条生产线已经全部开车运行。运行过程中装置运行平稳、系统运行稳定,此次升级改造圆满完成。