DCS系统与外接设备通讯技术的应用--控制网



DCS系统与外接设备通讯技术的应用
企业:控制网 日期:2008-02-02
领域:DCS 点击数:1137



    袁汉福  (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.

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: