摘要:
Honeywell TDC3000系统的CL/AM程序设计在复杂运算方面能力突出,在罐区储量计量中能力卓越,本文在这方面有详细阐述并且提供另一种近似计算方法和程序源码,并且利用到了面向对象程序设计方法的设计思想。
关键词:
CL/AM,程序设计,罐区、储量、计算、程序源码、面向对象
引言:
CL/AM程序设计是Honeywell TDC3000 DCS系统中一个运算功能强大的工具。在DCS系统中有一部分复杂算法是标准测量算法无法实现的,这是就要借助CL/AM程序设计语言来实现。化工区乙烯罐区乙烯丙烯的储量计算就是应用此法。
1、 CL语言的分类
CL语言可分为CL/MC、CL/PM、CL/AM三种设计方法:
(1)、CL/MC既是应用于多功能控制器(Multifunction control)的控制语言;
(2 )、CL/PM既是应用于过程管理器(Process Managers)的控制语言;
(3 )、CL/AM既是应用于应用模块(Application Module)的控制语言,其主要参与连续控制的应用。
而本文主要涉及CL/AM的应用。
2、 CL/AM的功能及方法
基于AM的CL程序适用于较大规模程序及大量数据支持的应用。由于这一点,就需要得到数据库的支持,而这个数据库就包含了DCS系统中所有的数据点。
在DCS系统中,如果标准数据点处理功能或者标准PV或控制算法不能提供所需求的有效算法,即:
(1)、标准PV算法不能提供所需求的足够的算法和逻辑,那么在建立数据点时设定PVALGID= CL并将CL/AM程序连接来代替标准PV算法;
(2)、标准控制算法不能满足所需求的控制动作,那么在建立该数据点时,设参数CTLALGID=CL并将相应CL/AM程序连接来代替标准控制算法;
(3)、CL/AM程序也能被连接到,例如Regulatory Control、Custom或Switch类型的数据点上来扩大数据点的处理功能。
3、 CL/AM程序的结构
一个完整的CL/AM结构如下:
PACKAGE
CUSTOM — —参数声明区
----------------------------------------
----------------------------------------
END CUSTOM
BLOCK 块名 (作用范围;AT 代替算法)
---------------------------------------- — —程序代码区
---------------------------------------
END 块名
END PACKAGE
4、 CL/AM程序在乙烯罐区储量计算中的应用
4.1、设计思路:
因为在罐区的储罐为非完全标准球罐,很难在数据点的标准PV算法中计算出其实时的储量,即根据球罐的实时液位及密度等参数来计算出罐内液体的质量。所以在实际的运用中DCS采用了CL/AM程序来代替AM Regulatory点的PVALGID算法。乙烯罐区9501A、9501B两罐的罐内液体质量计算即用CL/AM程序来实现。在这里,罐内液体的密度是0.442。程序设计思路如下,在积分学中为了计算某一不规则图形的面积或体积时会将其细分为若干个近似规则的有可遵循计算方法的小图形来计算,之后再集合成该图形的面积或体积,当然分的越细则越精确。设下图为不规则图形: