欧美另类老人xxxx,97超级碰碰碰免费公开视频,99视频1区2区日本,国产综合精品久久久久成人,国产精品三级一二三区,伊人狼人干,成人国产在线看不卡,好男人官网资源在线观看
      1. Honeywell TDC3000 CL/AM程序設(shè)計在罐區(qū)計量中的應(yīng)用
        中國石化廣州分公司信息儀控中心 王雨辰

        摘要:
          Honeywell TDC3000系統(tǒng)的CL/AM程序設(shè)計在復(fù)雜運(yùn)算方面能力突出,在罐區(qū)儲量計量中能力卓越,本文在這方面有詳細(xì)闡述并且提供另一種近似計算方法和程序源碼,并且利用到了面向?qū)ο蟪绦蛟O(shè)計方法的設(shè)計思想。

        關(guān)鍵詞:
          CL/AM,程序設(shè)計,罐區(qū)、儲量、計算、程序源碼、面向?qū)ο?br />
        引言:
          CL/AM程序設(shè)計是Honeywell TDC3000 DCS系統(tǒng)中一個運(yùn)算功能強(qiáng)大的工具。在DCS系統(tǒng)中有一部分復(fù)雜算法是標(biāo)準(zhǔn)測量算法無法實現(xiàn)的,這是就要借助CL/AM程序設(shè)計語言來實現(xiàn)。化工區(qū)乙烯罐區(qū)乙烯丙烯的儲量計算就是應(yīng)用此法。

        1、 CL語言的分類
        CL語言可分為CL/MC、CL/PM、CL/AM三種設(shè)計方法:
        (1)、CL/MC既是應(yīng)用于多功能控制器(Multifunction control)的控制語言;
        (2 )、CL/PM既是應(yīng)用于過程管理器(Process Managers)的控制語言;
        (3 )、CL/AM既是應(yīng)用于應(yīng)用模塊(Application Module)的控制語言,其主要參與連續(xù)控制的應(yīng)用。
        而本文主要涉及CL/AM的應(yīng)用。

        2、 CL/AM的功能及方法
          基于AM的CL程序適用于較大規(guī)模程序及大量數(shù)據(jù)支持的應(yīng)用。由于這一點,就需要得到數(shù)據(jù)庫的支持,而這個數(shù)據(jù)庫就包含了DCS系統(tǒng)中所有的數(shù)據(jù)點。
        在DCS系統(tǒng)中,如果標(biāo)準(zhǔn)數(shù)據(jù)點處理功能或者標(biāo)準(zhǔn)PV或控制算法不能提供所需求的有效算法,即:
        (1)、標(biāo)準(zhǔn)PV算法不能提供所需求的足夠的算法和邏輯,那么在建立數(shù)據(jù)點時設(shè)定PVALGID= CL并將CL/AM程序連接來代替標(biāo)準(zhǔn)PV算法;
        (2)、標(biāo)準(zhǔn)控制算法不能滿足所需求的控制動作,那么在建立該數(shù)據(jù)點時,設(shè)參數(shù)CTLALGID=CL并將相應(yīng)CL/AM程序連接來代替標(biāo)準(zhǔn)控制算法;
        (3)、CL/AM程序也能被連接到,例如Regulatory Control、Custom或Switch類型的數(shù)據(jù)點上來擴(kuò)大數(shù)據(jù)點的處理功能。
        3、 CL/AM程序的結(jié)構(gòu)
        一個完整的CL/AM結(jié)構(gòu)如下:
        PACKAGE
        CUSTOM — —參數(shù)聲明區(qū)
        ----------------------------------------
        ----------------------------------------
        END CUSTOM
        BLOCK 塊名 (作用范圍;AT 代替算法)
        ---------------------------------------- — —程序代碼區(qū)
        ---------------------------------------
        END 塊名
        END PACKAGE

        4、 CL/AM程序在乙烯罐區(qū)儲量計算中的應(yīng)用
        4.1、設(shè)計思路:
          因為在罐區(qū)的儲罐為非完全標(biāo)準(zhǔn)球罐,很難在數(shù)據(jù)點的標(biāo)準(zhǔn)PV算法中計算出其實時的儲量,即根據(jù)球罐的實時液位及密度等參數(shù)來計算出罐內(nèi)液體的質(zhì)量。所以在實際的運(yùn)用中DCS采用了CL/AM程序來代替AM Regulatory點的PVALGID算法。乙烯罐區(qū)9501A、9501B兩罐的罐內(nèi)液體質(zhì)量計算即用CL/AM程序來實現(xiàn)。在這里,罐內(nèi)液體的密度是0.442。程序設(shè)計思路如下,在積分學(xué)中為了計算某一不規(guī)則圖形的面積或體積時會將其細(xì)分為若干個近似規(guī)則的有可遵循計算方法的小圖形來計算,之后再集合成該圖形的面積或體積,當(dāng)然分的越細(xì)則越精確。設(shè)下圖為不規(guī)則圖形:



          我們可以將其劃分為n個高為h,寬為dn的方形來計算,n決定其精度。而9501A、B罐的CL/AM計算質(zhì)量程序就采用此思路。將球罐等高度劃分為143段,計算出每個高度所對應(yīng)的體積并將其放入數(shù)組中。實時的液位高度將在143段的某兩段之間或等于某一段,然后根據(jù)該段的體積數(shù)Vn加兩段之間按比例計算的V` 得出總的體積,繼而根據(jù)密度計算出罐的儲量。

        4.2程序結(jié)構(gòu)圖:



        4.3 程序部分源代碼及代碼注釋:
          本例是DCS中9501A、B兩罐的儲量計算公式。兩罐的規(guī)格相同,則在同一個CL/AM程序中一起計算,結(jié)果外送到數(shù)據(jù)點MI9501A.PV和MI9501B.PV。部分程序源代碼如下:
        PACKAGE CUSTOM(NOT BLD_VISIBLE) ——數(shù)據(jù)段聲明開始;
        PARAMETER MIN:ARRAY(1..144) —— 包含143段體積數(shù)的數(shù)組;
        VALUE (0.0,0.224,. . . ,1531.115) —— 每一層對應(yīng)的體積,略去141個數(shù)組值;PARAMETER LI:ARRAY(1.. 10) — —中間數(shù)組,保存臨時用到的高度;
        PARAMETER MI:ARRAY(1..10) — —中間數(shù)組,保存用到的儲量和密度;
        END CUSTOM— —數(shù)據(jù)段聲明結(jié)束;

        BLOCK MC302(POINT MC302;AT PV_ALG) — —程序塊開始,綁定在MC302上;
        EXTERNAL LI9501A_30, LI9501B_30 — —輸入點液位接口;
        EXTERNAL MI9501A, MI9501B — —輸出點儲量接口;
        LOCAL I,J,K — —臨時變量;
        SET J=2 — — 罐的數(shù)量,即A、B罐;
        SET MI(6)=0.442 — — 罐內(nèi)液體的密度;
        A2: LOOP FOR I IN 1 . . 5 — —變量初始化;
        SET LI (I)=0.0
        MI (I)=0.0
        REPEAT A2
        IF LI9501A_30.PV>0.0 THEN SET LI(1)=LI9501A_30.PV — —如果有液位,賦值;
        IF LI9501B_30.PV>0.0 THEN SET LI(2)=LI9501B_30.PV — —同上;
        A1: LOOP FOR I IN 1 . . J — —儲量的計算過程,A、B兩罐;
        IF LI(I)=0.0 THEN GOTO A3 — —如果沒有液位則跳轉(zhuǎn),按體積為零計算;
        IF LI(I)>=14.30 THEN SET LI(I)=14.30 — —如果超滿液位則按體積為滿計算;
        SET K=INT(LI(I)*10) — — 用取整函數(shù)取液位達(dá)到或超過的最近的層數(shù);
        SET LI(8)=MIN(K+2) -MIN(K+1) — — 取液位所在兩層之間的體積差;
        SET LI(9)=LI(I)*10 -K — — 取液位K+1和K+2層之間部分高度;
        SET MI(I)=MIN(K+1)+LI(8)*LI(9) — — 計算出當(dāng)前液位所對應(yīng)的體積數(shù);
        A3: REPEAT A1 — —LOOP A1循環(huán)結(jié)束;
        SET MI9501A.PV=MI(1)*MI(6) — —A罐儲量=A罐體積*密度;
        SET MI9501B.PV=MI(2)*MI(6) — —B罐儲量=B罐體積*密度;

        SET K=MI(1) — —A罐體積交給K;
        CALL ALLOW_BAD(PVCALC,K) — —如果K值有錯誤,同樣可以賦值,不忽略;
        — —下一句K為BAD值時,綁定點的PVAUTOST模式為BAD,其他則正常模式;
        SET PVAUTOST=(WHEN BADVAL(K):BAD;WHEN OTHERS:NORMAL)
        END MC302
        END PACKAGE


        4.4 以上思路的優(yōu)缺點:
          從以上思路可以看出來CUSTOM數(shù)據(jù)段是一個長為144的數(shù)組數(shù)值,是通過人工測量計算后得到的球罐143個平均高度層每層所對應(yīng)的體積數(shù),然后在寫入程序時編碼到源代碼中。其優(yōu)點是對于同一種規(guī)格的球罐來說數(shù)組值不會有變化,從而一個程序能計算多個球罐體積(但擴(kuò)展時需要重新編碼)。

        優(yōu)缺點是:
        (1)、計算量大:
        對于每一個分層所對應(yīng)的體積數(shù)都要計算而得,這在設(shè)計階段的計算量太大;
        (2)、可維護(hù)性差:
        因本例中9501A、B罐儲量在一個程序中計算,且31系列的乙烯A、B、C、D和丙烯A、B、C罐也在另一個程序中一起計算(原理相同),若要對數(shù)據(jù)段數(shù)據(jù)或密度等進(jìn)行維護(hù)修改,則會引起通程序中其他的儲量計算出現(xiàn)問題;
        (3)、通用性差:
        因為數(shù)據(jù)段的體積數(shù)是具體的數(shù)據(jù),所以每一種直徑的罐都是不同的,那么每一種罐都需要一個單獨(dú)的邨CL/AM程序來計算,增大了工作量也增加了HM的存儲壓力,更不利于改造時的擴(kuò)展。

        5、CL/AM程序在乙烯罐區(qū)中應(yīng)用的面向?qū)ο蟪绦蛟O(shè)計優(yōu)化思路
        5.1.1 CL/AM程序GENERIC應(yīng)用:
          這種應(yīng)用適合于一批情況相似的計算應(yīng)用,不必對每一個都設(shè)計出CL/AM程序,而是對相似的計算設(shè)計出一個程序來讓所有其它的相似計算共同引用。不同的是在CUSTOM數(shù)據(jù)段中引用的GENERIC INPUT是不同的數(shù)據(jù)源。其中ENENRIC INPUT是在被綁定點PED端口設(shè)置NOGINPTS的值為引用的數(shù)據(jù)源的個數(shù),這也是面向?qū)ο蟪绦蛟O(shè)計方法,如對9501A罐儲量計算時被綁定點的部分組態(tài)如下:



        5.1.2 CUSTOM數(shù)據(jù)段的應(yīng)用:
          該思路中還用到密度和半徑,應(yīng)該也包括在CUSTOM數(shù)據(jù)段中。對于不同的半徑球罐和罐內(nèi)液體,可以在綁定點得PED組態(tài)時更改為相應(yīng)的半徑和密度。



        5.1.3 計算公式: 所用到的公式如下
        V = 3.1415926*LEVEL*LEVEL*(3*RADIUS-LEVEL)/3 ……….①M(fèi)=V*DENSITY ………………………………………………………②
        5.2 程序流程圖:

         
         
        網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系我們  |  廣告服務(wù)  |  版權(quán)隱私  |  友情鏈接  |  站點導(dǎo)航