运用CS3000系统顺控SFC模块将储罐液位测量值换算成罐出口流量值

2021-02-07 04:54黄军政石辉峰
仪器仪表用户 2021年2期
关键词:组态液位储罐

黄军政,石辉峰,兰 师,王 皓

(新疆石油独山子石化分公司 信息网络公司 乙烯仪表车间,新疆维吾尔自治区 克拉玛依 833600)

0 引言

随着仪表测量技术、自动化控制技术甚至人工智能技术的持续迅猛发展,工艺人员也随之不断地向仪表人员提出了许多更加贴近实际生产、更加灵活、更有难度的控制需求。仪表先进控制技术因此得以广泛应用于化工生产实践中,使得仪表人员能够充分满足工艺生产的特殊和非常规的控制要求。横河CENTUM VP 系统在实现仪表非常规控制方案方面就有着广阔的应用空间和巨大潜力。其中,有许多常用的模块包括:CALC 模块、SFCSW 模块、LC64模块、ST16 模块常常发挥着至关重要的作用。本文主要介绍SFCSW 模块的相关应用。

1 液位换算成流量问题的提出

新疆独山子300 万吨国储罐区是国家重点战略储备罐区,工艺出于计量的需要对罐内原油的库存一直重点关注。由于国储储罐容积巨大,再加上液位测量仪表本身的测量误差,使得液位瞬时值并不能及时、准确反映出罐内油料库存量。为了对储油库存量实现精细化管理,工艺人员向仪表提出在不增加流量测量仪表的情况下,根据液位值换算出原油瞬时流出/流入量的要求。工艺技术人员根据储罐的相关数据经过计算给出了具体实施方案即:每2min 读一次液位值,再用后一次的液位值减去前一次的液位值得出差值,定义流量值就是差值绝对值的0.112 倍,并且要求在DCS 画面显示原油瞬时流量值,具体对6 个储罐所对应的6 台液位仪表完成以上操作。

2 解决方案解析

仪表人员根据工艺提出的实施方案,确定了通过CS 3000 系统完成液位测量值的采集、运算、流量值输出、流量值显示功能的总体方案。经过对常用的DCS 控制模块进行全面对比和综合考虑,仪表人员决定利用SFCSW 模块的编程功能和组态功能完成液位数据按规定时间间隔进行采集,并换算成流量值;使用PVI 模块定义6 个储罐相应的流量软表;再通过画面链接功能完成流量值的显示。

2.1 数据采集、处理方案介绍

首先,重点介绍利用SFCSW 模块实现液位数据采集并换算成流量的思路。

以6 块仪表中的第一块表00608LI209 为例,说明如下:

1)为液位00608LI209 指定别名:LI209。

2)将以秒计时的计时器TM002 的上限值定为120。

3)将LI209.PV 赋予变量%.A3。

4)当TM002.BSTS 等于“CTUP”,即TM002 计时器运行120s(2min),而且i <3 时,将此时的LI209.PV 赋予一维数组%.A[i]。

5)将刚读到的LI209.PV(即%.A[i])与2min 之前读到的值(即%.A[i-1])相减,并将差值赋予变量%.A2。

图1 SEBOL程序框图Fig.1 SEBOL Program block diagram

6)将%.A2 的绝对值×0.112 的积赋予%.A4。

7)将本次读到的LI209.PV 赋予%.A3(即将上次读到的液位值覆盖),然后将i+1 赋予i。

8)进入下一个循环。

按以上思路对6 块液位计进行相同处理。

图1 是为了完成以上方案的SEBOL 程序框图。

2.2 SFCSW模块介绍

在介绍SFCSW 组态方案之前,首先介绍一下SFCSW模块。它是顺序控制模块SFC 的一种,SFC 模块是定义顺控控制动作的图解性程序设计语言。包括三位置开关型-SFCSW、按钮型-SFCPB、模拟型-SFCAS 3 种类型。SFC 模块是FCS(DCS 现场控制站)的控制功能之一。它在规模稍微大一点的顺控控制、设备控制中使用,能够使工程进程管理变得更为容易。

图2 编程代码(1)Fig.2 Programming code(1)

SFC 模块使用步、移动、连接线3 个要素记述程序内容。而SFC 模块的每一个“步”中,可由SEBOL/顺控表/逻辑图编写程序,完成各种功能。

2.3 SFCSW组态方案介绍

为了实现以上确定的数据采集和处理方案,具体实施时,首先在CENTUM VP 系统中按路径:SYSTEM VIEW--PROJECT--FCS--FUNCTION BLOCK 到达并打开CONTROL DRAWING 窗口,在窗口中建立一SFCSW 模块;然后,在SFCSW 模块的变量定义窗口(data item definition)中定义在程序编辑中使用的A2 ~F2、A3 ~F3、A4 ~F4这3 组变量和A1[i]~F1[i]这6 个一维数组(其中i 为1 ~3 的整数);最后,在SFCSW 模块的SFC 编辑窗口(Edit SFC)中写入编好的SEBOL 程序。

2.4 问题的具体解决

按图1 框图中的思路编写程序,下装运行。程序内部循环运算,每隔2min 就产生新的差值,经过换算后产生瞬时流量值:%.A4、%.B4、%.C4、%.D4、%.E4、%.F4,它们依次表示6 块液位计换算出来的流量值。

这里需要介绍一下程序中使用的ALIAS 命令,在SEBOL 程序中参与逻辑运算的位号必须是由ALIAS 命令将实际位号变更后的别名。在本文中以00608LI209 为例,只有将位号通过:“block PVI LI209 ALIAS 00608LI209”语句改为别名:LI209,才能参与逻辑运算。

图2、图3 是编程代码。

图3 编程代码 (2)Fig.3 Programming code (2)

为了将SFCSW 模块程序换算出的瞬时流量值引出并显示,再分别定义6 个PVI 模块,模块名分别为SV209SV210SV211SV212SV213SV214。按着设计好的工程单位和量程组好每一块表。然后按组态方案组态下装,使得由00608LI209.PV 换算出的瞬时流量值为SV209.PV......以此类推由00608LI214.PV 换算出的瞬时流量值为SV214.PV。

最后,在相应DCS 画面上做链接,使得当工艺操作人员要查看任何一个罐的瞬时流量值时,点击相应图标即可调出对应面板。为了清楚起见,可在面板上增加相应注释。如有需要还可增加相应趋势、报警等。

3 关于程序使用的几个说明

首先,运行SFCSW 模块,在下装完毕后需将模块投用起来。以本文中为例就是将YSK2 模块面板打到“RUN”。但是在修改程序后,重新下装时,必须将模块程序打到“STOP”状态,否则不能下装。

其次,根据工艺提供的方案:每2min 读1 次液位值,因此TM002.PH 设为120。因为DCS 系统的扫描周期为1s,即每秒钟读取1 次液位值,但是程序只取第1s 和第120s的液位值做差,然后求绝对值。因此,编写了以上代码。假如工艺要求每1min 读取1 次液位值,只需将TM002.PH设为60,然后下装投用即可。

另外,必须将TM002 模块投入“自动”模式。

4 关于流量软表使用的说明

按本文方法产生的流量软表在DCS 画面上显示的是一个绝对值,在此提供一个基本判断依据:即观察液位的变化趋势,如果液位上升,则计算出的流量值为流入量;如果液位下降,则计算出的流量值为流出量。

其次,每个油罐都会有流入管线和流出管线,因此这个计算出的流量值实际表示的就是原油流入以及流出的综合瞬时效果。它是一块只在计算机上显示的流量表,因此也不需要考虑安装位置,只是直接地显示了此时此刻油罐的进油量或者出油量。

5 结束语

横河CS 3000 系统的SFCSW 模块在先进控制、超驰控制、装置平稳率计算等许多方面都有广泛应用。笔者应用SFCSW 模块在实现数据比较、数值换算方面,已经做了一些有益的尝试。本文介绍了数值换算一例,希望对大家有一定的启发作用。

猜你喜欢
组态液位储罐
大型LNG储罐设计计算关键技术
大型LNG储罐珍珠岩在线填充技术实践
基于地震响应分析的大型LNG全容式储罐储罐基础方案设计
基于PLC及组态技术的恒温控制系统开发探讨
基于STM32燃气热水锅炉液位控制系统设计与实现
石油储罐液位开关的应用分析
基于PLC和组态的智能电动拧紧系统
一生清廉
—— 储罐
PLC组态控制在水箱控制系统的应用
铸造行业三维组态软件的应用