• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      自動氣象站運(yùn)行狀態(tài)查詢和統(tǒng)計(jì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2012-04-29 00:44:03崔明盧會國裴翀胡學(xué)英劉銀鋒
      電腦知識與技術(shù) 2012年16期
      關(guān)鍵詞:自動氣象站系統(tǒng)設(shè)計(jì)

      崔明 盧會國 裴翀 胡學(xué)英 劉銀鋒

      摘要:在Microsoft Visual Studio 2008開發(fā)環(huán)境下,通過用C#語言連接SQL SERVER2000數(shù)據(jù)庫,實(shí)現(xiàn)了五個試驗(yàn)自動氣象站的分鐘狀態(tài)文件統(tǒng)計(jì)入庫。系統(tǒng)可以對各試驗(yàn)自動氣象站的分鐘運(yùn)行狀態(tài)進(jìn)行查詢和統(tǒng)計(jì),以便及時發(fā)現(xiàn)樣機(jī)設(shè)計(jì)和運(yùn)行中存在的問題。為試驗(yàn)階段對樣機(jī)的評估提拱了一定的幫助。

      關(guān)鍵詞:自動氣象站;運(yùn)行狀態(tài);查詢統(tǒng)計(jì);系統(tǒng)設(shè)計(jì)

      中圖分類號:TP315文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)16-3764-05

      Design and Implementation of Automatic Weather Stations Query and Statistics System in Running Status

      CUI Ming1, LU Hui-guo1, PEI Chong2, HU Xue-ying2, LIU Yin-feng2

      (1. Chengdu University of Information Technology, Chengdu 610225, China; 2.Atmospheric Observation Technology Center CMA, Bei jing 100081, China)

      Abstract: The system realizes the minute operation and automatic data that from five test automatic weather stations analysis and storage f by using C # to connect SQL SERVER2000 database in the development environment of Microsoft Visual Studio 2008. And the system provides function like query and statistics minute operation information that from each test automatic weather station, so that timely discov ery the existing problems prototype designs and operations. It provides some help for evaluation of the prototype in the test stage.

      Key words: automatic weather station; running status; query and statistics; system design

      我國自動氣象站站點(diǎn)數(shù)量龐大,其中包括2400多個基本業(yè)務(wù)站和30000多個區(qū)域站點(diǎn)。如此多的站點(diǎn)設(shè)備維護(hù)是異常困難的。而設(shè)備正常無故障運(yùn)行是保障探測數(shù)據(jù)的質(zhì)量狀況、氣象預(yù)報(bào)準(zhǔn)確性和決策服務(wù)有效性的前提。氣象行業(yè)專項(xiàng)項(xiàng)目“地面觀測網(wǎng)自動化運(yùn)行監(jiān)控技術(shù)研究”在現(xiàn)有自動站的基礎(chǔ)上通過對設(shè)備進(jìn)行改造設(shè)計(jì),實(shí)現(xiàn)了對自動站各部件運(yùn)行狀態(tài)的實(shí)時監(jiān)控。改造后的樣機(jī)除了上傳正常的觀測要素?cái)?shù)據(jù)外,還每10分鐘上傳樣機(jī)的運(yùn)行狀態(tài)文件,文件按一定的格式記錄該10分鐘內(nèi)自動站各部件的運(yùn)行狀態(tài)和其它參數(shù)信息。在SQL SERVER2000數(shù)據(jù)庫支持下,采用C#語言,在Microsoft Visual Studio 2008開發(fā)環(huán)境下設(shè)計(jì)的自動氣象站運(yùn)行狀態(tài)查詢和統(tǒng)計(jì)系統(tǒng)就是對試驗(yàn)樣機(jī)上傳的分鐘狀態(tài)文件進(jìn)行解析入庫,并實(shí)現(xiàn)對樣機(jī)運(yùn)行狀態(tài)的查詢和統(tǒng)計(jì)。

      1系統(tǒng)框架設(shè)計(jì)

      為了對樣機(jī)的設(shè)計(jì)改造進(jìn)行檢驗(yàn),項(xiàng)目在全國范圍內(nèi)選取了五個試驗(yàn)場地進(jìn)行為期一年的外場試驗(yàn)。分鐘數(shù)據(jù)文件和狀態(tài)文件每隔10分鐘由臺站上傳到國家局服務(wù)器。在試驗(yàn)階段將數(shù)據(jù)由服務(wù)器下載到本地計(jì)算機(jī)后在進(jìn)行解析入庫,為系統(tǒng)的查詢統(tǒng)計(jì)提供支持。查詢界面通過對分鐘數(shù)據(jù)進(jìn)行訪問和統(tǒng)計(jì),實(shí)現(xiàn)對自動站運(yùn)行狀態(tài)的查詢和故障部件的統(tǒng)計(jì)分析。系統(tǒng)結(jié)構(gòu)圖如圖1。

      2 C#和SQL SEVER數(shù)據(jù)庫

      2.1 C#語言概述[1]

      C# (C SHARP)是一種最新的、面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于MICROSOFT .NET平臺的應(yīng)用程序。使用C#開發(fā)應(yīng)用程序比使用C++簡單,因?yàn)槠湔Z法簡單。但C#是一種強(qiáng)大的語言,C++能完成的任務(wù)利用C#也能完成。C#的優(yōu)點(diǎn)是,它是唯一為.NET Framework設(shè)計(jì)的語言,是在移植到其他操作系統(tǒng)上的.NET版本的主要語言。用C#編寫Windows應(yīng)用程序具有我們熟悉的Windows外觀和操作方式,利用VS2008的Windows Forms模塊就能生成這樣的應(yīng)用程序。Windows Forms模塊是一個控件庫,其中的控件(如按鈕、工具欄、菜單欄等)可以用以建立Windows用戶界面。

      另外,在進(jìn)行數(shù)據(jù)庫訪問是,可以通過Active Data Objects.NET(ADO.NET)部分或C#得LINQ功能。

      2.2 SQL SERVER數(shù)據(jù)庫相關(guān)概念[2-3]

      SQL2000是一個高性能的客戶端/服務(wù)器結(jié)構(gòu)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。SQL的一個主要有待你就是與主流客戶端/服務(wù)器開關(guān)工具和桌面應(yīng)用程序的緊密集成。可以在Visual Basic.NET,Visual C#.NET和Visual C++中訪問SQL Server2000數(shù)據(jù)庫。

      2.2.1表

      SQL Server2000數(shù)據(jù)庫的所有數(shù)據(jù)包含在稱為表的對象中。每個表代表某類對用戶有意義的對象。SQL Server中的表有行和列兩個主要組件,如圖2所示。

      圖2 SQL Server2000表實(shí)例

      2.2.2 SELECT查詢語句

      數(shù)據(jù)查詢是用來描述從數(shù)據(jù)庫中獲得數(shù)據(jù)和操縱數(shù)據(jù)的過程,是對已經(jīng)存在與數(shù)據(jù)中的數(shù)據(jù)按照指定條件檢索的過程。SE LECT語句從數(shù)據(jù)庫中檢索出數(shù)據(jù),然后以一個或多個結(jié)果集的形式將其返回給用戶。SELECT語句的完整語法比較復(fù)雜,其主要子句可總結(jié)為:

      SELECT select_list [DISTINCT] [TOP n]

      [INTO new_table_name]

      [FROM able_list]

      [WHERE search_conditions]

      [GROUP BY group_by_list]

      [HAVING search_conditions]

      [ORDER BY order_list [ASC | DESC]]

      雖然SELECT語句的完整語法比較復(fù)雜,但該系統(tǒng)中主要應(yīng)用SELECT語句描述結(jié)果集的4個主要屬性,即,結(jié)果集的列的數(shù)量和屬性、結(jié)果集從中檢索數(shù)據(jù)的表、條件語句、結(jié)果集得分組。

      3數(shù)據(jù)庫主要數(shù)據(jù)表

      分鐘觀測數(shù)據(jù)表(odata_OM):該表存儲5個試驗(yàn)站點(diǎn)的分鐘觀測數(shù)據(jù),每個站點(diǎn)每分鐘一條記錄,是通過上傳的分鐘數(shù)據(jù)文件進(jìn)行解析后導(dǎo)入數(shù)據(jù)庫的;10分鐘觀測數(shù)據(jù)表(odata_OT):此數(shù)據(jù)表內(nèi)存儲站點(diǎn)每十分鐘的觀測數(shù)據(jù),每個站點(diǎn)每十分鐘一條記錄,是后期數(shù)據(jù)質(zhì)量控制的基礎(chǔ)數(shù)據(jù)表;小時觀測數(shù)據(jù)表(odata_OH):表內(nèi)存有試驗(yàn)站點(diǎn)的小時觀測數(shù)據(jù),每個站點(diǎn)每小時一條記錄,是與基本業(yè)務(wù)站進(jìn)行數(shù)據(jù)對比的基礎(chǔ)數(shù)據(jù)表;分鐘狀態(tài)數(shù)據(jù)表(rdata_OM_JY、rdata_OM_NC、rdata_OM_NJ、rdata_OM_XN、rdata_OM_ZQ):每個實(shí)驗(yàn)站點(diǎn)各一個分鐘狀態(tài)數(shù)據(jù)表,表內(nèi)存有個站點(diǎn)的分鐘運(yùn)行狀態(tài),這5個表是“狀態(tài)查詢”和“狀態(tài)統(tǒng)計(jì)”功能的基礎(chǔ),具有相同的表結(jié)構(gòu)。除了這些主要表外,還有文件名錯誤表(files_Namecheck)、數(shù)據(jù)格式錯誤表(element_Check):表內(nèi)分別存有在進(jìn)行文件名格式檢查是發(fā)現(xiàn)的錯誤信息和數(shù)據(jù)格式錯誤信息;站點(diǎn)信息表(site_Info):存放五個實(shí)驗(yàn)站點(diǎn)的基本信息。

      4主要程序設(shè)計(jì)

      4.1數(shù)據(jù)庫操作類

      class DataCon

      {public SqlConnection getcon()

      {string M_str_sqlcon = "Data Source=.;Initial Catalog=db_SAMTR;Integrated Security=True";

      SqlConnection myCon = new SqlConnection(M_str_sqlcon);

      return myCon;

      }public DataSet getds(string M_str_sqlstr, string M_str_table)

      {SqlConnection sqlcon = this.getcon();

      SqlDataAdapter sqlda = new SqlDataAdapter(M_str_sqlstr, sqlcon);

      DataSet myds = new DataSet();

      sqlda.Fill(myds, M_str_table);

      return myds;

      }}

      其中方法getcon()用來建立數(shù)據(jù)庫連接,M_str_sqlcon為連接字符串;方法getds(string M_str_sqlstr, string M_str_table)創(chuàng)建DetSet對象,將數(shù)據(jù)顯示到窗體的DataGridView控件中,參數(shù)M_str_sqlstr為SQL語句。

      4.2主要數(shù)據(jù)操作

      string sqlstatus = @"INSERT INTO "+station+"(臺站號,觀測時間,部件數(shù)量,FRU數(shù)量,系統(tǒng)部件狀態(tài),FRU狀態(tài),采集狀態(tài),采集信息,地溫狀態(tài),地溫信息,溫濕度狀態(tài),溫濕度信息,風(fēng)狀態(tài),風(fēng)信息,雨?duì)顟B(tài),雨量信息,供電狀態(tài),供電信息) VALUES(@臺站號,@觀測時間,@部件數(shù)量,@FRU數(shù)量,@系統(tǒng)部件狀態(tài),@FRU狀態(tài),@采集狀態(tài),@采集信息, @地溫狀態(tài),@地溫信息,@溫濕度狀態(tài),@溫濕度信息,@風(fēng)狀態(tài),@風(fēng)信息,@雨?duì)顟B(tài),@雨量信息,@供電狀態(tài),@供電信息)";

      SqlCommand command = new SqlCommand(sqlstatus, conn);

      上述sqlstatus為狀態(tài)數(shù)據(jù)入庫時的SQL語句,通過執(zhí)command.ExecuteNonQuery()將處理后的數(shù)據(jù)存入不同的數(shù)據(jù)表中。

      DataCon dataconn = new DataCon();

      DataSet myds = dataconn.getds("select * from " + station + " where觀測時間>=" + strbegin + " and觀測時間<=" + strend + "", ""+ station + "");

      dgvShow.DataSource = myds.Tables["" + station + ""];

      DataSet myds1 = dataconn.getds("select系統(tǒng)部件狀態(tài),count(*)as總數(shù)from " + strstation + " where觀測時間>=" + strbegin + " and觀測時間<" + strend + " group by系統(tǒng)部件狀態(tài)", "" + station + "");

      dataGridView1.DataSource = myds1.Tables["" + station + ""];

      執(zhí)行上述程序分別實(shí)現(xiàn)對運(yùn)行狀態(tài)的查詢顯示及統(tǒng)計(jì)顯示。其中station對應(yīng)站點(diǎn)的數(shù)據(jù)表名稱;strbegin、strend要查詢的開始時間和結(jié)束時間,通過DateTimePicker控件來選擇。查詢結(jié)果會顯示在窗體的DataGridView控件中。

      系統(tǒng)采用C/S(Client/Server)結(jié)構(gòu),初步主要有數(shù)據(jù)入庫、狀態(tài)查詢、故障統(tǒng)計(jì)、設(shè)被參數(shù)查詢顯示等功能(如圖3所示。)。通過公用數(shù)據(jù)庫操作類實(shí)現(xiàn)對數(shù)據(jù)庫的連接及對數(shù)據(jù)庫中數(shù)據(jù)表的操作。

      5.1數(shù)據(jù)入庫界面

      點(diǎn)擊主界面中的“數(shù)據(jù)入庫”按鈕進(jìn)入數(shù)據(jù)入庫界面。首先通數(shù)據(jù)庫操作公用類建立與數(shù)據(jù)庫的連接。在選擇站點(diǎn)數(shù)據(jù)庫后,通過System.IO名稱空間提供的文件讀寫類StreamReader對數(shù)據(jù)文件進(jìn)行解析入庫。在將數(shù)據(jù)文件讀取并按照規(guī)定的格式處理后,通過執(zhí)行SQL語句將處理后的數(shù)據(jù)存入已有的數(shù)據(jù)表中。在處理不同類型(觀測數(shù)據(jù)、狀態(tài)數(shù)據(jù))、不同時間(分鐘、10分鐘、小時)的數(shù)據(jù)時程序會執(zhí)行不同的SQL語句,將數(shù)據(jù)存入對應(yīng)的表中。同時在解析文件時會對文件名的格式和數(shù)據(jù)格式進(jìn)行初步的判斷。如果存在錯誤,錯誤信息會存入已有的表文件名錯誤表(files_Namecheck)、數(shù)據(jù)格式錯誤表(element_Check)中。此外還實(shí)現(xiàn)了對數(shù)據(jù)文件的備份處理,見圖3。

      5.2狀態(tài)查詢界面

      在該查詢界面中選擇查詢站點(diǎn)和時間段后,查詢結(jié)果會顯示到窗體的DataGridView控件中。點(diǎn)擊DataGridView數(shù)據(jù)單元格,此時的系統(tǒng)部件和FRU(可更換單元)的數(shù)據(jù)和解析后的結(jié)果會會顯示到相應(yīng)的位置,如圖5所示。實(shí)現(xiàn)了對任意時間樣機(jī)運(yùn)行狀態(tài)的查詢。為試驗(yàn)階段樣機(jī)的階段性評估及改進(jìn)維護(hù)提供了幫助。

      5.3故障統(tǒng)計(jì)界面

      該界面根據(jù)選擇的站點(diǎn)和時間,對數(shù)據(jù)庫表進(jìn)行檢索并按照系統(tǒng)部件狀態(tài)和RRU狀態(tài)進(jìn)行統(tǒng)計(jì),將查詢結(jié)果顯示到窗體中。通過點(diǎn)擊顯示結(jié)果,可以將統(tǒng)計(jì)的故障信息和故障總數(shù)顯示在界面中,如圖6所示。

      6結(jié)束語

      由于該系統(tǒng)是在項(xiàng)目試驗(yàn)階段為分析數(shù)據(jù)提供幫助而設(shè)計(jì)的,在設(shè)計(jì)和功能上還存在許多不足。在后期的的開發(fā)中會逐步增加觀測數(shù)的查詢顯示、數(shù)據(jù)質(zhì)量控制、對比分析、到報(bào)率統(tǒng)計(jì)等功能,以便為樣機(jī)的運(yùn)行評估提供必要的支持。但是該系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)了對試驗(yàn)驗(yàn)機(jī)觀測數(shù)據(jù)、狀態(tài)數(shù)據(jù)的解析入庫、狀態(tài)查詢及故障統(tǒng)計(jì)分析,為監(jiān)控樣機(jī)運(yùn)行和維護(hù)保障提供了一定的幫助。同時通過對數(shù)據(jù)的分析統(tǒng)計(jì)可以成項(xiàng)目階段性報(bào)告為項(xiàng)目順利完成提供幫助。

      參考文獻(xiàn):

      [1] Waston K. C#入門經(jīng)典[M].齊立波,譯.北京:清華大學(xué)出版社,2008:3-457.

      [2]姜力,高群.SQLServer數(shù)據(jù)庫設(shè)計(jì)與管理[M].北京:北京大學(xué)出版社,2006:22-170

      [3]格魯夫.SQL完全手冊[M].3版.北京:電子工業(yè)出版社,2010:48-178.

      [4] Johansen B.Windows應(yīng)用高級編程—C#篇[M].張哲峰,譯.北京:清華大學(xué)出版社,2002:172-248.

      猜你喜歡
      自動氣象站系統(tǒng)設(shè)計(jì)
      自動氣象站維護(hù)和技術(shù)保障思考
      自動氣象站指示燈在日常維護(hù)中的應(yīng)用
      自動氣象站發(fā)生故障時報(bào)表數(shù)據(jù)處理研究
      一種基于SATA硬盤陣列的數(shù)據(jù)存儲與控制系統(tǒng)設(shè)計(jì)研究
      工業(yè)熱電偶計(jì)量檢定系統(tǒng)設(shè)計(jì)
      基于物聯(lián)網(wǎng)的煤礦智能倉儲與物流運(yùn)輸管理系統(tǒng)設(shè)計(jì)與應(yīng)用
      目標(biāo)特性測量雷達(dá)平臺建設(shè)構(gòu)想
      科技視界(2016年22期)2016-10-18 14:34:34
      星級酒店建筑電氣及弱電智能系統(tǒng)設(shè)計(jì)分析
      新型自動氣象觀測站通信故障維修方法
      探討自動氣象站的雷電防護(hù)技術(shù)
      松潘县| 晴隆县| 高雄县| 会东县| 镇江市| 寻甸| 玉环县| 克山县| 家居| 洪江市| 剑川县| 宁晋县| 昌吉市| 慈利县| 西和县| 沭阳县| 宜城市| 游戏| 双峰县| 甘孜| 乐安县| 那曲县| 阿坝| 嵊泗县| 琼中| 长海县| 永平县| 来宾市| 道真| 横峰县| 凯里市| 郎溪县| 威信县| 巴南区| 福贡县| 乌苏市| 阿勒泰市| 宁城县| 霍山县| 金山区| 东海县|