• 
    

    
    

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

      無人值守遙測站多信道系統(tǒng)設計與實現(xiàn)

      2016-05-30 08:48:29于興晗蓋優(yōu)普
      水電站機電技術(shù) 2016年4期
      關鍵詞:嵌入式

      郭 易,于興晗,蓋優(yōu)普,侯 煜

      (中國水利水電科學研究院,北京100038)

      ?

      無人值守遙測站多信道系統(tǒng)設計與實現(xiàn)

      郭易,于興晗,蓋優(yōu)普,侯煜

      (中國水利水電科學研究院,北京100038)

      摘要:介紹了一種應用在無人值守遙測站上的多信道系統(tǒng)設計與實現(xiàn)。利用面向?qū)ο缶幊碳夹g(shù),基于通訊設備的工作流程和原理,建立多信道系統(tǒng)工作模型。以流程圖+框圖的方式介紹其原理和關鍵技術(shù)。以實際項目為例,使用C/C++語言,在運行嵌入式操作系統(tǒng)Windows CE5的遙測站上實現(xiàn)的多信道系統(tǒng)為例,介紹具體實現(xiàn)過程。

      關鍵詞:遙測站;多信道;嵌入式

      1 引言

      為解決無人值守遙測站同時使用多個通訊設備的切換、控制、管理和啟動的問題,減少現(xiàn)場更換或者是安裝通訊設備的難度,本文設計并在新型無人值守遙測站上實現(xiàn)了一種基于輪詢技術(shù)的多信道切換系統(tǒng)。

      傳統(tǒng)的無人值守遙測站通常具有兩個信道,固定安裝兩個通訊設備,在主信道通訊設備發(fā)送數(shù)據(jù)失敗的情況下,啟動備用信道發(fā)送數(shù)據(jù)以保證數(shù)據(jù)的暢通率。通常來講,這種結(jié)構(gòu)能夠滿足一般的對數(shù)據(jù)暢通率和數(shù)據(jù)連續(xù)性要求不高的應用。

      隨著江河流域及水庫洪水預告、防洪調(diào)度及水資源公道利用的要求不斷提高,對于無人值守遙測站傳送數(shù)據(jù)的連續(xù)性和暢通率的要求也越來越高,傳統(tǒng)的雙信道結(jié)構(gòu)在實際應用中弊端也越來越明顯,主要問題有:

      (1)設備類型固定,不易更換

      當更換的通訊設備類型與原通訊設備的類型不同時,必須同時更換無人值守遙測站的核心設備或者是更換核心設備的程序。

      (2)代碼復用率低

      大部分通訊設備的控制和管理都是通過分支程序單獨實現(xiàn),一般來講,所支持的通訊設備個數(shù)與管理程序的分支程序個數(shù)相同,當增加新型設備時,分支程序需要重新開發(fā)。

      (3)系統(tǒng)維護和升級困難

      由于傳統(tǒng)的雙信道結(jié)構(gòu)大部分是通過唯一的程序?qū)崿F(xiàn)的,所以來進行系統(tǒng)的維護和升級的人員必須熟悉整個系統(tǒng)的工作流程和代碼,一般只能由開發(fā)者來實現(xiàn),不支持團隊開發(fā),升級困難。

      針對以上弊端,本文設計了一種新型的多信道切換系統(tǒng)。與傳統(tǒng)的雙信道系統(tǒng)相比具有以下明顯優(yōu)勢:

      (1)信道層獨立,支持信道多樣化

      本系統(tǒng)將信道單獨作為一層來設計,在滿足公共接口的情況下,信道層可以單獨設計,單獨開發(fā),也可與主系統(tǒng)同時設計、同時開發(fā)、并行實現(xiàn)、支持團隊開發(fā)。

      (2)設備模塊易于實現(xiàn)

      本系統(tǒng)的設備模塊是以自解析模塊的形式實現(xiàn)的,每個模塊都是單獨設計,單獨實現(xiàn),支持團隊開發(fā)。當更換設備或者是增加新型設備時,只需將所需的設備模塊,導入系統(tǒng)即可。

      (3)代碼復用率高,支持團隊開發(fā)

      本系統(tǒng)的信道層和設備模塊都是以動態(tài)鏈接庫的形式實現(xiàn)的,開發(fā)者只需要了解對應接口的規(guī)定就可自主開發(fā)。這種模式非常適合團隊開發(fā)。

      (4)支持嵌入式系統(tǒng)和桌面系統(tǒng)

      本文所設計的系統(tǒng),具有一定的通用性,非常適合在除Windows CE外的其他嵌入式系統(tǒng)或者是桌面系統(tǒng)中使用。

      2 結(jié)構(gòu)及工作原理

      (1)系統(tǒng)結(jié)構(gòu)

      多信道系統(tǒng)主要通過三層結(jié)構(gòu)來實現(xiàn),系統(tǒng)結(jié)構(gòu)圖如圖1所示。

      圖1 多信道系統(tǒng)結(jié)構(gòu)圖

      信道接口層:

      信道接口層為多信道系統(tǒng)的第一層,提供系統(tǒng)與外部主程序聯(lián)系的接口,以接口函數(shù)的形式來實現(xiàn)。

      信道驅(qū)動層:

      用來實現(xiàn)多信道之間的切換、啟動、控制和管理,通過邏輯判斷語句來實現(xiàn)。

      信道設備層:

      用于管理通訊設備的控制指令代碼。

      (2)原理

      多信道系統(tǒng)工作流程如圖2所示。首先,主進程通過信道接口層預定義的接口函數(shù),對多信道系統(tǒng)的運行環(huán)境進行初始化工作,包括讀取端口配置信息,以設備的信道等級為序號組成設備數(shù)組,將所有信道連接的通訊設備按照系統(tǒng)需求進行配置;工作時,系統(tǒng)先啟動信道驅(qū)動層,根據(jù)信道接口層傳遞的信道等級參數(shù)和設備數(shù)組,按照固定的算法進行掃描,直至找到信道等級所指定的設備或者是設備數(shù)組掃描結(jié)束;最后根據(jù)設備驅(qū)動層掃描的結(jié)果啟動信道設備層,通過接口函數(shù)返回的設備指令列表來驅(qū)動通訊設備,發(fā)送數(shù)據(jù)。

      圖2 多信道系統(tǒng)工作流程圖

      3 關鍵技術(shù)

      (1)信道等級

      本文在設計多信道系統(tǒng)時,為便于實現(xiàn)和讀者理解,提出信道等級概念。

      信道等級在本系統(tǒng)中指的是可以在信道接口層GUI界面中設置,作為通訊模塊的一個屬性存儲在系統(tǒng)配置文件中,主要用來標定信道啟動的邏輯順序,和設備等級配合來實現(xiàn)信道控制邏輯的一個用阿拉伯數(shù)字表示的屬性。

      在GUI界面上,信道等級在C/C++實現(xiàn)中是通過文本框控件來實現(xiàn)的,其取值范圍一般為0~255,0表示該信道沒有通訊任務,阿拉伯數(shù)字所代表的序號與信道驅(qū)動層所驅(qū)動的設備最低等級相同,不同信道可以有相同的信道等級。

      (2)設備等級

      設備等級在本系統(tǒng)中指的是可以在信道驅(qū)動層GUI設置界面中設置,作為通訊端口的一個屬性,存儲在端口配置文件中,主要用來標定端口所接設備的控制和管理邏輯順序,和信道等級配合使用,來實現(xiàn)設備之間的切換和管理。

      端口設置界面上,設備等級是通過文本框控件來實現(xiàn)的,其取值范圍為0~255,0表示該通訊端口沒有連接通訊設備,設備等級序號所代表的邏輯順序與信道驅(qū)動層輪詢設備的順序相同,在一個系統(tǒng)中,設備等級是不可重復的,即每個信道驅(qū)動的設備等級標識都是唯一的。

      (3)端口配置信息存儲結(jié)構(gòu)

      本系統(tǒng)實現(xiàn)的關鍵是對通訊端口配置信息的管理,包括對端口配置屬性參數(shù)的讀寫;在對端口屬性進行讀寫時,在實現(xiàn)上使用了COMsetup數(shù)據(jù)結(jié)構(gòu),C/C++語言定義如下所示。

      (4)通訊元

      在對通訊設備進行訪問時,需要對通訊設備的工作原理進行分析,了解整個通訊設備的工作流程,控制邏輯;目前在水情測報領域,使用的通訊設備大部分是指令控制類,如使用AT指令集的GSM模塊,PSTN Modem;自定義指令集的如北斗,海事等;通過對這些設備進行分析,在實現(xiàn)時使用了COMunit結(jié)構(gòu)體來對整個工作流程進行分析,實現(xiàn);C/C++語言定義如下所示。

      (5)自解析設備模塊

      本系統(tǒng)在設計設備模塊時,采用了一種自解析設備模塊結(jié)構(gòu)。所謂的自解析設備模塊,在本系統(tǒng)指的是設備模塊的實現(xiàn),包括屬性的設置、存儲和解析都是通過模塊自身的代碼來實現(xiàn),只提供給外部程序調(diào)用自身的標準接口。在本文使用C/C++實現(xiàn)時,以動態(tài)鏈接庫+配置文件的方式;配置文件用來存儲與硬件設備相關的屬性配置信息,文件的格式自定義,單獨存儲,單獨管理,只有動態(tài)鏈接庫可以讀寫配置文件,將配置文件和動態(tài)鏈接庫放在一個文件夾中即可形成一個完整的硬件設備模塊。

      自解析硬件模塊的這種設計方式充分實現(xiàn)了硬件設備的獨立性,在滿足接口條件的情況下,開發(fā)者完全可以自主設計,自主開發(fā)硬件模塊,充分利用自己手中的資源,設計和實現(xiàn)硬件模塊;非常適合團體開發(fā),提高整個系統(tǒng)的開發(fā)效率。

      4 實現(xiàn)

      (1)信道接口層

      1)主要工作內(nèi)容

      信道接口層的主要工作內(nèi)容如表1所示。所有工作內(nèi)容的C/C++具體實現(xiàn),關鍵數(shù)據(jù)的存儲,和主要函數(shù)的傳遞參數(shù),都是通過自定義的系統(tǒng)配置文件來實現(xiàn)的。

      表1 信道接口層主要工作內(nèi)容

      2)用戶交互

      信道接口層對應的用戶設置界面如圖3所示。

      圖3 啟動層對應的用戶設置界面

      與信道等級相關的設置項指的就是圖3靜態(tài)文本(等級:)后面的文本框控件,此控件設置的是對應數(shù)據(jù)動作(平安報、定時報及閥值報)能使用的信道最高等級。具體行為與數(shù)據(jù)動作規(guī)定有關(無人值守遙測站的功能)。

      3)數(shù)據(jù)動作(提供接口)

      數(shù)據(jù)動作是由無人值守遙測站的功能決定的,在水情測報領域,無人值守遙測站的數(shù)據(jù)動作一般包含3個數(shù)據(jù)動作,平安報,主要目的是為了驗證遙測站設備的工作狀態(tài),驗證數(shù)據(jù)通訊信道的安全問題,一般在早上8∶00和晚上20∶00,啟動所有信道將數(shù)據(jù)發(fā)送到中心站;定時報,根據(jù)所設的時間間隔,定時啟動信道發(fā)送數(shù)據(jù);閾值報,當前數(shù)值大于所設閥值(閾值)時,啟動信道發(fā)送數(shù)據(jù)。

      (2)信道驅(qū)動層

      信道驅(qū)動層的主要內(nèi)容如表2所示,所有工作內(nèi)容的C/C++具體實現(xiàn),關鍵數(shù)據(jù)的存儲,和主要函數(shù)的傳遞參數(shù),都是通過數(shù)據(jù)結(jié)構(gòu)COMsetup來實現(xiàn)的。

      表2 信道驅(qū)動層的主要內(nèi)容

      (3)信道設備層

      1)工作內(nèi)容

      信道設備層的主要工作內(nèi)容如表3所示,其中設備接口的C/C++實現(xiàn)主要是通過COMunit結(jié)構(gòu)為參數(shù),作為基本的描述單元來實現(xiàn)的。

      表3 信道設備層的主要工作內(nèi)容

      2)用戶交互

      由于硬件驅(qū)動層的開發(fā)在滿足設備接口的情況下完全可以自主設計,自主開發(fā),因此開發(fā)結(jié)果也會多種多樣,為便于讀者理解,本文僅提供作者開發(fā)的一個手機短信模塊為例。設置界面如圖4所示。

      圖4 GSM硬件設備設置對話框

      3)讀寫配置信息

      由于硬件設備模塊采用的是自解析設備模塊,因此在配置信息的讀寫上,采用的是自定義的格式文件,此格式不固定,在C/C++實現(xiàn)中,本文采用了格式化輸出文本的方式。

      4)設備接口

      設備接口在本文中指的是,由信道設備層提供,信道驅(qū)動層調(diào)用的公共接口(即固定的接口函數(shù)),不同實現(xiàn)的設備模塊,設備接口是一致的。在C/C++實現(xiàn)中,設備接口的實現(xiàn)主要依靠COMunit數(shù)據(jù)結(jié)構(gòu),所有的接口函數(shù)都是圍繞COMunit來實現(xiàn)的,即有的接口函數(shù)返回值是COMunit或COMunit數(shù)組,有的函數(shù)參數(shù)是COMunit或COMunit數(shù)組。

      5 結(jié)論

      本文介紹的多信道切換系統(tǒng)技術(shù)優(yōu)勢明顯,在嵌入式系統(tǒng)中容易實現(xiàn)。同時本文描述實現(xiàn)所用的語言是比較通用的C/C++語言,通用性比較強,只作少量的改動就可以將其移植到其他系統(tǒng)中,如桌面Windows系列的操作系統(tǒng)、VxWorks、Windows CE 和Linux系統(tǒng)等。

      這種多信道切換系統(tǒng)已經(jīng)在最新設計的32位嵌入式數(shù)據(jù)采集器中進行了應用,從實驗結(jié)果來看,這種多信道切換系統(tǒng)的優(yōu)勢十分明顯。在硬件通訊端口容許的范圍內(nèi)所支持的信道可以無限,開發(fā)者只需作少量的工作就可以把新設備加入系統(tǒng),對于需要支持多信道的系統(tǒng),提供了一種有效的解決辦法,值得其他人借鑒。

      參考文獻:

      [1]王兵,李存斌,陳鵬,等.EVC高級編程及其應用開發(fā)[M].北京:中國水利水電出版社,2005:290.

      [2]侯俊杰.深入淺出MFC[M].2版.武漢:華中科技大學出版社,2002:553.

      [3]張強,王仁禮,陳天澤.基于Windows CE平臺的嵌入式GIS開發(fā)與應用[J].測繪學院學報,2003(2):113-116.

      [4]方弄玉,趙劍萍.基于ARM LPC2119的水情測報終端設計與實現(xiàn)[J].電子設計工程,2010(8):58-60.

      [5]張海波.基于ARM的水情遙測基站研發(fā)[J].水利科技與經(jīng)濟,2008(1):79-81.

      [6]劉水泉.GSM/ GPRS短信技術(shù)的水情自動測報系統(tǒng)研究[J].山西水利科技,2010(2):81-83.

      [7]李長江,張淑清,劉春成.基于組件的水情測報系統(tǒng)軟件設計[J].水電站機電技術(shù),2004(4):41-42.

      [8]孫增義,白木寧,胡婉明,等.衛(wèi)星、超短波混合組網(wǎng)水情信息通信——飛來峽水利樞紐水情測報和調(diào)度系統(tǒng)設計簡介[J].水電廠自動化,2000(1):43-48.

      作者簡介:郭易(1973-),男,高級工程師,從事水情水調(diào)專業(yè)管理工作。

      收稿日期:2015-12-14

      DOI:10.13599/j.cnki.11-5130.2016.04.012

      中圖分類號:TP873

      文獻標識碼:A

      文章編號:1672-5387(2016)04-0035-04

      猜你喜歡
      嵌入式
      Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
      TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
      電子制作(2019年7期)2019-04-25 13:17:14
      基于嵌入式Linux內(nèi)核的自恢復設計
      嵌入式系統(tǒng)通信技術(shù)的應用
      電子制作(2018年18期)2018-11-14 01:48:16
      嵌入式PLC的設計與研究
      電子制作(2018年16期)2018-09-26 03:27:18
      搭建基于Qt的嵌入式開發(fā)平臺
      基于嵌入式系統(tǒng)Windows CE的應用程序開發(fā)
      嵌入式單片機在電機控制系統(tǒng)中的應用探討
      電子制作(2017年8期)2017-06-05 09:36:15
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
      Altera加入嵌入式視覺聯(lián)盟
      高平市| 汉中市| 呼图壁县| 大洼县| 敖汉旗| 岳普湖县| 普陀区| 南阳市| 渝北区| 盖州市| 威信县| 灌南县| 新津县| 锡林郭勒盟| 渭源县| 莆田市| 富宁县| 高邮市| 云浮市| 车致| 横峰县| 安陆市| 府谷县| 长子县| 灌南县| 昭通市| 台南县| 香格里拉县| 石柱| 峨眉山市| 若羌县| 隆德县| 饶平县| 罗山县| 宁津县| 建瓯市| 松阳县| 怀仁县| 克拉玛依市| 新竹县| 南昌县|