您的位置:控制工程论坛网论坛 » 过程控制系统 » 多路温度信号采集系统的应用

bubli

bubli   |   当前状态:在线

总积分:817  2024年可用积分:0

注册时间: 2008-06-22

最后登录时间: 2015-05-25

空间 发短消息加为好友

多路温度信号采集系统的应用

bubli  发表于 2008/12/19 11:45:11      1634 查看 1 回复  [上一主题]  [下一主题]

手机阅读

1、引言

  现场总线技术自70年代诞生至今,由于它在减少系统线缆,简化系统安装、维护和管理, 降低系统的投资和运行成本,增强系统性能等方面的优越性,引起人们的广泛注意,得到大 范围的推广,导致了自动控制领域的一场革命。  现场总线的功能是:①经济、安全、可靠地传递信息;②正确使用所传信息;③及时处理所传信息。经济性要求现场总线在传递信息的同时,解决现场装置的供电问题,并要求传输介质较廉价。安全性要求现场总线解决防爆问题。可靠性要求现场总线解决环境适应性问题,包括电磁环境适应性(传输时不要干扰别人,也不要被别人干扰)、气候环境适应性(要耐温、防水、防尘)、机械环境适应性(要耐冲击、耐振动)。

  2007年蓝星石化公司天津石油化工厂重油催化装置进行设备改造,对接近300点的温度指示信号采用多路温度转换器(MTL800)进行采集,转换成数字通讯信号传给DCS系统,依据现场温度检测点的分布,在装置区设置了10个温度采集箱,所有的温度信号通过补偿导线连接到采集箱,从采集箱通过通讯电缆连接到主控室的DCS系统。上述方案比较直接从现场使用补偿导线连接到主控室的DCS中的常规施工方法要节省1/3的施工时间和1/2的费用,其中可以节省大量的DCS的过程通道板卡和安全栅,节省大量的补偿导线和辅料及其人工费。系统投用后,达到设计要求。

  2、系统结构

  多路温度转换器的系统组成由信号变送单元和接收单元组成,热电偶的毫伏信号(或其它类型温度信号)进入变送单元后转换为数字信号,变送单元的数字信号通经过安全栅进入到接收单元,现场变送单元与安全栅构成本安回路,从而使得变送单元可以直接安装在危险区(0区、1区和2区)。多路温度转换器的每个接收单元可以带2个变送单元,变送单元安装在现场的采集箱内, 每个变送单元最多可以采集16路温度信号,其供电方式为回路供电,为确保系统可靠性,变送单元与接收单元之间的通讯,以及接收单元同DCS的通讯都采用冗余配制,当发生故障时, 数据通讯系统能够无扰动地自动切换,并产生系统诊断报警,在切换时保证数据完整,多路温度采集系统同DCS的通讯协议为 MODBUS-RTU.系统结构参见附图一<多路温度采集系统结构图>

附图一<多路温度采集系统结构图>

  3、信号变送单元和接收单元设置

  3.1 变送单元地址的设置

  每个接收单元838B-MBF可以和两个变送单元831B连接,因此必须对这两个831的地址和信号输入类型进行定义。开关设置的方法是:打开831B的上盖,找到两个开关,SW100和SW101。SW100是用于定义地址,如01或02;SW101适用于定义输入类型的,如热电阻或热电偶。831B在初始状态是:地址为01,输入类型为热电偶。见附图二<变送单元地址开关图)

附图二<变送单元地址开关图)

  3.2  接收单元地址的设置

  3.2.1定义和上位机通讯的地址参数。

  打开838的上盖,在838上一共有4个状态开关。见表一<转换单元地址开关状态表>SW101用于设置838的MODBUS 地址,如当地址是1时,SW101 的设置状态如下:

见附表一<转换单元地址开关状态表>

         1        2    3       4    5         6       7      8

  SW101  ON  OFF  OFF  OFF  OFF  OFF  OFF  OFF

表一 <转换单元地址开关状态表>

3.2.2定义和上位机通讯的通讯参数

  SW301 是由于设置通讯状态的,见附表二 <转换单元通讯参数状态表>

  如果通讯为:波特率9600,起始位1,停止为1,奇偶校验为none,SW301的设置状态如下:
   
         1        2    3      4    5         6      7        8

  SW301  ON  OFF   ON  OFF  OFF  OFF  OFF  OFF

附表二 <转换单元通讯参数状态表>

  3.3用PC机上的RS232接口同838进行通讯

  上述步骤完成后,在与DCS连接前,需要进行简单组态,首先将838上的MODE和COM端(4和5)用线短接后,将838的24VDC 断电后再送电,这样可以触发接受单元的组态通讯口(RS232接口),在PC 机与接收单元建立通讯后,利用专用组态软件对现场输入信号类型、变送单元数量、开路报警状态等进行组态。当组态完成后,将短接线拆掉并重新对838进行电源开关复位,这样转换单元838才能同DCS进行通讯。

  通过上述步骤,可以完成对变送单元和转换单元的组态设置.

  3.4 接收单元同DCS的通讯参数设置

  3.4.1参数设置:

  波特率:9600

  数据位:8

  停止位:1

  奇偶校验:非奇非偶校验 (NONE)

  节点地址:1——3、4——6、7——9

  热点偶类型:K、E

  3.4.2 起始地址

  每个838传送的地址从30015开始,每个通道的地址详见附表三<接收单元通道地址分配表>。现场来的温度值已由838扩大了10倍,因此DCS在收到传送的数据后需要除10进行还原。见附表三<接收单元通道地址分配表>

附表三<接收单元通道地址分配表>

1楼 0 0 回复
  • bubli

    bubli   |   当前状态:在线

    总积分:817  2024年可用积分:0

    注册时间: 2008-06-22

    最后登录时间: 2015-05-25

    空间 发短消息加为好友

    bubli   发表于 2008/12/19 11:45:11

      整个系统共有9个接收单元,每3个接收单元为一组,每组中的3个接收单元的通讯接口进行并联后,接入DCS系统,DCS系统中安装3块采集卡,分别是1、2、3#模块,DCS中的每块采集卡采集3个接收单元的数据,见附图三<接收单元与DCS连接原理图)。DCS采集卡可带不止3个接收单元,要根据生产装置数据刷新时间要求和DCS系统扫描时间而定。



    附图三《接收单元与DCS连接原理图》


      程序采用SCX语言编制,此语言类似C语言,主要程序如下:


      int phase,error;


      main()


      {
     
      long j;
     
      int i, a[32];
     
      float  f;
     
      sfloat sf,te[32];
     
      setcomm(9600,0);  //波特率


      setdelaytime(250);//设置延时等待时间, 当等待时间已到,却未收完返回数据,这条通讯命令就会退出等返回-1.


     // 1#模块读取程序
      
      if (phase==0)   //设置读取周期
      
      {  


      TAG("RETURN1")=readinputreg(1,14,32,a); //读温度,1个寄存器存放1个温度,30014为起始寄存器的地址, 读1号地址的智能设备中,14号输入开始的32个输入的状态,其状态值存放在事先定义的sfloat数组中.
       
      setdelaytime(250);
       
      if(_TAG("RETURN1")==0 )   //通讯成功
      
      {
      
      for(i = 0;i < 32;i= i+1)      //读取模块中的32个寄存器
       
      {
       
      f = itof(a[i]);
       
      f=f*0.1;                 //缩小10倍,还原被接收单元放大的数据.
       
      f = f * 0.001;           // 实际温度量程(0~1000℃)
       
      te[i] = ftosf(f);        // 温度用sfloat位号组态


      _TAG("TI-105-01")[i]=te[i]; //将模块寄存器中数据依次存放于组态位号中,组态位号次序由自定义变量序号决定.
       
      }
      
      }
     
      }


      if (phase==1) //为防止数据丢失,连续读取第2个周期,与第一周期读取设置相同。
      
      {  
       
      _TAG("RETURN1")=readinputreg(1,14,32,a);
       
      setdelaytime(250);
      
      if(_TAG("RETURN1")==0 )
      
      {
      
      for(i = 0;i < 32;i= i+1)
       
      {
       
      f = itof(a[i]);
       
      f=f*0.1;                //缩小10倍,还原被接收单元放大的数据.
       
      f = f * 0.001;         // 实际温度量程(0~300℃)
       
      te[i] = ftosf(f);
       
      _TAG("TI-105-01")[i]=te[i];
       
      }
      
      }
     
      }
     
      //2#模块读取程序,功能同1#模块
        
      .
         
      .
         
      .


      //3#模块读取程序,功能同1#模块
     
      . 
         
      .
     
      .
     
      phase=phase+1;//主控卡运行周期+1,读取周期+1
     
      if  (phase<0 OR phase>5)//限定读取周期,每2个周期读取1个模块,读取完3#模块后周期清零重新从1#模块开始读取,保证数据的刷新。


       {
      
      phase=0;
     
      }
     
      }          


      5、结论


      多路温度转换器的应用,核心技术是解决与DCS的通讯问题.所以采用标准的通讯协议(例如:MODBUS-RTU协议)可以实现与各厂家的DCS系统进行通讯.每家的产品都具有不同的技术特点,其设置方法和调试要求也不尽相同,要针对通讯技术的要求,选择正确的运算方法,进行程序编制.但采用一个多测量点、宽量程的智能温度测量应用系统,其应当结构简单、价格便宜、量程宽、有较高的可靠性、安全性及实用性. 上述问题的解决方法具有普遍使用意义,可以供大家参考和借鉴。

    2楼 回复本楼

    引用 bubli 2008/12/19 11:45:11 发表于2楼的内容

总共 , 当前 /