企业简介

北京安控科技股份有限公司(简称“安控科技”),是专业从事工业级RTU(远程控制终端)产品研发、生产、销售和系统集成业务的高新技术企业,拥有完善的RTU产品链,产品被广泛应用于石油天然气、煤层气、页岩气的开采、处理、管输、储配等各个环节以及环境在线监测、城市燃气、供水供热等管网监控领域,并已远销美国、加拿大、墨西哥、土耳其、哈萨克斯坦、土库曼斯坦、伊拉克、伊朗、韩国、泰国、马来西亚等国家。

  • 公司类型:系统集成商

联系方式
案例详细
标题水源井无线遥控系统
技术领域仪器仪表
行业
简介
内容



  ■  项目地点:内蒙古乌海市

  ■  项目名称:众兴煤炭井群控制系统

  ■  环境介绍:

    该矿区位于黄河边,地表沙漠化,地表温度夏季60℃,冬季-30℃,矿区以煤炭和炼焦为主,环境恶劣。为解决矿区饮用水问题,沿黄河打8口深水井,采用5台自耦启动柜和3台变频柜控制深水井泵。井口距中控室平均距离为5公里,井口与中控室之间有铁厂和洗煤厂等大型工厂。

  ■  项目要求:

    在中控室实现水源井泵的无线遥控、遥测、遥讯。能够显示水源井的压力、流量、电压、电流,能够遥控自耦柜启停;能够遥控变频器的频率,监视变频器的频率、输出电压、输出电流、输出功率等内部参数;可根据泵出口压力自动调节变频器频率,做到恒压供水;现场防盗。

  ■  现场条件:

    现场泵房无任何通风和保温措施,无人值守,只提供380V电源,无接地等保护措施。



现场条件图1(黄河及沙漠化环境)



 



现场条件图2(水源井与中控室之间的大型铁厂和洗煤厂)



 



现场水源井泵




  ■ 
遥控设备选型要求:

Ø 考虑到现场温度-30℃~60℃,必须采用宽温范围的RTU和数传电台。

Ø 由于现场有大电机,考虑到大电机及变频器的干扰,需采用抗干扰能力强的RTU和电台。

Ø 由于RTU需与变频器(日立L300P)通讯,采集变频器内部数据,RTU需带RS485通讯接口,并能够对接口编程,以将变频器内部数据采集到RTU中,并通过电台传到中控室。

Ø RTU至少要有2个通讯端口,一个与数传电台(RS232)通讯,一个与变频器(RS485)通讯。

Ø RTU 必须具有PID调节功能,能根据泵出口压力自动调节变频器的输出,能够做到恒压供水。

Ø RTU必须具有继电器干触点(触电容量为220VAC,5A)输出,以控制启动柜的启停。

  ■  RTU选型:

采用安控SUPER-E,参数如下:


一体化设计,结构合理,可直接应用于工业现场。

  ●  自带电源,可直接用220VAC供电,也可使用24VDC供电。
  ●  具有省电模式,可用太阳能电池供电,并具备电池充电和后备功能。
  ●  提供隔离的24V电源输出,可用于现场仪表供电。
  ●  自带显示和按键,用于现场操作。
  ●  可直接壁挂式安装,并采用多层接线端子,现场安装和接线非常方便。

配置合理,具有很强的现场适应能力。
 
  ●  具有AI、DI、AO、DO、PI等多种类型的输入、输出信号。

  ●  可检测液位、压力、流量、启停状态等不同类型的信号,各种信号数量可由客户选定。

  ●  可满足开关、报警、连续调节等不同类型的控制要求。
强大的软件功能,可以满足各种灵活控制、复杂运算的要求。

  ●  支持逻辑梯形图语言、C语言编程及屏幕组态功能。

  ●  支持实时多任务、PID算法和各种气体流量算法。

  ●  提供多种专用的检测、控制软件包。

具有RTU和PLC的双重优势,应用灵活。

  ●  无须编程,通过简单的屏幕组态和参数组态就可实现一般的检测及控制。
  ●  使用梯形图语言、C语言和屏幕组态可进行二次开发。
  ●  可脱离系统独立工作,也可联网工作。

灵活的通讯方式,标准的通讯协议,可方便地组成SCADA系统。

  ●  提供两路对外通讯接口。
  ●  可配接多种通讯设备,实现有线、无线通讯。
  ●  支持标准的MODBUS RTU/ASCII通讯协议,也可自定义通讯协议。

现场监控和远程监控兼备,为系统操作、诊断、维护和升级提供了方便。

  ●  通过现场显示、按键或远程计算机可对现场设备进行监控。
  ●  程序可现场下载或远程下载。
  ●  可实现现场或远程诊断、维护、升级。

工业标准设计,能够工作于各种恶劣环境。

  ●  内部器件均选用优秀的工业级产品。
  ●  使用温度可达-40℃~70℃,存储温度达-50℃~80℃。
  ●  不需要特殊的加热器或冷却装置。

充分的可靠性设计,严格的质量检验,为用户提供了可靠的保证。

  ●  电源、信号入出口均有保护措施,并与主控电路隔离。
  ●  具有看门狗及数据掉电保护功能。
  ●  产品的研制、生产、检验严格按照ISO9001质量体系标准进行。


  ■  数传电台选型:
采用FriendCom公司RTU专用数传电台FC208,内置MODEM技术参数如下:

  ●  工业产品标准设计。高可靠性,高稳定性。
  ●  耐4KV群脉冲,8KV静电,抗恶劣电磁环境。
  ●  环境温度:-40℃~+70℃,保持工作。
  ●  内置硬件和软件看门狗,克服CPU死机现象。
  ●  工作电压范围宽,低功耗。
  ●  多重安全保护措施,大电流,过压,反接性保护。
  ●  具有内置MODEM接口,预留安装位置。
  ●  可外置MODEM,接口连接方便。
  ●  带CTCSS编码。
  ●  LED信道显示,直观耐用。
  ●  64个信道,设置使用方便。
  ●  综合指标

频率范围:223~235MHz

信道间隔:25KHz

调制方式:FM

信道数:  64个

音频调制范围:300~3400Hz

CTCSS选择:38个

外接扬声器:2W / 8Ω

天线阻抗:50Ω

工作电压:典型值13.8V,6~15V可保证工作

相对湿度:95% RH 无冷凝

环境温度:-40℃~+70℃

  ●  接收机指标

灵敏度:≤0.25μV (12 dB SINAD )

第一中频:45.1MHz

第二中频:455KHz

互调抑制比:≥75 dB

邻道选择性:≥70 dB

音频失真:≤3%

FSK输出幅度:0~450mV

AF输出幅度:0~5V

  ●  发射机指标

频率稳定度:±2.5ppm

最大频偏:≤±5KHz

邻道抑制比:≥70 dB

发射机启动时间:≤50ms

音频失真:≤3%

射频输出功率:5W/10W(软件设置)

  ●  电源

直流电压:6~15V(典型值13.8V)

接收机守候电流:≤50mA(省电状态)

整机工作电流:≤2A(13.8V 10W时)
              ≤1.5A(13.8V 5W时)

  ■  RTU与日立变频器的接口驱动开发

    SUPERE提供了C语言编程环境,采用C语言对RTU的com1口(选为485接口)进行编程,通过该接口采集变频器内部数据(频率、电压、电流、功率、状态等)。

    日立变频器通讯参数缺省为:波特率:4800,7位,无校验,1,地址:1
程序部分清单如下:
void SetCom(void);
void mywrite(unsigned int Port,unsigned int value);
unsigned int myread(unsigned int Port);
 void signal(unsigned character,unsigned error);
 unsigned char songbuffer[19],recevbuffer[120];
 unsigned int shuzu[16];
 int kkk=0;
 int k=0;
 int path8=1;
 int flag1=0;
 int flag2=0;
 int flag3=0;
 int flag4=0;
 int kk=0;
/*************************************************************************

*************************************************************************/
void main(void)
{       
 
 int i,j,m,number;  /*number为尝试发送次数*/
        int history_status;
 SetCom();number=0;history_status=0;
 
 install_handler(com1,signal);
    /*****************清接收区******************************************/
  
         for(i=0;i<120;i++)     
           { 
   recevbuffer[i]='\0';
           }

 path8=1;

 while(TRUE)
 {   
/*****************清接收区用来判断是否读数结束****************************/
 if (path8==1)  { 
             for(i=0;i<=120;i++)     
             { 
     recevbuffer[i]='\0';
             }
             for(i=0;i<=19;i++)     
             { 
     songbuffer[i]='\0';
             }
                                  release_processor();;
    flag1=0;
    flag2=0;
    flag3=0;
    flag4=0;
                                path8=2;
                        }
 /*************************清接收区**********************************/
 /*********特别值得注意interval每运行一次就重新开始计数**************/
         if (path8==2)  {      
         
             songbuffer[0]=0x02;songbuffer[1]=0x30;songbuffer[2]=0x31;songbuffer[3]=0x30;
        songbuffer[4]=0x33;songbuffer[5]=0x30;songbuffer[6]=0x32;songbuffer[7]=0x0D;
       
               release_processor();;

        fputs(songbuffer,com1);
        release_processor();;
                         path8=3;
        }

/******************** 存储到40200起始30字节内 **********************/
         if (path8==3)
           {
     if(flag2==0)
              {
    interval(6,1);
          settimer(6,6);
        flag2=1;
        }

           while(timer(6)>0)
     {
     release_processor();
     }

            if(timer(6)==0)             /*和下面的if顺序很关键*/
             {
     release_processor();;
      kkk=0;
     for (m=0;m<12;m++)
      {
      mywrite(41000+m,0);   
      }
                                 path8=5;
     }

            if(recevbuffer[109]==0x0D)
             {
     release_processor();;
      kkk=0;
                                 path8=4;
     }
    }

/******************** 转换ASCII成为整数存数 **********************/
 if (path8==4)
  {for (m=0;m<12;m++)
   {
   shuzu[m]=(recevbuffer[6+8*m]-48)*10000+(recevbuffer[7+8*m]-48)*1000+(recevbuffer[8+8*m]-48)*100+(recevbuffer[9+8*m]-48)*10+recevbuffer[10+8*m]-48; 
   mywrite(41000+m,shuzu[m]);   
   }
                 path8=5;   
  }
/******************** 转换ASCII成为整数存数 **********************/
 if (path8==5)
          {   for(i=0;i<=120;i++)     
             { 
     recevbuffer[i]='\0';
             }
             for(i=0;i<=19;i++)     
             { 
     songbuffer[i]='\0';
             }
                                  release_processor();; 
                                  path8=6;
   }

/******************** 处理命令语句 **********************/
         if (path8==6)  {      
         
             songbuffer[0]=0x02;songbuffer[1]=0x30;songbuffer[2]=0x31;songbuffer[3]=0x30;
        songbuffer[4]=0x34;songbuffer[5]=0x30;songbuffer[6]=0x35;songbuffer[7]=0x0D;
       
               release_processor();;

        fputs(songbuffer,com1);
        release_processor();;

                         path8=7;
    }
/******************** 存储到40200起始30字节内 **********************/
         if (path8==7)
           {
     if(flag4==0)
              {
    interval(5,1);
          settimer(5,6);
        flag4=1;
        }

           while(timer(5)>0)
     {
     release_processor();
     }

            if(timer(5)==0)             /*和下面的if顺序很关键*/
             {
             for(i=3;i<=10;i++)     
              { 
      mywrite(41197+i,100);
              }
     release_processor();;
      kkk=0;
                                 path8=1;
     }

            if(recevbuffer[13]==0x0D)
             {
             for(i=3;i<=10;i++)     
              { 
      mywrite(41197+i,recevbuffer[i]-48);
              }
     release_processor();;
      kkk=0;
                                 path8=1;
     }
    }

/******************************程序结束****************************/
 }/*while(true) end*/
}/*main end*/
/******************************设置串行口****************************/
void SetCom(void)
{
  struct pconfig   serial_setting;
 
  get_port(com1,&serial_setting);
  serial_setting.baud     =BAUD4800;
  serial_setting.duplex   =HALF;
  serial_setting.parity   =NONE;
  serial_setting.data_bits=DATA7;
  serial_setting.stop_bits=STOP1;
  request_resource(IO_SYSTEM);
  set_port(com1,&serial_setting);

  release_resource(IO_SYSTEM);

 

void signal(unsigned character,unsigned error)
{unsigned int input ;
if(error==0)
{
 input=fgetc(com1);
   recevbuffer[kkk]=input;
 kkk++;  }
}


void mywrite(unsigned int Port,unsigned int value)
{
 request_resource(IO_SYSTEM);
 setdbase(MODBUS,Port,value);
 release_resource(IO_SYSTEM);
}

unsigned int myread(unsigned int Port)
{  int kk;
 request_resource(IO_SYSTEM);
 kk=dbase(MODBUS,Port);
 release_resource(IO_SYSTEM);
 return kk;
}


  ■  RTU梯形图PID编程:

    采用E-LADDER编程,实现对设备的控制及PID调节,PID程序梯形图如下:

 

  ■  系统构成框图:


    采用安控SUPERE-RTU、DELL工作站组成的水源井无线遥控系统,性能可靠。整个系统简单明了,经现场调试顺利通讯良好。以下是电台和RTU之间的通讯参数(com2):
波特率:9600
数据位:8位
校验:无
停止位:1位

RTU和日立变频器的485通讯参数(com1):
波特率:4800
数据位:7位
校验:无
停止位:1位

  ■  上位组态软件
能实现以下功能:
Ø 监视各井泵状态
Ø 控制自耦柜和变频器启停
Ø 历史曲线和实时曲线
Ø 报表功能
Ø 防盗系统生光报警
Ø 变频器PID调节,恒压供水
Ø 自动计算单台泵的电耗
Ø 流量累积功能



上位机主画面



 



变频器PID调节画面


 

 

  ■  现场安装图解:



 定向天线安装图

  



 全向天线安装图


 



泵房外观图



 



 RTU机柜接线



 



操作站施工过程


 




 变频柜内部图