專利名稱:一種水流量遠程監(jiān)測裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種水流量遠程監(jiān)測裝置,屬水資源水量監(jiān)測與管理的技術(shù)領(lǐng)域。
背景技術(shù):
水是人類賴以生存的最重要的資源,中國是一個缺水的國家,中國的人均水資源 量只有世界平均水平的四分之一,如何對水資源進行合理有效的規(guī)劃、開發(fā)、利用、管理和 保護,是十分重要的研究課題。 在我國陸地上有許多河流、湖泊、水庫、蓄水池,這些地域的水提供工業(yè)用水、生活 用水、農(nóng)業(yè)灌溉用水、生態(tài)用水,在各個地域設(shè)立著許多供水工程、水資源監(jiān)測站、水庫分流 泵站、灌溉泵站,由于這些站點分布地域較廣,管理難度大,各分站有的相距較遠,管理起來 費時費力,準確率低,自動化程度低,給較大地域管理水、監(jiān)測水、掌握水資源量、監(jiān)測水流 量帶來很大困難。 對水資源的檢測,傳統(tǒng)的測流方式以流速儀法、浮標法、比降法等人工手段為主, 但這些技術(shù)均不能實現(xiàn)在線實時測量、傳輸。
發(fā)明內(nèi)容
發(fā)明目的 本發(fā)明的目的就是針對背景技術(shù)的不足,在各個水源分站設(shè)立監(jiān)控終端,利用 GPRS移動通訊,把水流量監(jiān)測信息即時傳輸給水管理總站,采用水流量傳感器、超聲流量 計、監(jiān)測管理電路、主控計算機、計算機程序等技術(shù),實現(xiàn)各分站與總站的即時遠程水流量 數(shù)據(jù)傳輸、分析,以大幅度提高水資源流量監(jiān)測的速度和準確性。
技術(shù)方案 本發(fā)明主要結(jié)構(gòu)由主控計算機、鍵盤、打印機、GPRS接收天線、GPRS發(fā)射天線、水 流量測量終端機箱、水流量傳感器組成整體結(jié)構(gòu); 水流量測量終端機箱主要結(jié)構(gòu)由控制面板、液晶顯示屏、指示燈、調(diào)控開關(guān)、操縱 鍵盤、計算卡插口 、報警器、GPRS發(fā)射天線、電源座、電纜接插口 、水流量傳感器接口 、水流量 傳感器、超聲波流量計、交直流變壓器、溫度傳感器、濕度傳感器、屏蔽箱、電路板、接線座組 成;在終端機箱1的底部為底座14、前部為控制面板2、并由螺栓23固定;在控制面板2的 上部為液晶顯示屏13,在液晶顯示屏13下部為指示燈3、調(diào)控開關(guān)4、操縱鍵盤5,在操縱鍵 盤5的左下部為計算卡插口 8,右下部為報警器6,在控制面板2的下部設(shè)有六個電纜接插 口 7 ;在終端機箱1的左側(cè)上部設(shè)有水流量傳感器接口 9、10,通過屏蔽電纜21分別與水流 量傳感器11、12聯(lián)接;在終端機箱1的右側(cè)上部設(shè)有電源座22 ;在終端機箱1的左上部設(shè) 有避雷針32、中間上部設(shè)有GPRS發(fā)射天線15 ;水流量傳感器11、 12安裝于過水管道上;
在終端機箱1的內(nèi)上部設(shè)有超聲波流量計26、交直流變壓器27,在中下部設(shè)有屏 蔽箱24,左側(cè)部設(shè)有溫度傳感器29、濕度傳感器30、右側(cè)部設(shè)有接線座28,之間由導線31 聯(lián)接;在屏蔽箱24內(nèi)設(shè)有電路板25,在電路板25上設(shè)有控制傳輸電路;超聲波流量計26接收水流量傳感器9、 10的水流量信息,經(jīng)計算處理,把水流量信息傳輸給電路板25上的控 制傳輸電路;交直流變壓器27經(jīng)電源座22與外接交流電源聯(lián)接,變壓后傳輸給電路板25 上的控制電路及超聲波流量計26 ; 終端機箱1上部的GPRS發(fā)射天線15發(fā)射無線通訊信號,遠程傳輸至GPRS接收天 線16,并把信號信息傳輸給主控計算機17,進行程序計算處理,并由鍵盤18、打印機19打印 水流量數(shù)據(jù)。 所述的水流量遠程監(jiān)測裝置,由1部主控計算機17、256個終端機箱1組成,各終 端機箱1結(jié)構(gòu)相同、設(shè)置相同、功能相同。 所述的終端機箱l的電路線板25,為雙重屏蔽保護,外部為金屬機箱殼體,內(nèi)部由 銅鋁合金屏蔽箱24保護。 所述的電路板25,由微計算機控制操作電路IC1、振蕩電路IC2、總線接口電路
IC3、超聲水流信息輸入輸出電路IC4、水流接插卡電路IC5、GPRS接插發(fā)射電路IC6、信息信
號轉(zhuǎn)換電路IC7、晶振和復位電路IC8、單片機保護排阻電路IC9、液晶顯示電路IC10、報警
喇叭控制電路IC11組成整體電路,各電路間由導線聯(lián)接,Vcc端為電源端,GND端為接地端。 所述的水流量遠程監(jiān)測裝置的主控計算機,用計算機程序進行計算及信息處理,
其計算處理程序如下 1、應(yīng)用程序啟動時 ShowPicture("后臺日報處理〃 ); hidePicture(〃后臺日報處理〃 ); ShowPicture(〃實時數(shù)據(jù)報表〃 ); hidePicture(〃實時數(shù)據(jù)報表〃 ); string FileNamel = InfoAppDir() + 〃曰矛艮\〃 +StrFromReal (\\本站點\$年, 0, 〃 f〃 ) + 〃 y〃 +StrFromReal(\\本站點\$月,O, 〃 f〃 ) + 〃 m〃 +StrFromReal (\\本 站點\$日,O, " f" ) + " .rtl";
R印ortLoad(〃后臺日報處理〃 ,F(xiàn)ileNamel); SQLConnect(W本站點\數(shù)據(jù)ID, 〃 dsn =古交地下水數(shù)據(jù)庫;uid = ;pwd = 〃 );
\\本站點\月報表專用=\\本站點\$月;
〃程序運行初始泵的狀態(tài)
\\本站點\BXZ01 = 0 ;
...... \\本站點\BXZ125 = 0 ;
\\本站點\BGZ01 = 1 ;
...... \\本站點\BGZ125 = 1 ;
11、應(yīng)用程序運行時
〃瞬時流量合成 functionl (\\本站點\FR001, \\本站點\FR001G, \\本站點\FR001D);
...... functionl (\\本站點\FR125, \\本站點\FR125G, \\本站點\FR125D);
〃累計流量合成 data2 (\\本站點\FLJ001, \\本站點\FLG001G, \\本站點\FLJ001D); ...... data2 (\\本站點\FLJ125, \\本站點\FLJ125G, \\本站點\FLJ125D); 〃l號泵運行狀態(tài)判別 if (\\本站點\FR001 ! = 0&&\\本站點\FR001 ! = 0. 5&&\\本站點\VS1 == 1)通 訊正常,泵正常運行 {\\本站點\BXZ01 = 1 ; \\本站點\BGZ01 = 0 ;} if ((W本站點\FR001 = = 0| |\\本站點\FR001 ==0. 5)&&\\本站點\VS1 == 1)通 訊正常,泵停止運行 {\\本站點\BXZ01 = 0 ; \\本站點\BGZ01 = 0 ;} if ((W本站點\FR001 < 0| |\\本站點\FR001 > 1200)&&\\本站點\VS1 == 1) 通訊 正常,泵故障 {\\本站點\BXZ01 = 1 ; \\本站點\BGZ01 = 1 ;} if(W本站點\VS1 == 0)〃通訊中斷,泵停止運行 {\\本站點\BXZ01 = 0 ; \\本站點\BGZ01 = 1 ;} ...... 〃125號泵運行狀態(tài)判別 if (\\本站點\FR125 ! = 0&&\\本站點\FR125 ! = 0. 5&&\\本站點\VS125 == 1) 通訊正常,泵正常運行 {\\本站點\BXZ125 = 1 ; \\本站點\BGZ125 = 0 ;} if((W本站點\FR125 == 0| |\\本站點\FR125 == 0. 5)&&\\本站點\VS 125 ==1) 通訊正常,泵停止運行 {\\本站點\BXZ125 = 0 ; \\本站點\BGZ125 = 0 ;} if ((\\本站點\FR125 < 0 | | \\本站點\FR125 > 1200) &&\\本站點\VS125 == 1)通 訊正常,泵故障 {\\本站點\BXZ125 = 1 ;
\\本站點\BGZ125 = 1 ;} if(W本站點\VS125 == 0)〃通訊中斷,泵停止運行 {\\本站點\BXZ125 = 0 ; \\本站點\BGZ125 = 1 ;} 111、應(yīng)用程序停止時 clos印icture("后臺日報處理〃 ); clos印icture("實時數(shù)據(jù)報表〃 ); SQLdisConnect (\\本站點\數(shù)據(jù)ID); IV、自定義函數(shù)命令語言_瞬時流量合成函數(shù) f皿ctionl (float DataFloat, long readlgaosjz, long readldisjz)
{ string add = 〃 〃 ; string readl = 〃 〃 ; string readlgao = 〃 〃 ; string readldi = 〃 〃 ; string readlhe = 〃 〃 ; long gaolchang = 0 ; long dilchang = 0 ; long il = 0 ; long i2 = 0 ; long Num ; String DataStr ; long DataVal ; long SignFlag ; long SignVal ; long Exponent ; long ExpVal ; float Mantissa ; string readlfhw = 〃 〃 ; string readlzsw = 〃 〃 ; string readlws = 〃 〃 ; string gaolbu=〃 〃 ; string gaolrjz=〃 〃 ; string dilbu = 〃 〃 ; string dilrjz=〃 〃 ; long i3 = 0 ; string i03 = 〃 〃 ; //long readlgaolsjz ; //long readldisjz ;
long readlzswsjz = 0 ; long readlwssjz = 0 ; readlgao = StrFromInt(readlgaosjz,2); readldi = StrFromInt(readldisjz,2); gaolchang = Striken (readlgao) 5 dilchang = Striken (readldi) 5 if(gaolchang ! = 16) {il = 16—gaolchang ;
gaolrjz = gaolbu+readlgao 5 6ls6
{gaolrjz = readlgao ;} if (dilchang ! = 16) U2 = 16—dilchang ;
dilrjz = dilbu+readldi J 6ls6
{dilrjz = readldi ;} readlhe = gaolrjz+dilrjz ; readlfhw = StrMid(readlhe,1,1); readlzsw = StrMid(readlhe,2,8); readlws = StrMid(readlhe,10,23); Num = 1 ;
SignFlag = StrToreal(readlfhw); if (SignFlag ==0)
Exponent = 0 5 while (Num <= 8)
{DataStr = Strmid(readlzsw,Num,1); DataVal = StrToreal (DataStr); ExpVal = 8_Num ; Exponent = Exponent+DataVal氺pow(2, ExpVal);
{ Exponent = _126 ;} if (readlzsw = = 〃 11111111〃 ) { Exponent = 0 ;}}
6ls6
{while (Num <= 8)
DataStr = Strmid(readlzsw, Num,1);
DataVal = StrToreal(DataStr); ExpVal = 8-N畫; Exponent = Exponent+DataVal氺pow (2, ExpVal); Num = Num+1 ;} if (readlzsw = = 〃 11111111") { Exponent = 0 ;} } Mantissa = 0 ; Num = 1 ; while(N咖<=23) {DataStr = Strmid(readlws,Num,1); DataVal = StrToreal(DataStr); ExpVal = Num; Mantissa = Mantissa+DataVal*(1. 0/pow(2, ExpVal)); Num = Num+1 ; } if (readlzsw = = 〃 00000000〃 ) {Exponent = 126 ; DataFloat = pow(-l, SignVal)*(l. 0/pow(2, Exponent))柳antissa ;} if (readlzsw = = 〃 11111111〃 ) {DataFloat = 0 ;} if (Exponent >= 127) {Exponent. = Exponent-127 ; DataFloat = pow (-1 , SignVal)氺pow (2, Exponent) * (Mantissa+1) ;} else{Exponent = 127-Exponent ; DataFloat = pow(_l,SignVal)*(1.0/pow(2,
Exponent))承(Mantissa+1) ;} if (DataFloat = = 0. 5) DataFloat = 0 ; return ; } V、自定義函數(shù)命令語言_累計流量合成函數(shù) data2(long data, long rd2gaosjz, long rd2disjz) { string rd2gaorjz =〃 〃 ; string rd2dirjz = 〃 〃 ; long rd2gaochang = 0 ; long rd2dichang = 0 ; string rd2gaobu ="";:0186] string rd2dibu ="";
:0187] string gao2rjz = 〃 〃 ;
:0188] string di2rjz = 〃 〃 ;
:0189] string rd2he = 〃 〃 ;
:0190] string datastr = 〃 〃 ;
:0191] rd2gaorjz = StrFromInt(rd2gaosjz,2);
:0192] rd2dirjz = StrFromInt (rd2disjz, 2);
:0193] rd2gaochang = StrLen (rd2gaorjz) 5
:0194] rd2dichemg 二 Striken (rd2dirjz);
:0195] long il = 0 ;
:0196] long i2 = 0 ;
:0197] long i3 = 0 ;
:0198] long皿m = 1 ;
:0199] long dataval = 0 ;
:0200] long expval = 0 ;
:0201] data = 0 ;
:0202] if (rd2gaochang ! = 16)
:0203] {il = 16-rd2gaochang ;
:0204] rd2gaobu = StrRight(" 0000000000000000" , i1);
:0205] gao2rjz = rd2gaobu+rd2gaorjz 5}
:0206] else
:0207] (gao2rj z = rd2gaorjz ;}
:0208] if (rd2dichang ! = 16)
:0209] U2 = 16-rd2dichang ;
:0210] rd2dibu = StrRight(〃 0000000000000000" , i2); :0211] di2rjz = rd2dibu+rd2dirjz ;}
:0212] else
:0213] (di2rjz = rd2dirjz ;}
:0214] rd2he = gao2rjz+di2rjz ;
:0215] i3 = StrLen (rd2he);
:0216] if(i3==32)
:0217] (while(誦<=32)
:0218] {datastr = StrMid (rd2he,皿m, 1);
:0219] dat纖l = StrToReal (datastr);
:0220] expval = 32-皿m ;
:0221] data = data+dataval氺Pow (2, expval); :0222] 皿m =皿m+l ; :0223] }}
:0224] return ;
} ¥1、事件命令語言_\\本站點\$時==23消失時(每天結(jié)束時由后臺日報向后 臺月報中插入日數(shù)據(jù)) string reportname2 = StrFromReal(\\本站點\$年,
0, " f" )+StrFromReal(W本站點\$月,O, " f" ) + " .xls"; string R印ortMonth = StrFromReal(\\本站點\$年,O, 〃 f〃 ) + 〃年 〃 +StrFromReal(\\本站點\$月,O, 〃 f〃 ) + 〃月〃 ; string FileName ; FileName = InfoAppDir() + 〃月矛艮\〃 +i^portname2 ;
long return02 = InfoFile (Filename, 1, \\本站點\$分);
ShowPicture("后臺月報處理〃 );
HidePicture("后臺月報處理〃 ); 〃判斷月報目錄下是否已經(jīng)有當月的報表文件了 ,如果沒有則從報表目錄下加載 模板 if (ret證02 == 0) { FileName = InfoAppDir() + 〃報表\月報.xls〃 ; R印ortLoad(〃后臺月報處理〃 ,F(xiàn)ileName); FileName = InfoAppDir() + 〃月矛艮\〃 +i^portname2 ; R印ortSetCellString(〃后臺月報處理〃 ,3, 7, R印ortMonth); R印ortsaveas(〃后臺月矛艮處理〃 ,F(xiàn)ileName) ;} 〃如果當月的月報文件還沒有產(chǎn)生則調(diào)入月報.rtl文件并按規(guī)定格式保存報表 文件 FileName = InfoAppDir () + 〃 月報\ 〃 +StrFromReal (\\本站點\$年,
0, 〃 f〃 )+StrFromReal(W本站點\$月,0, 〃 f〃 ) + 〃 .xls"; R印ortLoad("后臺月報處理〃 ,F(xiàn)ileName); long hang ; hang = $日+4 ; stringstrday = StrFromReal(\\本站點 \$年,
0, 〃 f〃 ) + 〃 -〃 +StrFromReal(\\本站點\$月,0, 〃 f〃 ) + 〃 -〃 +StrFromReal (\\本 站點\$日,0, " f"); long Value ; 〃str = R印ortGetCellString("后臺日報處理〃 ,3,7); R印ortSetCellString("后臺月報處理〃 ,hang, 1, strday); ...... Value = R印ortGetCel lValue (〃后臺日報處理",32,11); R印ortSetCellValue (〃后臺月報處理〃 ,hang, 11, Value); 〃將日報表中的統(tǒng)計數(shù)據(jù)(累計值)輸入到月報表中 R印ortsaveas(〃后臺月矛艮處理〃 ,F(xiàn)ileName); ClosePicture("后臺月報處理〃 );
VII、事件命令語言_\\本站點\$時==23&&\\本站點\$分==59發(fā)生時(將 一整天的日報表數(shù)據(jù)進行保存) string FileNamel = InfoAppDir() + 〃曰矛艮\〃 +StrFromReal (\\本站點\$年, 0, 〃 f" ) + 〃 y" +StrFromReal(\\本站點\$月,O, 〃 f" ) + 〃 m" +StrFromReal (\\本 站點\$日,O, " f" ) + " .xls";
string timestr =〃 24:00:00〃 ; R印ortSetCellString("后臺日報處理〃 ,29, 1, timestr); R印ortSetCellValue("后臺日報處理〃 ,29, 2, \\本站點\FLJ101); ...... R印ortSetCellValue("后臺日報處理〃 ,29, 11, \\本站點\FLJ110);
R印ortSaveAs(〃后臺日報處理〃 ,F(xiàn)ileNamel); VIII、事件命令語言_\\本站點\$時==0&&\\本站點\$秒==20發(fā)生時(新 一天日報的生成,并插入O點是的累計量) string FileName = InfoAppDir ()+ 〃 J艮表\日J艮 xls〃 ;
R印ortLoad("后臺日報處理〃 ,F(xiàn)ileName); string FileNamel = InfoAppDir () + 〃曰矛艮\〃 +StrFromReal (\\本站點\$年, 0, 〃 f" ) + 〃 y" +StrFromReal(\\本站點\$月,O, 〃 f" ) + 〃 m" +StrFromReal (\\本 站點\$日,O, " f" ) + " .xls";
string timestr = time(0,0,0); R印ortSetCellString("后臺日報處理〃 ,5, 1, timestr); R印ortSetCellValue("后臺日報處理〃 ,5, 2, \\本站點\FLJ101); ...... R印ortSetCellValue("后臺日報處理〃 ,5, 11, \\本站點\FLJ110);
R印ortSaveAs(〃后臺日報處理〃 ,F(xiàn)ileName 1);
有益效果 本發(fā)明與背景技術(shù)相比具有明顯的先進性,它是根據(jù)水源站點多、較分散、距離遠 的實際情況,而設(shè)計的一種由主控計算機總控制、設(shè)立256個終端機箱分控制、由GPRS無線 通訊發(fā)射傳輸水流量信息,實現(xiàn)水流多終端、遠距離監(jiān)測、在終端機箱上設(shè)置雙屏蔽控制電 路、超聲波流量計、水流量傳感器、計算卡插口、聲控報警、液晶顯示、操縱鍵盤、交直流變壓 等,主控計算機采用計算機程序控制、計算處理,本裝置設(shè)計先進合理,結(jié)構(gòu)緊湊,安全穩(wěn)定 可靠,數(shù)據(jù)準確翔實,對分散的水源流量實現(xiàn)了遠程監(jiān)測控制,填補了此類技術(shù)的空白,是 十分理想的水流量遠程監(jiān)測裝置,此裝置也可用于石油、化工、供暖、食品等站點的遠程監(jiān) 測控制。
圖1為水流量測量裝置整體結(jié)構(gòu)及布置圖
圖2為終端機箱內(nèi)部結(jié)構(gòu)圖
圖3為控制電路方框圖
圖4為控制電路原理圖
圖中所示,附圖標記清單如下 1、終端機箱,2、控制面板,3、指示燈,4、控制開關(guān),5、操縱鍵盤,6、報警器,7、電纜 接插口,8、計量卡插口,9、水流量傳感器接口,10、水流量傳感器接口,11、水流量傳感器, 12、水流量傳感器,13、液晶顯示屏,14、底座,15、 GPRS發(fā)射天線,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接插發(fā)射電路,IC7、信息信號轉(zhuǎn)換電路, IC8、晶振和復位電路,IC9、單片機保護排阻電路,IC10、液晶顯示電路,IC11、報警喇叭控制 電路。
具體實施例方式以下結(jié)合附圖對本發(fā)明做進一步說明 圖1、2所示,為整體結(jié)構(gòu)圖,各部位置、聯(lián)接關(guān)系要正確,安裝牢固。 主控計算機為一部、可控制256個終端機箱,也可視需要加減終端機箱數(shù)個,終端
機箱可設(shè)在平地、房間,也可設(shè)在高坡、野外等。 主控計算機與終端機箱的距離不限,以GPRS通訊天線覆蓋范圍為準。 水流量傳感器把得到的水流量信息傳輸給超聲波流量計,經(jīng)處理后傳輸給控制電
路進行信息處理,然后通過GPRS天線發(fā)射至主控計算機。 水流量信息可由液晶顯示屏顯示。 操縱鍵盤可操作終端機箱并發(fā)射信息。 計算卡插口可插入水流量卡,可自行開啟控制水流量。 聲控報警可對水流量及終端箱故障發(fā)出警示。 終端機箱、屏蔽箱形成對控制電路板的雙重屏蔽保護,防止雷電及野外環(huán)境對機 箱的干擾,使運行正常。 圖3、4所示,為終端機箱控制電路原理圖,由分電路組成整體電路,各分電路聯(lián)接 關(guān)系要正確,布置要合理,聯(lián)接安裝要牢固。
權(quán)利要求
一種水流量遠程監(jiān)測裝置,其特征在于主要結(jié)構(gòu)由主控計算機、鍵盤、打印機、GPRS接收天線、GPRS發(fā)射天線、水流量測量終端機箱、水流量傳感器組成整體結(jié)構(gòu);水流量測量終端機箱主要結(jié)構(gòu)由控制面板、液晶顯示屏、指示燈、調(diào)控開關(guān)、操縱鍵盤、計算卡插口、報警器、GPRS發(fā)射天線、電源座、電纜接插口、水流量傳感器接口、水流量傳感器、超聲波流量計、交直流變壓器、溫度傳感器、濕度傳感器、屏蔽箱、電路板、接線座組成;在終端機箱(1)的底部為底座(14)、前部為控制面板(2)、并由螺栓(23)固定;在控制面板(2)的上部為液晶顯示屏(13),在液晶顯示屏(13)下部為指示燈(3)、調(diào)控開關(guān)(4)、操縱鍵盤(5),在操縱鍵盤(5)的左下部為計算卡插口(8),右下部為報警器(6),在控制面板(2)的下部設(shè)有六個電纜接插口(7);在終端機箱(1)的左側(cè)上部設(shè)有水流量傳感器接口(9、10),通過屏蔽電纜(21)分別與水流量傳感器(11、12)聯(lián)接;在終端機箱(1)的右側(cè)上部設(shè)有電源座(22);在終端機箱(1)的左上部設(shè)有避雷針(32)、中間上部設(shè)有GPRS發(fā)射天線(15);水流量傳感器(11、12)安裝于過水管道上;在終端機箱(1)的內(nèi)上部設(shè)有超聲波流量計(26)、交直流變壓器(27),在中下部設(shè)有屏蔽箱(24),左側(cè)部設(shè)有溫度傳感器(29)、濕度傳感器(30)、右側(cè)部設(shè)有接線座(28),之間由導線(31)聯(lián)接;在屏蔽箱(24)內(nèi)設(shè)有電路板(25),在電路板(25)上設(shè)有控制傳輸電路;超聲波流量計(26)接收水流量傳感器(9、10)的水流量信息,經(jīng)計算處理,把水流量信息傳輸給電路板(25)上的控制傳輸電路;交直流變壓器(27)經(jīng)電源座(22)與外接交流電源聯(lián)接,變壓后傳輸給電路板(25)上的控制電路及超聲波流量計(26);終端機箱(1)上部的GPRS發(fā)射天線(15)發(fā)射無線通訊信號,遠程傳輸至GPRS接收天線(16),并把信號信息傳輸給主控計算機(17), 進行程序計算處理,并由鍵盤(18)、打印機(19)打印水流量數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的一種水流量遠程監(jiān)測裝置,其特征在于所述的水流量遠程 監(jiān)測裝置,由l部主控計算機(17)、256個終端機箱(1)組成,各終端機箱(1)結(jié)構(gòu)相同、設(shè) 置相同、功能相同。
3. 根據(jù)權(quán)利要求l所述的一種水流量遠程監(jiān)測裝置,其特征在于所述的終端機箱(1) 的電路線板(25),為雙重屏蔽保護,外部為金屬機箱殼體,內(nèi)部由銅鋁合金屏蔽箱(24)保 護。
4. 根據(jù)權(quán)利要求l所述的一種水流量遠程監(jiān)測裝置,其特征在于所述的電路板(25), 由微計算機控制操作電路(IC1)、振蕩電路(IC2)、總線接口電路(IC3)、超聲水流信息輸 入輸出電路(IC4)、水流接插卡電路(IC5)、GPRS接插發(fā)射電路(IC6)、信息信號轉(zhuǎn)換電路 (IC7)、晶振和復位電路(IC8)、單片機保護排阻電路(IC9)、液晶顯示電路(IC10)、報警喇 叭控制電路(IC11)組成整體電路,各電路間由導線聯(lián)接,Vcc端為電源端,GND端為接地端。
5. 根據(jù)權(quán)利要求1所述的一種水流量遠程監(jiān)測裝置,其特征在于所述的水流量遠程 監(jiān)測裝置的主控計算機,用計算機程序進行計算及信息處理,其計算處理程序如下1、應(yīng)用程序啟動時ShowPicture(〃后臺日報處理〃 ); hidePicture("后臺日報處理〃 ); ShowPicture(〃實時數(shù)據(jù)報表〃 ); hidePicture("實時數(shù)據(jù)報表〃 );string FileNamel = InfoAppDir ()+ 〃曰矛艮\〃 +StrFromReal (\\本站點\$年,0,〃 f" ) + 〃 y" +5^^1~01111^31(\\本站點\$月,0, 〃 f" ) + 〃 m" +StrFromReal (\\本 站點\$日,O, 〃 f〃 ) + 〃 .rtl";R印ortLoad(〃后臺日報處理〃 ,F(xiàn)ileNamel);SQLConnect(W本站點\數(shù)據(jù)ID, 〃 dsn =古交地下水數(shù)據(jù)庫;uid = ;pwd = 〃 );\\本站點\月報表專用=\\本站點\$月; 〃程序運行初始泵的狀態(tài) \\本站點\BXZ01 = 0 ;\\本站點\BXZ125 = 0 ; \\本站點\BGZ01 = 1 ;\\本站點\BGZ125 = 1 ;n、應(yīng)用程序運行時〃瞬時流量合成functionl (\\本站點\FR001, \\本站點\FR001G, \\本站點\FR001D);functionl (\\本站點\FR125, \\本站點\FR125G, \\本站點\FR125D);〃累計流量合成data2(\\本站點\FLJ001, \\本站點\FLG001G, \\本站點\FLJ001D);data2(\\本站點\FLJ125, \\本站點\FLJ125G, \\本站點\FLJ125D); 〃1號泵運行狀態(tài)判別if (\\本站點\FR001 ! = 0&&\\本站點\FR001 ! = 0. 5&&\\本站點\VS1 == 1)通 訊正常,泵正常運行{\\本站點\BXZ01 = 1 ;\\本站點\BGZ01 = 0 ;} if ((\\本站點\FR001 = = 0 I I \\本站點\FR001 = = 0. 5)&&\\本站點\VS1 = = 1)訊正常,泵停止運行{\\本站點\BXZ01 = 0 ;\\本站點\BGZ01 = 0 ;} if ((W本站點\FR001 < 0 |\\本站點\FR001 > 1200)&&\\本站點\VS1 ==1)通訊 正常,泵故障{\\本站點\BXZ01 = 1 ;\\本站點\3GZ01 = 1 ;} if(W本站點\VS1 == 0)〃通訊中斷,泵停止運行{\\本站點\BXZ01 = 0 ; \\本站點\BGZ01 = 1 ;}〃125號泵運行狀態(tài)判別 if (\\本站點\FR125 ! = 0&&\\本站點\FR125 ! = 0. 5&&\\本站點\VS125 ==1) 通訊正常,泵正常運行{\\本站點\BXZ125 = 1 ;\\本站點\BGZ125 = 0 ;} if ((\\本站點\FR125 == 0| |\\本站點\FR125 ==0. 5)&&\\本站點\VS125 ==通訊正常,泵停止運行{\\本站點\BXZ125 = 0 ;\\本站點\BGZ125 = 0 ;} if ((\\本站點\FR125 < 0 I I \\本站點\FR125 > 1200) &&\\本站點\VS125 = = 1)通 訊正常,泵故障{\\本站點\BXZ125 = 1 ;\\本站點\BGZ125 = 1 ;} if(W本站點WS125 == 0)〃通訊中斷,泵停止運行{\\本站點\BXZ125 = 0 ;\\本站點\BGZ125 = 1 ;}ni、應(yīng)用程序停止時clos印icture(〃后臺日報處理"); clos印icture("實時數(shù)據(jù)報表"); SQLdisConnect(\\本站點\數(shù)據(jù)ID); IV、自定義函數(shù)命令語言一瞬時流量合成函數(shù)f皿ctionl(float DataFloat, long readlgaosjz, long readldisjz)string add = 〃 〃 ; string readl = 〃 〃 string readlgao =〃 string readldi =〃八 string readlhe = 〃八 long gaolchang = 0 ; long dilchang = 0 ; long il = 0 ; long i2 = 0 ; long Num ; String DateStr ^ long DataVal ;long SignFlag ;long SignVal ;long Exponent ^long ExpVal ;float Mantissa ;string readlfhw = 〃 〃 ;string readlzsw = 〃 〃 ;string readlws = 〃 〃 ;string gaolbu = 〃 〃 ;string gaolrjz = 〃 〃 ;string dilbu = 〃 〃 ;string dilrjz = 〃 〃 ;long i3 = 0 ;string i03 = 〃 ";//long readlgaolsjz ;//long readldisjz ;long readlzswsjz = 0 ;long readlwssjz = 0 ;readlgao = StrFromInt(read lgaosjz,2);readldi = StrFromInt(read ldisjz,2);gaolchang = StrLen(readlgao);dilchang = StrLen(readldi) sif(gaolchang ! = 16){il = 16-gaolchang ^gaolbu = StrRight('g肌lrjz = gaolbu+readlgao{gaolrjz = readlgaoif (dilchang ! = 16)U2 = 16-dilchang ^dilbu = StrRight(〃dilrjz = dilbu+readldi J{dilrjz = readldi ;}readlhe = gaolrjz+dilrjz ^readlfhw = StrMid(readlhe,1,1);readlzsw = StrMid(readlhe,2,8);readlws = StrMid(readlhe,10,23)Num = 1 ;il);L2)SignFlag = StrToreal(readlfhw); if (SignFlag ==0) { Exponent = 0 ;while (Num <= 8)DataStr = Strmid(read lzsw, Num, 1); DataVal = StrToreal (DataStr); ExpVal = 8_Num ;Exponent = Exponent+DataVal氺pow(2, ExpVal);Num = Num+1 ;}{Exponent = _126 ;}if (readlzsw = = 〃 11111111〃 ){Exponent = 0 }{while (Num <= 8)DataStr = Strmid (readlzsw, Num, 1); DataVal = StrToreal (DataStr); ExpVal = 8_Num ;Exponent = Exponent+DataVal氺pow(2, ExpVal);Mantissa = 0 ; Num = 1 ;while (Num <= 23){ DataStr = Strmid (readlws, Num, 1); DataVal = StrToreal (DataStr); ExpVal = Num ;Mantissa = Mantissa+DataVal*(1. 0/pow(2, ExpVal)); Num = Num+1 ;{Exponent = 126 ; DataFloat = pow(-l, SignVal)*(l. 0/pow(2, Exponent))*Mantissa ; if (readlzsw = = 〃 11111111〃 ){DataFloat = 0 ;} if (Exponent 〉= 127) {Exponent = Exponent-127 ^if (readlzsw11111111〃 )DataFloat = pow(-l, SignVal) *pow(2, Exponent) * (Mantissa+1) ;}else{Exponent = 127-Exponent ;DataFloat = pow(-l, SignVal)*(l. 0/pow(2, Exponent)) * (Mantissa+1);if (DataFloat == 0. 5)DataFloat = 0 ;return ^V、自定義函數(shù)命令語言一累計流量合成函數(shù)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 il = 0 ;long i2 = 0 ;long i3 = 0 ;long皿m = 1 ;long dataval = 0 ^long expval = 0 ;data = 0 ^if (rd2gaochang ! = 16){il = 16-rd2gaochang ^gao2rjz = rd2gaobu+rd2gaorjz(gao2rjz = rd2gaorjzif (rd2dichang ! = 16)U2 = 16-rd2dichang ^di2rjz = rd2dibu+rd2dirjz J(di2rjz = rd2dirjz ;} rd2he = gao2rjz+di2rjz ^ i3 = StrLen (rd2he); if (i3 == 32) {while (皿m < = 32) {datastr = StrMid (rd2he,皿m, 1); dataval = StrToReal(datastr); expval = 32_num ^data = data+dataval氺Pow (2, expval) ^ 皿m =皿m+l ;return ^VI、事件命令語言_\\本站點\$時==23消失時(每天結(jié)束時由后臺日報向后臺月報中插入日數(shù)據(jù))string reportname2 = StrFromReal(\\ 本 站點 \$ 年, 0, 〃 f〃 )+StrFromReal(\\本站 點\$月,O, " f" ) + " .xls";string R印ortMonth = StrFromReal(W本站點\$年,0, 〃 f〃 ) + 〃年 "+5^^1~01111^31(\\本站點\$月,O, " f" )+〃月"; string FileName ;FileName = InfoAppDir()+ 〃月矛艮\〃 +repo:rtname2 ; long return02 = InfoFile (Filename, 1, \\本站點\$分); ShowPicture(〃后臺月報處理〃 ); HidePicture("后臺月報處理〃 );〃判斷月報目錄下是否已經(jīng)有當月的報表文件了,如果沒有則從報表目錄 下加載模板if (ret證02 ==0){FileName = InfoAppDir()+ 〃報表\月報.xls〃 ; R印ortLoad(〃后臺月報處理〃 ,F(xiàn)ileName); FileName = InfoAppDir ()+ 〃月矛艮\〃 +repo:rtname2 ; R印ortSetCellString(〃后臺月報處理〃 ,3, 7, R印ortMonth); R印ortsaveas(〃后臺月報處理〃 ,F(xiàn)ileName) ;} 〃如果當月的月報文件還沒有產(chǎn)生則調(diào)入月報.rtl文件并按規(guī)定格式保存 報表文件FileName = InfoAppDir ()+ 〃月報\〃 +StrFromReal (\\本站點\$年,O,"f" )+StrFromReal(W本站點\$月,O, " f" ) + " .xls";R印ortLoad(〃后臺月報處理〃 ,F(xiàn)ileName);long h肌g 5hang = $日+4 ;string strday = StrFromReal(\\ 本站點 \$ 年,0, 〃 f〃 ) + 〃 -〃 +StrFromReal (\\本站點\$月,0, " f" )+" +5^^1~01111^31(\\本站點\$日,O, " f");long Value ;〃str = R印ortGetCellString("后臺日報處理〃 ,3,7);R印ortSetCellString("后臺月報處理〃 ,hang, 1, strday);Value = R印ortGetCel lValue (〃后臺日報處理",32,11);R印ortSetCellValue (〃后臺月報處理〃 ,hang, 11, Value);〃將日報表中的統(tǒng)計數(shù)據(jù)(累計值)輸入到月報表中R印ortsaveas(〃后臺月報處理〃 ,F(xiàn)ileName);ClosePicture("后臺月報處理〃 );VII、事件命令語言一\\本站點\$時==23&&\\本站點\$分==59發(fā)生時(將一整天的日報表數(shù)據(jù)進行保存)string FileNamel = InfoAppDir() + 〃曰矛艮\〃 +StrFromReal (\\本站點\$年,0,〃 f" ) + 〃 y" +5^^1~01111^31(\\本站點\$月,0, 〃 f〃 ) + 〃 m〃 +StrFromReal (\\本站點\$日,O,〃 f〃 )+〃 .Xls";string timestr =〃 24:00:00〃 ;R印ortSetCellString(〃后臺日報處理〃 ,29, 1, timestr);R印ortSetCellValue(〃后臺日報處理〃 ,29, 2, \\本站點\FLJ101);R印ortSetCellValue("后臺日報處理〃 ,29, 11, \\本站點\FLJ110);R印ortSaveAs(〃后臺日報處理〃 ,F(xiàn)ileNamel);VIII、事件命令語言一W本站點\$時==0&&\\本站點\$秒==20發(fā)生時(新一天日報的生成,并插入0點是的累計量)string FileName = InfoAppDir ()+ 〃矛艮表\曰矛艮.xls〃 ;R印ortLoad(〃后臺日報處理〃 ,F(xiàn)ileName);string FileNamel = InfoAppDir () + 〃曰矛艮\〃 +StrFromReal (\\本站點\$年,0,〃 f〃 ) + 〃 y〃 +5^^1~01111^31(\\本站點\$月,0, 〃 f〃 ) + 〃 m〃 +StrFromReal (\\本站點\$日,0,〃 f〃 )+〃 .Xls";string timestr = time(0,0,0);R印ortSetCellString(〃后臺日報處理〃 ,5, 1, timestr);R印ortSetCellValue(〃后臺日報處理〃 ,5, 2, \\本站點\FLJ101);R印ortSetCellValue(〃后臺日報處理〃 ,5, 11, \\本站點\FLJ110);R印ortSaveAs("后臺日報處理〃 ,F(xiàn)ileNamel)。
全文摘要
本發(fā)明涉及一種水流量遠程監(jiān)測裝置,主要由主控計算機控制,設(shè)立多個終端機箱分控制,由GPRS無線通訊發(fā)射傳輸水流量信息,實現(xiàn)水流量多終端、遠距離監(jiān)測、在終端機箱上設(shè)置雙屏蔽控制電路、超聲波流量計、水流量傳感器、計算卡插口、聲控報警、液晶顯示、操縱鍵盤、交直流變壓等,主控計算機采用計算機程序控制、計算處理,本裝置設(shè)計先進合理,結(jié)構(gòu)緊湊,安全穩(wěn)定可靠,數(shù)據(jù)準確翔實,對分散的水資源流量實現(xiàn)了遠程監(jiān)測控制,填補了此類技術(shù)的空白,是十分理想的水流量遠程監(jiān)測裝置,此裝置也可用于石油、化工、供暖、食品等站點的遠程監(jiān)測控制。
文檔編號G08C17/02GK101726335SQ200910175338
公開日2010年6月9日 申請日期2009年12月8日 優(yōu)先權(quán)日2009年12月8日
發(fā)明者張海瑞, 晉華, 曹小虎, 李強, 梁睿, 王貴強, 趙志懷 申請人:太原理工大學