• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關注中國自動化產業發展的先行者!
    CAIAC 2025
    2025工業安全大會
    OICT公益講堂
    當前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    DCS系統與外接設備通訊技術的應用
    • 企業:控制網     領域:DCS/FCS/SCADA     行業:石油天然氣    
    • 點擊數:2019     發布時間:2008-02-02 12:58:34
    • 分享到:



        袁漢福  (1953—)
    浙江寧波人,副總工程師, (藍星石化有限公司天津石油化工廠,天津 300380) ,現就職于藍星石化有限公司天津石油化工廠,從事煉油自動化的設計、施工等工作。

    摘要:介紹了DCS系統與質量流量計的通訊問題和解決方法,重點闡述了數據轉換原理、方法和質量流量計的調試方法。

    關鍵字:浮點數;十進制數;通訊接口;尋址;IEEE標準

    Abstracts: This paper introduces the communication and resolution of the DCS and the Mass flow meter. The key points are the principle and the method of data exchange, and the debug method of the Mass flow meter.

    Key words:floating point numbers; the decimal system; communication interface; addressing; IEEE standard

    1 引言

        2006年藍星石化公司天津石油化工廠投入運行的7萬噸/年余C4綜合利用裝置,應用DCS系統作為控制檢測系統,C4進裝置和直流汽油進裝置流量檢測使用了質量流量計,分別檢測兩種生產原料進料流量,進行兩種原料的配比。由于生產原料的成分組成有很大變化,使用質量流量計數字通訊接口,可以檢測介質的瞬時流量、累計流量、溫度、密度等重要參數,檢測到生產原料組分的變化,可以及時調整生產配比、流量,確保生產產品質量。使用DCS的通訊接口與質量流量計的通訊接口實現數字通訊,可以實現上述要求。 數字通訊需要針對不同通訊協議和數據格式的數據進行數據轉換,需要針對不同廠家的質量流量計的地址編碼方式進行編程尋址。本文重點介紹了質量流量計的調試方法,IEEE754標準的應用及程序實現方法。

    2 數據轉換

        2.1   數據轉換

        由于DCS采集質量流量計的數據為浮點數,需要進行轉換為十進制數。

        浮點數轉換,按照IEEE754標準進行,IEEE754標準在表示浮點數時,每個浮點數均由三部分組成:符號位S,指數部分E和尾數部分M。

        例如49E48E68

        0 (1位) 100 1001 1(8 位)  110  0100  1000  1100  1101  0000 .1100 1001  0001  1100   1101 000(23位)

        對于單精度數據,大小為32-bit的浮點數,為1位符號位(s)、8位指數(E),23位尾數(X,共32位) ;第31bit為符號位,為0則表示正數,反之為負數,其讀數值用s表示;第30~23 bit為指數,其讀數值用E表示;第22~0 bit共23 bit作為尾數,視為二進制純小數,假定該小數的十進制值為M;則按照規定,該浮點數的值用十進制表示為:

        V=(-1)^S*(1+M) *2^(E-127)

        例如對于49E48E68來說,其第31 bit為0,即S = 0 ;第30~23 bit依次為100 1001 1,讀成十進制就是147,即E = 147;第22~0 bit依次為110 0100 1000 110 0110 1000,也就是二進制的純小數0.110 0100 1000 1110  0110 1000,其十進制形式為0.78559589385986328125,即
    M = 0.78559589385986328125。

        計算結果為:

        V =(-1)^S (1 +M) 2^(E - 127)    
         =1.78559589385986328125*2^(147-127) = 1872333

        2.2   應用程序

        以1號地址瞬時流量采集為例,給出部分計算程序段。
    質量流量計分2次傳輸2個16位整形數據,需要合并后形成一個浮點數。
    因為數據傳輸格式為1032,其合并后形式如下:

    地址

    +1

    +0

    +3

    +2

    內容

    MMMM  MMMM

    MMMM  MMMM

    SEEE  EEEE

    EMMM  MMMM


        其中,15位為符號位,14-7位為指數位,31-16位為尾數位;6-0位為尾數位。

        在程序中有如下語句:

        m=setint(0,temp1[0],0)+setint(0,temp1[1],1); //將存放在兩個寄存器中的數據組合成一個浮點型數據,

        需要將數據格式進行調整為:

    地址

    +3

    +2

    +1

    +0

    內容

    SEEE  EEEE

    EMMM  MMMM

    MMMM  MMMM

    MMMM  MMMM


        將2個16位寄存器的數據合并為32位數據,同時調整結構,調整后數據為:31位為符號位;30-23位為指數位;22-0位為尾數位。

        如果質量流量計傳輸的數據格式可以為3210,則可以免去這一步。
    程序使用SCX語言編制,此語言類似C語言,部分程序段如下。

    _TAG("return0")=readinputreg(1,5050,2,temp1);
    //讀1#流量
    //2個寄存器存放一個流量,5050為起始寄存器的地址
                 if(_TAG("return0")==0)
      { 
            _TAG("INT6")=temp1[0];  
      _TAG("INT7")=temp1[1]; 
            
    m=setint(0,temp1[0],0)+setint(0,temp1[1],1); //將存放在兩個寄存器中的數據組合成一個浮點型數據
          s=0.0;
          e=0.0;
          x=0.0;
     
         
            y=getbit(m,31);
           _TAG("A1")=y;    //求符號位:31位
               if (y==ON)
                 {
                  s=1.0;
                 
      }
      else
      {
        s=0.0;
       }
        for(j=30;j>22;j=j-1)  //求指數位:30位到23位
             {
       y=getbit(m,j);
       _TAG("A2")=y;
           if  (y==ON)
              {
                e=e+pow(2.0,itof(j-23));
       }
          }
         for(j=22;j>=0;j=j-1) //求尾數位:22位到0位
            {
        y=getbit(m,j);
           _TAG("A3")=y;
           if  (y==ON)
                    {
               x=x+pow(0.5,itof(23-j));
             }
         }
    _TAG("TTA1")=pow(-1.0,s)*(1.0+x)*pow(2.0,(e-127.0)); //進行運算

    3 質量流量計調試

        為保證通訊數據的正確,必須對現場儀表進行調試,

        3.1  儀表參數設置

        (1)瞬時流量單位:kg/h

        (2)累計流量單位: t

        (3)電流輸出量程:0~10000 kg/h

        3.2  通訊協議:   MODBUS RS485

        (1) 儀表位號:   TAG NAME:       FT104,FT101

        (2) 通訊地址:   FIELDBUS ADDRESS:  1(FT104),2(FT101)

        (3)波特率:     BAUDRATE:               9600

        (4)通訊格式:   TRANSMISSION:           RTU

        (5)奇偶校驗:   PARITY:                   EVEN

        (6)數據格式:   BYTE ORDER:             1-0-3-2

        (7)掃描時間:   DELAY TELEGRAM REPLY: 10ms

        (8)寫保護:     WRITE PROTECTION:       OFF

        (9)寄存器 1     SCAN LIST REGISTER1: 2007(瞬時流量)

        (10)寄存器2     SCAN LIST REGISTER2: 2610(累積)

        (11)寄存器3     SCAN LIST REGISTER3: 2017(溫度)

        (12)寄存器4     SCAN LIST REGISTER4: 2013(密度)

        3.3  上位機尋址地址

        (1)數據緩沖區:瞬時流量  5050----2007

        (2)數據緩沖區:累積值  5052----2610

        (3)數據緩沖區:溫度  5054----2017  

        (4)數據緩沖區:密度  5056----2013

        3.4  數據緩沖區設置

        在質量流量計中,設置數據緩沖區,為便于計算機尋址連續讀取數據,簡化程序,也可以直接從2007中讀取數據,此項設置依據程序編制需要而定。

        3.5  所有數據參數設置中,數據緩沖區地址或寄存器地址,數據格式是最重要的參數,必須參照說明書調試準確,否則不能通訊或數據錯誤。

    4 結論

        隨數字通訊技術不斷的發展,各種應用越來越普及,各種儀表配置數字通訊接口已逐漸成為標準配置,數據轉換是通訊技術的重要內容。在工業生產裝置中應用DCS系統或其他控制系統,不但要實現一般的控制和檢測,而且應當滿足各種特殊控制和檢測的要求,一般的運算在DCS中可以直接應用現有模塊進行即可,但對通訊技術一些特殊要求,應當進行認真分析,選擇正確的運算方法,才能行之有效。從而提高了裝置的自動化控制與檢測水平,充分使用儀表具備的各項功能,上述問題的解決方法具有普遍使用意義,可以供大家參考和借鑒。

    參考文獻:

        [1] Prof.W.Kahan. IEEE Standard 754 for Binary Floating Point Arithmetic.

        [2] 黃欽勝, 朱娟.計算機組成原理[M]. 科學出版社. 2000.

    熱點新聞

    推薦產品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細的需求:
    姓名:
    單位:
    電話:
    郵件: