亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        無(wú)人值守遙測(cè)站多信道系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

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

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

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

        ?

        無(wú)人值守遙測(cè)站多信道系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

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

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

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

        關(guān)鍵詞:遙測(cè)站;多信道;嵌入式

        1 引言

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

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

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

        (1)設(shè)備類(lèi)型固定,不易更換

        當(dāng)更換的通訊設(shè)備類(lèi)型與原通訊設(shè)備的類(lèi)型不同時(shí),必須同時(shí)更換無(wú)人值守遙測(cè)站的核心設(shè)備或者是更換核心設(shè)備的程序。

        (2)代碼復(fù)用率低

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

        (3)系統(tǒng)維護(hù)和升級(jí)困難

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

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

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

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

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

        本系統(tǒng)的設(shè)備模塊是以自解析模塊的形式實(shí)現(xiàn)的,每個(gè)模塊都是單獨(dú)設(shè)計(jì),單獨(dú)實(shí)現(xiàn),支持團(tuán)隊(duì)開(kāi)發(fā)。當(dāng)更換設(shè)備或者是增加新型設(shè)備時(shí),只需將所需的設(shè)備模塊,導(dǎo)入系統(tǒng)即可。

        (3)代碼復(fù)用率高,支持團(tuán)隊(duì)開(kāi)發(fā)

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

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

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

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

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

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

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

        信道接口層:

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

        信道驅(qū)動(dòng)層:

        用來(lái)實(shí)現(xiàn)多信道之間的切換、啟動(dòng)、控制和管理,通過(guò)邏輯判斷語(yǔ)句來(lái)實(shí)現(xiàn)。

        信道設(shè)備層:

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

        (2)原理

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

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

        3 關(guān)鍵技術(shù)

        (1)信道等級(jí)

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

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

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

        (2)設(shè)備等級(jí)

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

        端口設(shè)置界面上,設(shè)備等級(jí)是通過(guò)文本框控件來(lái)實(shí)現(xiàn)的,其取值范圍為0~255,0表示該通訊端口沒(méi)有連接通訊設(shè)備,設(shè)備等級(jí)序號(hào)所代表的邏輯順序與信道驅(qū)動(dòng)層輪詢?cè)O(shè)備的順序相同,在一個(gè)系統(tǒng)中,設(shè)備等級(jí)是不可重復(fù)的,即每個(gè)信道驅(qū)動(dòng)的設(shè)備等級(jí)標(biāo)識(shí)都是唯一的。

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

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

        (4)通訊元

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

        (5)自解析設(shè)備模塊

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

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

        4 實(shí)現(xiàn)

        (1)信道接口層

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

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

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

        2)用戶交互

        信道接口層對(duì)應(yīng)的用戶設(shè)置界面如圖3所示。

        圖3 啟動(dòng)層對(duì)應(yīng)的用戶設(shè)置界面

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

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

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

        (2)信道驅(qū)動(dòng)層

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

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

        (3)信道設(shè)備層

        1)工作內(nèi)容

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

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

        2)用戶交互

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

        圖4 GSM硬件設(shè)備設(shè)置對(duì)話框

        3)讀寫(xiě)配置信息

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

        4)設(shè)備接口

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

        5 結(jié)論

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

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

        參考文獻(xiàn):

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

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

        [3]張強(qiáng),王仁禮,陳天澤.基于Windows CE平臺(tái)的嵌入式GIS開(kāi)發(fā)與應(yīng)用[J].測(cè)繪學(xué)院學(xué)報(bào),2003(2):113-116.

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

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

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

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

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

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

        收稿日期:2015-12-14

        DOI:10.13599/j.cnki.11-5130.2016.04.012

        中圖分類(lèi)號(hào):TP873

        文獻(xiàn)標(biāo)識(shí)碼:A

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

        猜你喜歡
        嵌入式
        Focal&Naim同框發(fā)布1000系列嵌入式揚(yáng)聲器及全新Uniti Atmos流媒體一體機(jī)
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        嵌入式PLC的設(shè)計(jì)與研究
        電子制作(2018年16期)2018-09-26 03:27:18
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開(kāi)發(fā)
        嵌入式單片機(jī)在電機(jī)控制系統(tǒng)中的應(yīng)用探討
        電子制作(2017年8期)2017-06-05 09:36:15
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺(jué)聯(lián)盟
        日本免费精品一区二区三区视频 | 麻豆人妻无码性色AV专区| 久久精品国产亚洲av沈先生| 国产高清乱码又大又圆| 老师粉嫩小泬喷水视频90| 99国产免费热播视频| 亚洲日本va午夜在线电影| 夜夜被公侵犯的美人妻| 成人精品免费av不卡在线观看| 久久熟女少妇一区二区三区| 亚洲色偷偷综合亚洲avyp| √新版天堂资源在线资源| 中文字幕一区在线观看视频| 国精产品一区二区三区| 欧美人与动人物牲交免费观看| 欧美乱人伦中文字幕在线不卡| 亚洲少妇一区二区三区老| 国产精品美女久久久网av| 大香伊蕉国产av| 日本高清在线播放一区二区三区| 九一精品少妇一区二区三区| 无码人妻h动漫中文字幕| 欧美亚洲精品一区二区| 亚洲精品一二区| 日本伦理视频一区二区| 97色伦图片97综合影院| 中出内射颜射骚妇| 日韩在线观看你懂的| 久久99老妇伦国产熟女高清| 自拍视频在线观看国产| 亚洲av无码片vr一区二区三区| 免费人成毛片乱码| 2021久久精品国产99国产| 91久久精品一区二区| 国产啪亚洲国产精品无码| 99久久久久国产| 亚洲黄色大片在线观看| 自拍偷拍 视频一区二区| 久久久久人妻一区精品色欧美| 国产精品 精品国内自产拍| 三级网站亚洲三级一区|