APP下载

针对横河DCS的计时功能改进及批量组态方法

2023-07-04

仪器仪表用户 2023年8期
关键词:控制站机泵计时器

李 浩

(北京中燕建设工程有限公司,北京 102500)

某生产装置运行时,其中物料组分较重、粘稠,易积聚堵塞机泵。为了防止机泵运行时间过长、堵塞严重,从而损坏设备,需要对运行时间过久的机泵进行备泵切换,定期离线清理维修。此装置有145 个机泵,设备管理人员如果采用手工记录的方式来记录机泵的运行时间,极易出现记录失误,导致设备不能及时得到检修,不仅损坏设备,甚至导致生产事故。为了解决此问题,使设备管理人员的操作方便、设备的运行安全,仪表人员通过不停攻关,最终在DCS 中实现某装置的145 个机泵的运行计时。

1 系统配置

此装置的DCS 系统为横河Centum VP 系统,横河电机最新产品系列。该系统性能可靠、功能先进,具有更为直观的人机界面,大容量现场控制站能够快速准确地处理数据,CPU 的冗余容错配置可以确保可用性高达99.999 99%的连续操作[1]。系统提供了更好的信息可见性、性能预见性和操作灵活性。其简单通用的结构,适用于各种工厂规模和行业[2]。

横河Centum VP 系统主要由操作站(HIS)、工程师站(ENG)、现场控制站(FCS)、控制网络(Vnet/IP)及其相应附属设备组成[3]。

1.1 I/O点数统计

根据系统监控要求,此装置要检测和控制输入输出点的数量(I/O 点)为AI:727 点、AO:183 点、DI:579 点、DO:156 点。

1.2 硬件配置

根据I/O 点数及装置的监控要求,配置了一对冗余控制器,3 个控制柜,1 个电源柜、2 个辅助端子柜,4 台操作站,1 台工程师站,1 台OPC 站,1 台AMS 设备管理服务器,一对冗余交换机。控制站节点单元25 个,模拟量输入卡89 个,模拟量输出卡38 个,数字量输入卡27 个,数字量输出卡20 个,MODBUS 通讯卡4 个。

2 实现方法

现场每个机泵都有一个运行状态回讯DI(Digital Input,数字量输入点)点,当运行状态回讯为“1”时代表现场机泵在运行,当运行状态回讯为“0”时代表现场机泵已停止。因此,要想知道泵的运行时间,只要对泵的运行状态回讯为“1”进行计时,便可得到。具体实现方法如下:

1)DCS 中有专用的TM 计时器模块(Timer Block)用于计时,它的计时模式有两种:“SEC:Second Timer”(秒计时器)、“MIN:Minute Timer”(分钟计时器)。TM 计时器模块计时上限PH 的数据范围为0 ~100000。如果使用“秒计时器”模式,最大计时范围100000s,换算为1.157D,时间太短,不满足使用要求,因此只能使用“分钟计时器”模式。

2)TM 计时器模块的动作指令需要工艺操作人员手动或者内部程序模块发出。这些内部程序模块可以是ST16 顺控表模块(Sequence Table Block)、LC64 逻辑图模块(Logic Chart Block)、CALCU 通用计算模块(General-Purpose Calculation Blocks)等。计时器的计时需要在泵的运行状态回讯从“0”变为“1”时上升沿启动,在泵的运行状态回讯从“1”变为“0”时下降沿计时停止。人工操作肯定不能实时响应,需要内部程序模块来实现,可以选择ST16 顺控表模块,进行逻辑运算组态,内容如下:

3)设备管理人员想知道的是泵运行了多少天,并不需要精确知道运行了多少秒(“秒计时器”模式)或多少分钟(“分钟计时器”模式),需要换算成天数,人工的换算过程还容易出现失误。因此,需要一个CALCU 通用计算模块用于时间单位的换算,把TM 计时器模块的分钟计时值换算为天数。CALCU 通用计算模块组态如下:

采用此方案,每个机泵都要新建3 个DCS 内部程序模块,分别为:TM 计时器模块、ST16 顺控表模块、CALCU通用计算模块。

工作原理是:在ST16 顺控表模块内判断机泵的运行状态回讯是运行还是停止,如果机泵在运行状态,就启动TM计时器模块;如果机泵在停止状态,就停止TM 计时器模块。CALCU 通用计算模块实时把TM 计时器模块的计时值从分钟转换为天数。

为了方便设备管理人员监控,在流程图中做集中显示运行时间,并且做好颜色修饰,运行的机泵显示天数为绿色,停止机泵显示的天数为红色。流程图显示画面如图1所示。

图2 机泵运行状态回讯列表Fig.2 List of pump operation status feedback

优点:

1)在DCS 中实现了对机泵运行时间的计时,计时精确到分,为工艺提供准确时间。

2)在流程图中集中显示运行时间,并用颜色做好修饰,使设备管理人员能够迅速掌握现场机泵的运行情况、运行时间,做到直观、一目了然。

3)机泵计时可以设置时间上下限报警,提醒设备管理人员及时切换机泵。

4)机泵计时可以做历史趋势,为机泵的运行状况分析提供准确的数据支撑。

缺点:

1)装置有145 个机泵,每个机泵都要3 个内部程序模块,总共需要435 个内部程序模块,加大了DCS 系统中控制站CPU 的运算量。

2)TM 计时器模块的数据上限100000 分钟,为69.44天,约2.31 个月。如果超过此时间,数据溢出,TM 计时器模块产生计时到上限报警,不再继续计时。经过与设备管理人员沟通,机泵连续运行时间可到半年,计时范围不能满足其使用要求。

3 改进方案

3.1 方案一

在上一个方案的基础上,再加一个TM 计时器模块。在第一个TM 计时器模块计时到最大值时,触发第二个TM 计时器模块开始计时。这样的话,累计时间可以达到69.44+69.44=138.88 天,换算为4.63 个月。

缺点:

1)如果每个机泵新再加1 个TM 计时器模块,加上原方案每个机泵3 个内部程序模块,共有145×4=580 个内部程序模块在DCS 中运行。继续增加DCS 系统控制站中CPU的运行负担,有可能影响DCS 的正常控制、监视功能,影响装置平稳运行。

2)计时时间只翻了一倍,但增加了CPU 运行负荷,还有可能不满足工艺使用,性价比比较低。

3.2 方案二

在初始方案的基础上,做以下改进:

1)每个机泵用2 个DCS 内部程序模块,分别为TM 计时器模块、CALCU 通用计算模块。

2)在CALCU 通用计算模块中,通过内部函数监测机泵的回讯状态变化,判断是运行还是停止,然后把TM 计时器模块置为开始计时还是停止计时,然后在CALCU 通用计算模块内把TM 计时器模块中的分钟转换为天数。

3)为了避免TM 计时器模块达到计时上限,异常停止问题。在CALCU 通用计算模块中,加一个判断子程序,判断TM 计时器模块是否接近数据上限。若接近上限,提前处理,避免异常停止。具体实现:CALCU 通用计算模块中参数P01 实时取自TM 计时器模块计时值PV。如果P01 达到99999 min,代表TM 计时器模块接近数据上限,此时CALCU 通用计算模块中参数P02 累加1,对TM 计时器模块计时值PV 清零,此时TM 计时器模块继续从零开始计时,不会停止计时。参数P02 即为每次达到计时上限进位计数。CALCU 通用计算模块自写脚本如下:

优点:

1)CALCU 通用计算模块的参数P01、P02 的数据上限为99999999999,能达到的累计时间为:P02 数据上限×69.44 天=69.44×1011天=1.9×1010年。但是因为流程图显示数据位数有限制,数据显示能够达到9999.99 天,约为27.4 年。此装置一般1 年检修一次,考虑推广到其他炼化装置,一般4 ~5 年大修一次,因此这个计时范围完全满足各种需要。

2)每个机泵用2 个DCS 内部程序模块,比原方案减少145 个DCS 内部程序模块,从而减少DCS 系统控制站CPU 的负荷,提高了效率。

3)克服了横河DCS 的TM 计时器模块数据上限的限制,不只满足了此装置的使用,也为以后类似的工作提供了范例。

4 批量组态技巧

4.1 提出问题

在此次组态实施过程中,每个现场机泵数量都有1 个运行状态回讯,总计145 个运行状态回讯信号分布在3 个DCS 现场控制站(站名为:FCS0209、FCS0210、FCS2011)中,其中现场控制站FCS0209 中有36 个,现场控制站FCS0210 中有46 个,现场控制站FCS0211 中有63 个。

通过以上的分析研究,最终方案是每个机泵用两个DCS 内部程序模块,分别为TM 计时器模块、CALCU 通用计算模块,合计290 个内部程序模块。如果采用常规的组态方法,一个一个新建DCS 内部程序模块,还要逐个设置每个模块内部参数、编制脚本。

这些组态工作,在建立第一个机泵的两个DCS 内部程序模块,并调试成功后,剩余的机泵组态,是重复、机械工作,非常耗费时间和精力。不止效率低下,耗时费力,还极易出现失误。对于此种情况,特别适用自动化程序脚本(VBA)处理的方法,来实现组态批量实现。

4.2 实现方法

VBA 是Office 办公软件中各套件内嵌的编程语言,它采用Visual Basic 的语言和面向对象技术,能够很方便地增强宿主的功能,实现用户定制化的便捷技术[4]。VBA 是运行在Microsoft Office 软件之上,可以用来编写非软件自带的功能的编程语言。Office 软件提供丰富的功能接口,VBA 可以调用它们,实现自定义的需求。VBA 可以运行在Office 软件上,包括Excel、Word、PPT、Outlook 等。VBA语言在Office 软件中是通用的,基本语法和用法都相同。但是每一个软件具有自己独有的对象,例如Excel 有单元格对象,Word 有段落对象,PPT 有幻灯片对象。本次使用的是Excel 中的VBA 应用,利用Excel 内嵌VBA 开发工具,可以开发出一些复杂、专业的应用程序,对具体的数据进行具体的开发处理[5]。

通过研究横河DCS 组态软件System View 中Control Drawing Builder 中组态文件的源代码,寻找并发现规律,然后通过在Excel 中自编VBA 函数实现自动化批量处理。

具体实现过程如下:

1)整理出机泵运行状态回讯在各个现场控制站的列表,以现场控制站FCS0209 为例,如2 图所示。

2)拿其中一个机泵P-101A 作为模板。通过此机泵运行状态回讯YSLP101A,新建2 个DCS 内部程序模块,分别为TM 计时器模块P101ARUNTM、CALCU 通用计算模块P101ARUNCL。然后在Control Drawing Builder 组态界面菜单中,找到导出菜单(External File →Export...),把DCS内部程序模块的组态信息导出为TXT 格式。

3)若利用VBA 来自动化批量处理,需要把导出的TXT 格式文件数据导入到EXCEL 中,如图3 所示。

图3 TXT文件导入到EXCELFig.3 TXT File import to Excel

图5 TM计时器模块P101ARUNTM、CALCU通用计算模块P101ARUNCL的源代码Fig.5 Source code for TM timer module P101ARUNTM and CALCU general calculation module P101ARUNCL

4)分析组态文件源代码,识别规律。通过逐条对照分析,可以明确,在源代码中,主要分为3 个部分:①最开始的部分,第1 行“:::SOURCE”到第16 行“::FHED”是Control Drawing Builder 控制图源代码的前半部分,此部分是每个Control Drawing Builder 控制图的固定内容;②从“:FNRM”到“::FNRM”是P101A 泵TM 计时器模块P101ARUNTM 的源代码。从“:FCAL”到“::FCAL”P101A泵CALCU 通用计算模块P101ARUNCL 的源代码。这部分内容是需要修改的内容,是组态的主要部分;③最后一部分“:::: SOURCE”是控制图源代码的后半部分,结束语句,也是固定内容。

5)再具体分析源代码中每行代表的设置属性,然后用EXCEL 的VBA 脚本自编宏程序,把泵P101A 的相关信息替换为其他机泵,并且注意模块序号、位置,还要根据每个控制图中只能放置100 个内部程序模块,做好判断、分块,其中FCS2011 就需要分为2 个控制图来组态。VBA 自编脚本如图6 所示。

图6 EXCEL中编写的VBA脚本Fig.6 VBA Script written in Excel

6)把VBA 脚本生成的源代码保存为TXT 文件,然后使用Control Drawing Builder 控制图组态中的导入菜单(External File →Import...),导入到控制图中,最终下装组态。

5 总结

通过实施方案的不断改进,在DCS 中顺利地实现了145 个机泵的运行计时。不只在Centum VP 中可以使用,经过测试,在Centum CS3000 中也能正常使用。既减少了人力的损耗,计时准确高效,还尽量减少对控制站平稳运行的影响,在这之间找到一个均衡点。还通过组态的技巧,减少了工作量,保证组态的准确无误,组态下装后一次运行成功。

这些方法在实现了计时功能的同时,不影响主要控制功能,还通过一些技巧达到高效、无误,为以后类似的项目提供了很好的经验。

猜你喜欢

控制站机泵计时器
机泵节能技术的应用探讨
松鼠的计时器
关于提高机泵性能延长机泵检修周期研究
法国水师兵营旧址 曾作为法国在长江上游的控制站
超高精度计时器——原子钟
ECS-100系统控制站硬件配置及使用
美国无人机地面控制站的改进与发展
大口径减震支座式机泵与设备固定连接组焊技术
提高机泵运行可靠性的途径
抗缪勒氏管激素:卵巢功能的计时器!