CN101726335A - 一种水流量远程监测装置 - Google Patents

一种水流量远程监测装置 Download PDF

Info

Publication number
CN101726335A
CN101726335A CN200910175338A CN200910175338A CN101726335A CN 101726335 A CN101726335 A CN 101726335A CN 200910175338 A CN200910175338 A CN 200910175338A CN 200910175338 A CN200910175338 A CN 200910175338A CN 101726335 A CN101726335 A CN 101726335A
Authority
CN
China
Prior art keywords
zhan
dian
string
long
num
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910175338A
Other languages
English (en)
Other versions
CN101726335B (zh
Inventor
晋华
赵志怀
王贵强
曹小虎
李强
张海瑞
梁睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiyuan University of Technology
Original Assignee
Taiyuan University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taiyuan University of Technology filed Critical Taiyuan University of Technology
Priority to CN200910175338XA priority Critical patent/CN101726335B/zh
Publication of CN101726335A publication Critical patent/CN101726335A/zh
Application granted granted Critical
Publication of CN101726335B publication Critical patent/CN101726335B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Arrangements For Transmission Of Measured Signals (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

本发明涉及一种水流量远程监测装置,主要由主控计算机控制,设立多个终端机箱分控制,由GPRS无线通讯发射传输水流量信息,实现水流量多终端、远距离监测、在终端机箱上设置双屏蔽控制电路、超声波流量计、水流量传感器、计算卡插口、声控报警、液晶显示、操纵键盘、交直流变压等,主控计算机采用计算机程序控制、计算处理,本装置设计先进合理,结构紧凑,安全稳定可靠,数据准确翔实,对分散的水资源流量实现了远程监测控制,填补了此类技术的空白,是十分理想的水流量远程监测装置,此装置也可用于石油、化工、供暖、食品等站点的远程监测控制。

Description

一种水流量远程监测装置
技术领域
本发明涉及一种水流量远程监测装置,属水资源水量监测与管理的技术领域。
背景技术
水是人类赖以生存的最重要的资源,中国是一个缺水的国家,中国的人均水资源量只有世界平均水平的四分之一,如何对水资源进行合理有效的规划、开发、利用、管理和保护,是十分重要的研究课题。
在我国陆地上有许多河流、湖泊、水库、蓄水池,这些地域的水提供工业用水、生活用水、农业灌溉用水、生态用水,在各个地域设立着许多供水工程、水资源监测站、水库分流泵站、灌溉泵站,由于这些站点分布地域较广,管理难度大,各分站有的相距较远,管理起来费时费力,准确率低,自动化程度低,给较大地域管理水、监测水、掌握水资源量、监测水流量带来很大困难。
对水资源的检测,传统的测流方式以流速仪法、浮标法、比降法等人工手段为主,但这些技术均不能实现在线实时测量、传输。
发明内容
发明目的
本发明的目的就是针对背景技术的不足,在各个水源分站设立监控终端,利用GPRS移动通讯,把水流量监测信息即时传输给水管理总站,采用水流量传感器、超声流量计、监测管理电路、主控计算机、计算机程序等技术,实现各分站与总站的即时远程水流量数据传输、分析,以大幅度提高水资源流量监测的速度和准确性。
技术方案
本发明主要结构由:主控计算机、键盘、打印机、GPRS接收天线、GPRS发射天线、水流量测量终端机箱、水流量传感器组成整体结构;
水流量测量终端机箱主要结构由:控制面板、液晶显示屏、指示灯、调控开关、操纵键盘、计算卡插口、报警器、GPRS发射天线、电源座、电缆接插口、水流量传感器接口、水流量传感器、超声波流量计、交直流变压器、温度传感器、湿度传感器、屏蔽箱、电路板、接线座组成;在终端机箱1的底部为底座14、前部为控制面板2、并由螺栓23固定;在控制面板2的上部为液晶显示屏13,在液晶显示屏13下部为指示灯3、调控开关4、操纵键盘5,在操纵键盘5的左下部为计算卡插口8,右下部为报警器6,在控制面板2的下部设有六个电缆接插口7;在终端机箱1的左侧上部设有水流量传感器接口9、10,通过屏蔽电缆21分别与水流量传感器11、12联接;在终端机箱1的右侧上部设有电源座22;在终端机箱1的左上部设有避雷针32、中间上部设有GPRS发射天线15;水流量传感器11、12安装于过水管道上;
在终端机箱1的内上部设有超声波流量计26、交直流变压器27,在中下部设有屏蔽箱24,左侧部设有温度传感器29、湿度传感器30、右侧部设有接线座28,之间由导线31联接;在屏蔽箱24内设有电路板25,在电路板25上设有控制传输电路;超声波流量计26接收水流量传感器9、10的水流量信息,经计算处理,把水流量信息传输给电路板25上的控制传输电路;交直流变压器27经电源座22与外接交流电源联接,变压后传输给电路板25上的控制电路及超声波流量计26;
终端机箱1上部的GPRS发射天线15发射无线通讯信号,远程传输至GPRS接收天线16,并把信号信息传输给主控计算机17,进行程序计算处理,并由键盘18、打印机19打印水流量数据。
所述的水流量远程监测装置,由1部主控计算机17、256个终端机箱1组成,各终端机箱1结构相同、设置相同、功能相同。
所述的终端机箱1的电路线板25,为双重屏蔽保护,外部为金属机箱壳体,内部由铜铝合金屏蔽箱24保护。
所述的电路板25,由微计算机控制操作电路IC1、振荡电路IC2、总线接口电路IC3、超声水流信息输入输出电路IC4、水流接插卡电路IC5、GPRS接插发射电路IC6、信息信号转换电路IC7、晶振和复位电路IC8、单片机保护排阻电路IC9、液晶显示电路IC10、报警喇叭控制电路IC11组成整体电路,各电路间由导线联接,Vcc端为电源端,GND端为接地端。
所述的水流量远程监测装置的主控计算机,用计算机程序进行计算及信息处理,其计算处理程序如下:
I、应用程序启动时:
ShowPicture(″后台日报处理″);
hidePicture(″后台日报处理″);
ShowPicture(″实时数据报表″);
hidePicture(″实时数据报表″);
string FileName1=InfoAppDir()+″日报\″+StrFromReal(\\本站点\$年,0,″f″)+″y″+StrFromReal(\\本站点\$月,0,″f″)+″m″+StrFromReal(\\本站点\$日,0,″f″)+″.rtl″;
ReportLoad(″后台日报处理″,FileName1);
SQLConnect(\\本站点\数据ID,″dsn=古交地下水数据库;uid=;pwd=″);
\\本站点\月报表专用=\\本站点\$月;
//程序运行初始泵的状态
\\本站点\BXZ01=0;
......
\\本站点\BXZ125=0;
\\本站点\BGZ01=1;
......
\\本站点\BGZ125=1;
II、应用程序运行时:
//瞬时流量合成
function1(\\本站点\FR001,\\本站点\FR001G,\\本站点\FR001D);
......
function1(\\本站点\FR125,\\本站点\FR125G,\\本站点\FR125D);
//累计流量合成
data2(\\本站点\FLJ001,\\本站点\FLG001G,\\本站点\FLJ001D);
......
data2(\\本站点\FLJ125,\\本站点\FLJ125G,\\本站点\FLJ125D);
//1号泵运行状态判别
if(\\本站点\FR001!=0&&\\本站点\FR001!=0.5&&\\本站点\VS1==1)通
讯正常,泵正常运行
   {\\本站点\BXZ01=1;
    \\本站点\BGZ01=0;}
if((\\本站点\FR001==0||\\本站点\FR001==0.5)&&\\本站点\VS1==1)通
讯正常,泵停止运行
    {\\本站点\BXZ01=0;
     \\本站点\BGZ01=0;}
if((\\本站点\FR001<0||\\本站点\FR001>1200)&&\\本站点\VS1==1)通讯
正常,泵故障
   {\\本站点\BXZ01=1;
    \\本站点\BGZ01=1;}
if(\\本站点\VS1==0)//通讯中断,泵停止运行
    {\\本站点\BXZ01=0;
     \\本站点\BGZ01=1;}
......
//125号泵运行状态判别
if(\\本站点\FR125!=0&&\\本站点\FR125!=0.5&&\\本站点\VS125==1)
通讯正常,泵正常运行
   {\\本站点\BXZ125=1;
    \\本站点\BGZ125=0;}
if((\\本站点\FR125==0||\\本站点\FR125==0.5)&&\\本站点\VS 125==1)
通讯正常,泵停止运行
    {\\本站点\BXZ125=0;
     \\本站点\BGZ125=0;}
if((\\本站点\FR125<0||\\本站点\FR125>1200)&&\\本站点\VS125==1)通
讯正常,泵故障
   {\\本站点\BXZ125=1;
    \\本站点\BGZ125=1;}
if(\\本站点\VS125==0)//通讯中断,泵停止运行
   {\\本站点\BXZ125=0;
     \\本站点\BGZ125=1;}
III、应用程序停止时:
closepicture(″后台日报处理″);
closepicture(″实时数据报表″);
SQLdisConnect(\\本站点\数据ID);
IV、自定义函数命令语言-瞬时流量合成函数:
function1(float DataFloat,long read1gaosjz,long read1disjz)
    {
        string add=″″;
        string read1=″″;
string read1gao=″″;
string read1di=″″;
string read1he=″″;
long gao1chang=0;
long di1chang=0;
long i1=0;
long i2=0;
long Num;
String DataStr;
long DataVal;
long SignFlag;
long SignVal;
long Exponent;
long ExpVal;
float Mantissa;
string read1fhw=″″;
string read1zsw=″″;
string read1ws=″″;
string gao1bu=″″;
string gao1rjz=″″;
string di1bu=″″;
string di1rjz=″″;
long i3=0;
string i03=″″;
//long read1gao1sjz;
//long read1disjz;
long read1zswsjz=0;
long read1wssjz=0;
read1gao=StrFromInt(read1gaosjz,2);
read1di=StrFromInt(read1disjz,2);
gao1chang=StrLen(read1gao);
di1chang=StrLen(read1di);
if(gao1chang!=16)
{i1=16-gao1chang;
 gao1bu=StrRight(″0000000000000000″,i1);
 gao1rjz=gao1bu+read1gao;}
else
{gao1rjz=read1gao;}
if(di1chang!=16)
{i2=16-di1chang;
 di1bu=StrRight(″0000000000000000″,i2);
 di1rjz=di1bu+read1di;}
else
{di1rjz=read1di;}
read1he=gao1rjz+di1rjz;
read1fhw=StrMid(read1he,1,1);
read1zsw=StrMid(read1he,2,8);
read1ws=StrMid(read1he,10,23);
Num=1;
SignFlag=StrToreal(read1fhw);
if(SignFlag==0)
{    Exponent=0;
     while(Num<=8)
        {   DataStr=Strmid(read1zsw,Num,1);
            DataVal=StrToreal(DataStr);
            ExpVal=8-Num;
          Exponent=Exponent+DataVal*pow(2,ExpVal);
          Num=Num+1;}
   if(read1zsw==″00000000″)
        { Exponent=-126;}
         if(read1zsw==″11111111″)
        { Exponent=0;}}
else
{while(Num<=8)
   {      DataStr=Strmid(read1zsw,Num,1);
          DataVal=StrToreal(DataStr);
          ExpVal=8-Num;
          Exponent=Exponent+DataVal*pow(2,ExpVal);
          Num=Num+1;}
   if(read1zsw==″11111111″)
        {  Exponent=0;}
 }
Mantissa=0;
Num=1;
while(Num<=23)
{     DataStr=Strmid(read1ws,Num,1);
      DataVal=StrToreal(DataStr);
      ExpVal=Num;
      Mantissa=Mantissa+DataVal*(1.0/pow(2,ExpVal));
      Num=Num+1;
}
if(read1zsw==″00000000″)
     {Exponent=126;
   DataFloat=pow(-1,SignVal)*(1.0/pow(2,Exponent))*Mantissa;}
      if(read1zsw==″11111111″)
           {DataFloat=0;}
      if(Exponent>=127)
      {Exponent=Exponent-127;
       DataFloat=pow(-1,SignVal)*pow(2,Exponent)*(Mantissa+1);}
       else{Exponent=127-Exponent;
       DataFloat=pow(-1,SignVal)*(1.0/pow(2,Exponent))*(Mantissa+1);}
       if(DataFloat==0.5)
         DataFloat=0;
       return;
  }
V、自定义函数命令语言-累计流量合成函数:
data2(long data,long rd2gaosjz,long rd2disjz)
{
        string rd2gaorjz=″″;
        string rd2dirjz=″″;
        long rd2gaochang=0;
        long rd2dichang=0;
        string rd2gaobu=″″;
        string rd2dibu=″″;
        string gao2rjz=″″;
        string di2rjz=″″;
        string rd2he=″″;
        string datastr=″″;
        rd2gaorjz=StrFromInt(rd2gaosjz,2);
        rd2dirjz=StrFromInt(rd2disjz,2);
        rd2gaochang=StrLen(rd2gaorjz);
        rd2dichang=StrLen(rd2dirjz);
long i1=0;
long i2=0;
long i3=0;
long num=1;
long dataval=0;
long expval=0;
data=0;
if(rd2gaochang!=16)
{i1=16-rd2gaochang;
 rd2gaobu=StrRight(″0000000000000000″,i1);
gao2rjz=rd2gaobu+rd2gaorjz;}
else
{gao2rj z=rd2gaorjz;}
if(rd2dichang!=16)
{i2=16-rd2dichang;
 rd2dibu=StrRight(″0000000000000000″,i2);
 di2rjz=rd2dibu+rd2dirjz;}
else
{di2rjz=rd2dirjz;}
rd2he=gao2rjz+di2rjz;
i3=StrLen(rd2he);
if(i3==32)
{while(num<=32)
{datastr=StrMid(rd2he,num,1);
 dataval=StrToReal(datastr);
 expval=32-num;
 data=data+dataval*Pow(2,expval);
 num=num+1;
          }}
        return;
}
VI、事件命令语言-\\本站点\$时==23消失时(每天结束时由后台日报向后台月报中插入日数据):
string reportname2=StrFromReal(\\本站点\$年,0,″f″)+StrFromReal(\\本站点\$月,0,″f″)+″.xls″;
string ReportMonth=StrFromReal(\\本站点\$年,0,″f″)+″年
″+StrFromReal(\\本站点\$月,0,″f″)+″月″;
string FileName;
FileName=InfoAppDir()+″月报\″+reportname2;
long return02=InfoFile(Filename,1,\\本站点\$分);
ShowPicture(″后台月报处理″);
HidePicture(″后台月报处理″);
//判断月报目录下是否已经有当月的报表文件了,如果没有则从报表目录下加载模板
if(return02==0)
{      FileName=InfoAppDir()+″报表\月报.xls″;
      ReportLoad(″后台月报处理″,FileName);
      FileName=InfoAppDir()+″月报\″+reportname2;
      ReportSetCellString(″后台月报处理″,3,7,ReportMonth);
      Reportsaveas(″后台月报处理″,FileName);}
//如果当月的月报文件还没有产生则调入月报.rtl文件并按规定格式保存报表文件
FileName=InfoAppDir()+″月报\″+StrFromReal(\\本站点\$年,0,″f″)+StrFromReal(\\本站点\$月,0,″f″)+″.xls″;
ReportLoad(″后台月报处理″,FileName);
long hang;
hang=$日+4;
string strday=StrFromReal(\\本站点\$年,0,″f″)+″-″+StrFromReal(\\本站点\$月,0,″f″)+″-″+StrFromReal(\\本站点\$日,0,″f″);
long Value;
//str=ReportGetCellString(″后台日报处理″,3,7);
ReportSetCellString(″后台月报处理″,hang,1,strday);
......
Value=ReportGetCellValue(″后台日报处理″,32,11);
ReportSetCellValue(″后台月报处理″,hang,11,Value);
//将日报表中的统计数据(累计值)输入到月报表中
Reportsaveas(″后台月报处理″,FileName);
ClosePicture(″后台月报处理″);
VII、事件命令语言-\\本站点\$时==23&&\\本站点\$分==59发生时(将一整天的日报表数据进行保存):
string FileName1=InfoAppDir()+″日报\″+StrFromReal(\\本站点\$年,0,″f″)+″y″+StrFromReal(\\本站点\$月,0,″f″)+″m″+StrFromReal(\\本站点\$日,0,″f″)+″.xls″;
string timestr=″24:00:00″;
ReportSetCellString(″后台日报处理″,29,1,timestr);
ReportSetCellValue(″后台日报处理″,29,2,\\本站点\FLJ101);
......
ReportSetCellValue(″后台日报处理″,29,11,\\本站点\FLJ110);
ReportSaveAs(″后台日报处理″,FileName1);
VIII、事件命令语言-\\本站点\$时==0&&\\本站点\$秒==20发生时(新一天日报的生成,并插入0点是的累计量):
string FileName=InfoAppDir()+″报表\日报.xls″;
ReportLoad(″后台日报处理″,FileName);
string FileName1=InfoAppDir()+″日报\″+StrFromReal(\\本站点\$年,0,″f″)+″y″+StrFromReal(\\本站点\$月,0,″f″)+″m″+StrFromReal(\\本站点\$日,0,″f″)+″.xls″;
string timestr=time(0,0,0);
ReportSetCellString(″后台日报处理″,5,1,timestr);
ReportSetCellValue(″后台日报处理″,5,2,\\本站点\FLJ101);
......
ReportSetCellValue(″后台日报处理″,5,11,\\本站点\FLJ110);
ReportSaveAs(″后台日报处理″,FileName 1);
有益效果
本发明与背景技术相比具有明显的先进性,它是根据水源站点多、较分散、距离远的实际情况,而设计的一种由主控计算机总控制、设立256个终端机箱分控制、由GPRS无线通讯发射传输水流量信息,实现水流多终端、远距离监测、在终端机箱上设置双屏蔽控制电路、超声波流量计、水流量传感器、计算卡插口、声控报警、液晶显示、操纵键盘、交直流变压等,主控计算机采用计算机程序控制、计算处理,本装置设计先进合理,结构紧凑,安全稳定可靠,数据准确翔实,对分散的水源流量实现了远程监测控制,填补了此类技术的空白,是十分理想的水流量远程监测装置,此装置也可用于石油、化工、供暖、食品等站点的远程监测控制。
附图说明
图1为水流量测量装置整体结构及布置图
图2为终端机箱内部结构图
图3为控制电路方框图
图4为控制电路原理图
图中所示,附图标记清单如下:
1、终端机箱,2、控制面板,3、指示灯,4、控制开关,5、操纵键盘,6、报警器,7、电缆接插口,8、计量卡插口,9、水流量传感器接口,10、水流量传感器接口,11、水流量传感器,12、水流量传感器,13、液晶显示屏,14、底座,15、GPRS发射天线,16、GPRS接收天线,17、主控计算机,18、键盘,19、打印机,20、导线,21、屏蔽电缆,22、电源座,23、螺栓,24、屏蔽箱,25、电路板,26、超声波流量计,27、交直流变压器,28、接线座,29、温度传感器,30、湿度传感器,31、导线,32、避雷针。
IC1、微计算机控制操作电路,IC2、振荡电路,IC3、总线接口电路,IC4、超声水流信息输入输出电路,IC5、水流接插卡电路,IC6、GPRS接插发射电路,IC7、信息信号转换电路,IC8、晶振和复位电路,IC9、单片机保护排阻电路,IC10、液晶显示电路,IC11、报警喇叭控制电路。
具体实施方式
以下结合附图对本发明做进一步说明:
图1、2所示,为整体结构图,各部位置、联接关系要正确,安装牢固。
主控计算机为一部、可控制256个终端机箱,也可视需要加减终端机箱数个,终端机箱可设在平地、房间,也可设在高坡、野外等。
主控计算机与终端机箱的距离不限,以GPRS通讯天线覆盖范围为准。
水流量传感器把得到的水流量信息传输给超声波流量计,经处理后传输给控制电路进行信息处理,然后通过GPRS天线发射至主控计算机。
水流量信息可由液晶显示屏显示。
操纵键盘可操作终端机箱并发射信息。
计算卡插口可插入水流量卡,可自行开启控制水流量。
声控报警可对水流量及终端箱故障发出警示。
终端机箱、屏蔽箱形成对控制电路板的双重屏蔽保护,防止雷电及野外环境对机箱的干扰,使运行正常。
图3、4所示,为终端机箱控制电路原理图,由分电路组成整体电路,各分电路联接关系要正确,布置要合理,联接安装要牢固。

Claims (5)

1.一种水流量远程监测装置,其特征在于:主要结构由:主控计算机、键盘、打印机、GPRS接收天线、GPRS发射天线、水流量测量终端机箱、水流量传感器组成整体结构;
水流量测量终端机箱主要结构由:控制面板、液晶显示屏、指示灯、调控开关、操纵键盘、计算卡插口、报警器、GPRS发射天线、电源座、电缆接插口、水流量传感器接口、水流量传感器、超声波流量计、交直流变压器、温度传感器、湿度传感器、屏蔽箱、电路板、接线座组成;在终端机箱(1)的底部为底座(14)、前部为控制面板(2)、并由螺栓(23)固定;在控制面板(2)的上部为液晶显示屏(13),在液晶显示屏(13)下部为指示灯(3)、调控开关(4)、操纵键盘(5),在操纵键盘(5)的左下部为计算卡插口(8),右下部为报警器(6),在控制面板(2)的下部设有六个电缆接插口(7);在终端机箱(1)的左侧上部设有水流量传感器接口(9、10),通过屏蔽电缆(21)分别与水流量传感器(11、12)联接;在终端机箱(1)的右侧上部设有电源座(22);在终端机箱(1)的左上部设有避雷针(32)、中间上部设有GPRS发射天线(15);水流量传感器(11、12)安装于过水管道上;
在终端机箱(1)的内上部设有超声波流量计(26)、交直流变压器(27),在中下部设有屏蔽箱(24),左侧部设有温度传感器(29)、湿度传感器(30)、右侧部设有接线座(28),之间由导线(31)联接;在屏蔽箱(24)内设有电路板(25),在电路板(25)上设有控制传输电路;超声波流量计(26)接收水流量传感器(9、10)的水流量信息,经计算处理,把水流量信息传输给电路板(25)上的控制传输电路;交直流变压器(27)经电源座(22)与外接交流电源联接,变压后传输给电路板(25)上的控制电路及超声波流量计(26);
终端机箱(1)上部的GPRS发射天线(15)发射无线通讯信号,远程传输至GPRS接收天线(16),并把信号信息传输给主控计算机(17),进行程序计算处理,并由键盘(18)、打印机(19)打印水流量数据。
2.根据权利要求1所述的一种水流量远程监测装置,其特征在于:所述的水流量远程监测装置,由1部主控计算机(17)、256个终端机箱(1)组成,各终端机箱(1)结构相同、设置相同、功能相同。
3.根据权利要求1所述的一种水流量远程监测装置,其特征在于:所述的终端机箱(1)的电路线板(25),为双重屏蔽保护,外部为金属机箱壳体,内部由铜铝合金屏蔽箱(24)保护。
4.根据权利要求1所述的一种水流量远程监测装置,其特征在于:所述的电路板(25),由微计算机控制操作电路(IC1)、振荡电路(IC2)、总线接口电路(IC3)、超声水流信息输入输出电路(IC4)、水流接插卡电路(IC5)、GPRS接插发射电路(IC6)、信息信号转换电路(IC7)、晶振和复位电路(IC8)、单片机保护排阻电路(IC9)、液晶显示电路(IC10)、报警喇叭控制电路(IC11)组成整体电路,各电路间由导线联接,Vcc端为电源端,GND端为接地端。
5.根据权利要求1所述的一种水流量远程监测装置,其特征在于:所述的水流量远程监测装置的主控计算机,用计算机程序进行计算及信息处理,其计算处理程序如下:
I、应用程序启动时:
    ShowPicture(″后台日报处理″);
    hidePicture(″后台日报处理″);
    ShowPicture(″实时数据报表″);
    hidePicture(″实时数据报表″);
    string FileName1=InfoAppDir()+″日报\″+StrFromReal(\\本站点\$年,0,
″f″)+″y″+StrFromReal(\\本站点\$月,0,″f″)+″m″+StrFromReal(\\本站点\$
日,0,″f″)+″.rtl″;
    ReportLoad(″后台日报处理″,FileName1);
    SQLConnect(\\本站点\数据ID,″dsn=古交地下水数据库;uid=;pwd=″);
    \\本站点\月报表专用=\\本站点\$月;
//程序运行初始泵的状态
\\本站点\BXZ01=0;
……
\\本站点\BXZ125=0;
\\本站点\BGZ01=1;
……
\\本站点\BGZ125=1;
II、应用程序运行时:
//瞬时流量合成
function1(\\本站点\FR001,\\本站点\FR001G,\\本站点\FR001D);
……
function1(\\本站点\FR125,\\本站点\FR125G,\\本站点\FR125D);
//累计流量合成
data2(\\本站点\FLJ001,\\本站点\FLG001G,\\本站点\FLJ001D);
……
data2(\\本站点\FLJ125,\\本站点\FLJ125G,\\本站点\FLJ125D);
//1号泵运行状态判别
if(\\本站点\FR001!=0&&\\本站点\FR001!=0.5&&\\本站点\VS1==1)通
讯正常,泵正常运行
    {\\本站点\BXZ01=1;
    \\本站点\BGZ01=0;}
if((\\本站点\FR001==0||\\本站点\FR001==0.5)&&\\本站点\VS1==1)通
讯正常,泵停止运行
    {\\本站点\BXZ01=0;
    \\本站点\BGZ01=0;}
if((\\本站点\FR001<0||\\本站点\FR001>1200)&&\\本站点\VS1==1)通讯
正常,泵故障
    {\\本站点\BXZ01=1;
    \\本站点\3GZ01=1;}
if(\\本站点\VS1==0)//通讯中断,泵停止运行
    {\\本站点\BXZ01=0;
    \\本站点\BGZ01=1;}
    ……
    //125号泵运行状态判别
if(\\本站点\FR125!=0&&\\本站点\FR125!=0.5&&\\本站点\VS125==1)
通讯正常,泵正常运行
    {\\本站点\BXZ125=1;
    \\本站点\BGZ125=0;}
if((\\本站点\FR125==0||\\本站点\FR125==0.5)&&\\本站点\VS125==1)
通讯正常,泵停止运行
    {\\本站点\BXZ125=0;
    \\本站点\BGZ125=0;}
if((\\本站点\FR125<0||\\本站点\FR125>1200)&&\\本站点\VS125==1)通
讯正常,泵故障
    {\\本站点\BXZ125=1;
    \\本站点\BGZ125=1;}
if(\\本站点\VS125==0)//通讯中断,泵停止运行
    {\\本站点\BXZ125=0;
    \\本站点\BGZ125=1;}
III、应用程序停止时:
closepicture(″后台日报处理″);
closepicture(″实时数据报表″);
SQLdisConnect(\\本站点\数据ID);
IV、自定义函数命令语言—瞬时流量合成函数:
function1(float DataFloat,long read1gaosjz,long read1disjz)
{
    string add=″″;
    string read1=″″;
    string read1gao=″″;
    string read1di=″″;
    string read1he=″″;
    long gao1chang=0;
    long di1chang=0;
    long i1=0;
    long i2=0;
    long Num;
    String DataStr;
    long DataVal;
    long SignFlag;
    long SignVal;
    long Exponent;
    long ExpVal;
    float Mantissa;
    string read1fhw=″″;
    string read1zsw=″″;
    string read1ws=″″;
    string gao1bu=″″;
    string gao1rjz=″″;
    string di1bu=″″;
    string di1rjz=″″;
    long i3=0;
    string i03=″″;
    //long read1gao1sjz;
//long read1disjz;
long read1zswsjz=0;
long read1wssjz=0;
read1gao=StrFromInt(read 1gaosjz,2);
read1di=StrFromInt(read 1disjz,2);
gao1chang=StrLen(read1gao);
di1chang=StrLen(read1di);
if(gao1chang!=16)
{i1=16-gao1chang;
 gao1bu=StrRight(″0000000000000000″,i1);
 gao1rjz=gao1bu+read1gao;}
else
{gao1rjz=read1gao;}
if(di1chang!=16)
{i2=16-di1chang;
 di1bu=StrRight(″0000000000000000″,i2);
 di1rjz=di1bu+read1di;}
else
{di1rjz=read1di;}
read1he=gao1rjz+di1rjz;
read1fhw=StrMid(read1he,1,1);
read1zsw=StrMid(read1he,2,8);
read1ws=StrMid(read1he,10,23);
Num=1;
SignFlag=StrToreal(read1fhw);
if(SignFlag==0)
{    Exponent=0;
     while(Num<=8)
    {      DataStr=Strmid(read 1zsw,Num,1);
           DataVal=StrToreal(DataStr);
           ExpVal=8-Num;
           Exponent=Exponent+DataVal*pow(2,ExpVal);
           Num=Num+1;}
    if(read1zsw==″00000000″)
        {Exponent=-126;}
        if(read1zsw==″11111111″)
        {Exponent=0;}}
else
{while(Num<=8)
    {      DataStr=Strmid(read1zsw,Num,1);
           DataVal=StrToreal(DataStr);
           ExpVal=8-Num;
           Exponent=Exponent+DataVal*pow(2,ExpVal);
           Num=Num+1;}
    if(read1zsw==″11111111″)
         {  Exponent=0;}
}
Mantissa=0;
Num=1;
while(Num<=23)
{   DataStr=Strmid(read1ws,Num,1);
    DataVal=StrToreal(DataStr);
    ExpVal=Num;
    Mantissa=Mantissa+DataVal*(1.0/pow(2,ExpVal));
    Num=Num+1;
}
    if(read1zsw==″00000000″)
        {Exponent=126;
      DataFloat=pow(-1,SignVal)*(1.0/pow(2,Exponent))*Mantissa;}
    if(read1zsw==″11111111″)
        {DataFloat=0;}
    if(Exponent>=127)
    {Exponent=Exponent-127;
    DataFloat=pow(-1,SignVal)*pow(2,Exponent)*(Mantissa+1);}
    else{Exponent=127-Exponent;
    DataFloat=pow(-1,SignVal)*(1.0/pow(2,Exponent))*(Mantissa+1);}
    if(DataFloat==0.5)
     DataFloat=0;
    return;
}
V、自定义函数命令语言—累计流量合成函数:
data2(long data,long rd2gaosjz,long rd2disjz)
{
       string rd2gaorjz=″″;
       string rd2dirjz=″″;
       long rd2gaochang=0;
       long rd2dichang=0;
       string rd2gaobu=″″;
       string rd2dibu=″″;
       string gao2rjz=″″;
       string di2rjz=″″;
       string rd2he=″″;
       string datastr=″″;
       rd2gaorjz=StrFromInt(rd2gaosjz,2);
rd2dirjz=StrFromInt(rd2disjz,2);
rd2gaochang=StrLen(rd2gaorjz);
rd2dichang=StrLen(rd2dirjz);
long i1=0;
long i2=0;
long i3=0;
long num=1;
long dataval=0;
long expval=0;
data=0;
if(rd2gaochang!=16)
{i1=16-rd2gaochang;
 rd2gaobu=StrRight(″0000000000000000″,i1);
gao2rjz=rd2gaobu+rd2gaorjz;}
else
{gao2rjz=rd2gaorjz;}
if(rd2dichang!=16)
{i2=16-rd2dichang;
  rd2dibu=StrRight(″0000000000000000″,i2);
  di2rjz=rd2dibu+rd2dirjz;}
else
{di2rjz=rd2dirjz;}
rd2he=gao2rjz+di2rjz;
i3=StrLen(rd2he);
if(i3==32)
{while(num<=32)
{datastr=StrMid(rd2he,num,1);
 dataval=StrToReal(datastr);
      expval=32-num;
      data=data+dataval*Pow(2,expval);
      num=num+1;
      }}
    return;
}
VI、事件命令语言-\\本站点\$时==23消失时(每天结束时由后台日报向后台月报中插入日数据):
    string reportname2=StrFromReal(\\本站点\$年,0,″f″)+StrFromReal(\\本站
点\$月,0,″f″)+″.xls″;
    string ReportMonth=StrFromReal(\\本站点\$年,0,″f″)+″年
″+StrFromReal(\\本站点\$月,0,″f″)+″月″;
    string FileName;
    FileName=InfoAppDir()+″月报\″+reportname2;
    long return02=InfoFile(Filename,1,\\本站点\$分);
    ShowPicture(″后台月报处理″);
    HidePicture(″后台月报处理″);
    //判断月报目录下是否已经有当月的报表文件了,如果没有则从报表目录
下加载模板
    if(return02==0)
    {     FileName=InfoAppDir()+″报表\月报.xls″;
         ReportLoad(″后台月报处理″,FileName);
         FileName=InfoAppDir()+″月报\″+reportname2;
         ReportSetCellString(″后台月报处理″,3,7,ReportMonth);
         Reportsaveas(″后台月报处理″,FileName);}
    //如果当月的月报文件还没有产生则调入月报.rtl文件并按规定格式保存
报表文件
    FileName=InfoAppDir()+″月报\″+StrFromReal(\\本站点\$年,0,
″f″)+StrFromReal(\\本站点\$月,0,″f″)+″.xls″;
    ReportLoad(″后台月报处理″,FileName);
    long hang;
    hang=$日+4;
    string strday=StrFromReal(\\本站点\$年,0,″f″)+″-″+StrFromReal(\\本站
点\$月,0,″f″)+″-″+StrFromReal(\\本站点\$日,0,″f″);
    long Value;
    //str=ReportGetCellString(″后台日报处理″,3,7);
    ReportSetCellString(″后台月报处理″,hang,1,strday);
    ……
    Value=ReportGetCellValue(″后台日报处理″,32,11);
    ReportSetCellValue(″后台月报处理″,hang,11,Value);
    //将日报表中的统计数据(累计值)输入到月报表中
    Reportsaveas(″后台月报处理″,FileName);
    ClosePicture(″后台月报处理″);
VII、事件命令语言—\\本站点\$时==23&&\\本站点\$分==59发生时(将一整天的日报表数据进行保存):
    string FileName1=InfoAppDir()+″日报\″+StrFromReal(\\本站点\$年,0,
″f″)+″y″+StrFromReal(\\本站点\$月,0,″f″)+″m″+StrFromReal(\\本站点\$
日,0,″f″)+″.xls″;
    string timestr=″24:00:00″;
    ReportSetCellString(″后台日报处理″,29,1,timestr);
    ReportSetCellValue(″后台日报处理″,29,2,\\本站点\FLJ101);
    ……
    ReportSetCellValue(″后台日报处理″,29,11,\\本站点\FLJ110);
    ReportSaveAs(″后台日报处理″,FileName1);
VIII、事件命令语言—\\本站点\$时==0&&\\本站点\$秒==20发生时(新一天日报的生成,并插入0点是的累计量):
    string FileName=InfoAppDir()+″报表\日报.xls″;
    ReportLoad(″后台日报处理″,FileName);
    string FileName1=InfoAppDir()+″日报\″+StrFromReal(\\本站点\$年,0,
″f″)+″y″+StrFromReal(\\本站点\$月,0,″f″)+″m″+StrFromReal(\\本站点\$
日,0,″f″)+″.xls″;
    string timestr=time(0,0,0);
    ReportSetCellString(″后台日报处理″,5,1,timestr);
    ReportSetCellValue(″后台日报处理″,5,2,\\本站点\FLJ101);
    ……
    ReportSetCellValue(″后台日报处理″,5,11,\\本站点\FLJ110);
    ReportSaveAs(″后台日报处理″,FileName1)。
CN200910175338XA 2009-12-08 2009-12-08 一种水流量远程监测装置 Expired - Fee Related CN101726335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910175338XA CN101726335B (zh) 2009-12-08 2009-12-08 一种水流量远程监测装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910175338XA CN101726335B (zh) 2009-12-08 2009-12-08 一种水流量远程监测装置

Publications (2)

Publication Number Publication Date
CN101726335A true CN101726335A (zh) 2010-06-09
CN101726335B CN101726335B (zh) 2011-05-11

Family

ID=42447563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910175338XA Expired - Fee Related CN101726335B (zh) 2009-12-08 2009-12-08 一种水流量远程监测装置

Country Status (1)

Country Link
CN (1) CN101726335B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103489295A (zh) * 2012-12-07 2014-01-01 大连铭友电子工程有限公司 一种用于水表的超声波流量计远程监控系统
CN103491651A (zh) * 2013-09-25 2014-01-01 河海大学 一种基于二叉树模型的异常/故障定位检测方法
CN104205058A (zh) * 2012-01-30 2014-12-10 海德罗诺威什公司 使用基于互联网的软件和数据库的水系统的远程监测、控制及自动分析
CN105529674A (zh) * 2016-01-21 2016-04-27 成都科创佳思科技有限公司 新型电缆保护装置
CN105675077A (zh) * 2016-03-17 2016-06-15 金田集团(桐城)塑业有限公司 应用于bopp生产线的软水站水流量监测报警装置
CN110574229A (zh) * 2017-05-16 2019-12-13 恩德莱斯和豪瑟尔欧洲两合公司 自动化现场设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205058A (zh) * 2012-01-30 2014-12-10 海德罗诺威什公司 使用基于互联网的软件和数据库的水系统的远程监测、控制及自动分析
CN103489295A (zh) * 2012-12-07 2014-01-01 大连铭友电子工程有限公司 一种用于水表的超声波流量计远程监控系统
CN103491651A (zh) * 2013-09-25 2014-01-01 河海大学 一种基于二叉树模型的异常/故障定位检测方法
CN103491651B (zh) * 2013-09-25 2016-08-31 河海大学 一种基于二叉树模型的异常/故障定位检测方法
CN105529674A (zh) * 2016-01-21 2016-04-27 成都科创佳思科技有限公司 新型电缆保护装置
CN105675077A (zh) * 2016-03-17 2016-06-15 金田集团(桐城)塑业有限公司 应用于bopp生产线的软水站水流量监测报警装置
CN110574229A (zh) * 2017-05-16 2019-12-13 恩德莱斯和豪瑟尔欧洲两合公司 自动化现场设备
CN110574229B (zh) * 2017-05-16 2021-06-08 恩德莱斯和豪瑟尔欧洲两合公司 自动化现场设备

Also Published As

Publication number Publication date
CN101726335B (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
CN101726335B (zh) 一种水流量远程监测装置
HRP20120603A2 (hr) Telemetrijski hidrant za mjerenje, prikupljanje i bežiäśno slanje izmjerenih vrijednosti u bazu podataka na udaljeno raäśunalo
CN104299322A (zh) 农业地下水管控系统及制作方法和农业地下水管控方法
CN201555615U (zh) 一种水流量远程监测装置
CN200996145Y (zh) 闸门测控装置
CN106291021A (zh) 一种智能型电能表计量箱
KR102478749B1 (ko) 지능형 지하수 관정 관리 시스템
CN101846669A (zh) 一种土壤墒情自动监测终端机
CN208983020U (zh) 一种城市自来水管网监测系统
CN203471956U (zh) 基于物联网技术的干混砂浆储料搅拌机监测与管理系统
CN204065814U (zh) 农业地下水管控系统
CN204790380U (zh) 一种防爆型ic卡的定量装车系统
CN204374737U (zh) 一种水源井管理控制系统
CN206440320U (zh) 电子远传水表及水表系统
CN106022974B (zh) 全面降损节能配电网络大数据系统
CN201622689U (zh) 一种土壤墒情自动监测终端机
CN110741913A (zh) 一种农田智能灌溉控制装置
CN203746216U (zh) 一种无线抄表系统
CN106647582A (zh) 一种能源控制与管理装置、方法及系统
CN106442910A (zh) 一种地下水自动监测系统
CN205300703U (zh) 一种带气压补偿一体式地下水位计
CN103343721B (zh) 数字化智能钻井燃油罐
CN104165667A (zh) 一种居民远程集中水表抄表系统
CN206021347U (zh) 全面降损节能配电网络大数据系统
CN207331649U (zh) 一体化智能量测水装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110511

Termination date: 20111208