CL/AM程序设计在罐区中的应用-PLC技术网(www.plcjs.com)-可编程控制器技术门户


CL/AM程序设计在罐区中的应用

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2007-11-8 22:02:00     来源:   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.
引言:
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。程序设计思路如下,在积分学中为了计算某一不规则图形的面积或体积时会将其细分为若干个近似规则的有可遵循计算方法的小图形来计算,之后再集合成该图形的面积或体积,当然分的越细则越精确。设下图为不规则图形:


我们可以将其划分为n个高为h,宽为dn的方形来计算,n决定其精度。而9501A、B罐的CL/AM计算质量程序就采用此思路。将球罐等高度划分为143 段,计算出每个高度所对应的体积并将其放入数组中。实时的液位高度将在143段的某两段之间或等于某一段,然后根据该段的体积数Vn加两段之间按比例计算的V` 得出总的体积,继而根据密度计算出罐的储量。

4.2程序结构图:


4.3 程序部分源代码及代码说明
本例是9501A、B两罐的储量计算公式。两罐的规格相同,则在同一个CL/AM程序中一起计算,结果外送到数据点MI9501A.PV和MI9501B.PV。部分程序源代码如下:
PACKAGE
CUSTOM(NOT BLD_VISIBLE) — —数据段声明开始
PARAMETER MIN:ARRAY(1..144) — — 包含143段体积数的数组
VALUE (0.0,0.224,. . . ,1531.115) — — 每一个高度对应的体积数,有省略
PARAMETER LI:ARRAY(1.. 10) — —中间数组,保存临时用到的高度
PARAMETER MI:ARRAY(1..10) — —中间数组,保存用到的储量和密度
END CUSTOM

BLOCK MC302(POINT MC302;AT PV_ALG) — —程序块开始,绑定在MC302上
EXTERNAL LI9501A_30, LI9501B_30 — —输入点液位接口
EXTERNAL MI9501A, MI9501B — —输出点储量接口
LOCAL I,J,K — —临时变量
SET J=2 — — 罐的数量,即A、B罐
SET MI(6)=0.442 — — 罐内液体的密度

本新闻共3页,当前在第11 2  3  

上一篇: ATCS PPC22在净水厂中的应用
下一: 浙大中自SunyPLC200一体式小型可编程逻辑控制器在净水设备中的应用