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

        ?

        基于設(shè)計(jì)模式的測(cè)控系統(tǒng)采集控制模塊軟件設(shè)計(jì)

        2015-02-21 06:48:50徐思捷劉浪趙世平
        電子設(shè)計(jì)工程 2015年18期
        關(guān)鍵詞:設(shè)計(jì)模式采集卡適配器

        徐思捷,劉浪,趙世平

        (四川大學(xué) 制造科學(xué)與工程學(xué)院,四川 成都 610065)

        基于設(shè)計(jì)模式的測(cè)控系統(tǒng)采集控制模塊軟件設(shè)計(jì)

        徐思捷,劉浪,趙世平

        (四川大學(xué) 制造科學(xué)與工程學(xué)院,四川 成都 610065)

        針對(duì)某測(cè)控系統(tǒng),開發(fā)了系統(tǒng)的采集控制模塊。模塊設(shè)計(jì)采用了設(shè)計(jì)模式中的適配器模式和單件模式,解決了系統(tǒng)上層軟件對(duì)采集控制設(shè)備函數(shù)耦合度高等問題。在系統(tǒng)的開發(fā)使用過程中,模塊能夠根據(jù)系統(tǒng)需求的變化更換采集控制設(shè)備而不更改上層軟件,并保證設(shè)備穩(wěn)定運(yùn)行,提高了系統(tǒng)的開發(fā)效率和可維護(hù)性。

        測(cè)控系統(tǒng);采集控制模塊;設(shè)計(jì)模式;軟件設(shè)計(jì)

        設(shè)計(jì)模式是面向?qū)ο筌浖脑O(shè)計(jì)經(jīng)驗(yàn)的總結(jié),每一個(gè)設(shè)計(jì)模式系統(tǒng)的命名、解釋和評(píng)價(jià)了面向?qū)ο笙到y(tǒng)中一個(gè)重要的和重復(fù)出現(xiàn)的設(shè)計(jì)[1]。設(shè)計(jì)模式是人們可以更加簡(jiǎn)單方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu),幫助人們做出有利于系統(tǒng)復(fù)用的選擇,從而使人們做出復(fù)用性好和靈活性好的設(shè)計(jì)[2]。

        在測(cè)控系統(tǒng)的采集控制模塊的開發(fā)過程中,有時(shí)用戶的個(gè)別需求無(wú)法明確,這使得一些硬件方案和一些功能的細(xì)節(jié)往往需要隨著項(xiàng)目的推進(jìn)才能得以確定。然而,有時(shí)硬件方案的修改和細(xì)節(jié)功能的改變,往往造成大量的代碼修改,為軟件開發(fā)帶來(lái)一定的困擾。在此,嘗試使用設(shè)計(jì)模式和面向?qū)ο缶幊趟枷?對(duì)測(cè)控系統(tǒng)數(shù)據(jù)采集模塊架構(gòu)層面的設(shè)計(jì),降低各個(gè)模塊之間的耦合,增強(qiáng)系統(tǒng)軟件的可擴(kuò)展性、可維護(hù)性和可靠性。

        1 采集控制模塊

        1.1 采集控制設(shè)備簡(jiǎn)介

        在測(cè)控系統(tǒng)中,各個(gè)被測(cè)物理量(力、位移等)通過傳感器采集;傳感器的采集信號(hào),傳到采集設(shè)備中,采集設(shè)備再對(duì)信號(hào)進(jìn)行處理(數(shù)模轉(zhuǎn)換等);計(jì)算機(jī)再通過軟件驅(qū)動(dòng)采集設(shè)備,獲取傳感器的輸出信號(hào)的數(shù)值,經(jīng)過進(jìn)一步處理后,再通過輸出信號(hào)到執(zhí)行機(jī)構(gòu),從而完成對(duì)系統(tǒng)的控制。因此采集控制設(shè)備是傳感器和執(zhí)行機(jī)構(gòu)與工控機(jī)的橋梁,上層軟件獲取傳感器數(shù)值和對(duì)系統(tǒng)執(zhí)行機(jī)構(gòu)進(jìn)行控制,均要通過采集設(shè)備來(lái)完成。

        隨著工控機(jī)在工業(yè)控制中的應(yīng)用越來(lái)越廣泛,為滿足工控機(jī)獲取數(shù)據(jù)的需要,國(guó)內(nèi)外許多廠商生產(chǎn)了各種各樣的采集控制設(shè)備,主要是以數(shù)據(jù)采集卡(或I/O板卡)的形式居多。這類板卡多參照計(jì)算機(jī)總線技術(shù),直接插入到主機(jī)相應(yīng)的擴(kuò)展槽中,就可以快速方便的構(gòu)成一個(gè)數(shù)據(jù)采集控制系統(tǒng)。目前數(shù)據(jù)采集卡的種類越來(lái)越多,根據(jù)采集信號(hào)不同可以分為模擬量輸入板卡、模擬量輸出板卡、數(shù)字量輸入板卡、數(shù)字量輸出板卡、多功能采集卡等;也出現(xiàn)一些不同總線類型的板卡,如CAN總線采集卡、PCI總線采集卡、網(wǎng)絡(luò)總線采集卡等等,這些采集板卡有多種工作模式、采樣頻率、量程精度選擇,可以滿足不同的采集控制需求。本文所開發(fā)的測(cè)控系統(tǒng)是隨著產(chǎn)品的開發(fā)而開發(fā),對(duì)采樣頻率的要求多次變化,經(jīng)過測(cè)試多款設(shè)備后,選擇研華公司的PCI-1716數(shù)據(jù)采集卡,該采集卡是具有模擬量輸入輸出、數(shù)字量輸入輸出的多功能采集卡,其中模擬量輸入具有8路差分輸入,16位的分辨率和250 ks/s的采樣頻率。

        1.2 采集控制模塊簡(jiǎn)介

        通常每一套采集控制設(shè)備的廠商會(huì)提供一個(gè)軟件驅(qū)動(dòng),并提供一套API(Application Programming Interface,應(yīng)用程序編程接口)讓用戶操作設(shè)備。但是,如果在系統(tǒng)軟件中直接對(duì)這些API函數(shù)進(jìn)行調(diào)用,則程序會(huì)與底層的采集模塊緊密耦合;如果因?yàn)樾枨蟮母淖?如被采集信號(hào)頻率發(fā)生變化等原因而需要更換采集設(shè)備,則程序有大量模塊需要重新編寫,不利于程序的可維護(hù)性和擴(kuò)展性。因此,需要設(shè)計(jì)采集控制模塊,其主要功能是設(shè)計(jì)接口對(duì)廠家提供的API函數(shù)進(jìn)行封裝,以方便軟件其他模塊進(jìn)行調(diào)用,同時(shí),也可以降低上層軟件與廠家提供的API函數(shù)間的耦合。

        2 設(shè)計(jì)模式在采集控制模塊設(shè)計(jì)中的應(yīng)用

        2.1 設(shè)計(jì)模式簡(jiǎn)介

        設(shè)計(jì)模式是有經(jīng)驗(yàn)的設(shè)計(jì)者總結(jié)出的一些解決特定設(shè)計(jì)問題的解決方案。當(dāng)找到一個(gè)好的設(shè)計(jì)方案,如果能夠一遍一遍的復(fù)用,就可以將新的設(shè)計(jì)建立在以往的工作基礎(chǔ)上,可以提高工作效率[3]。應(yīng)用設(shè)計(jì)模式,可以使面你選哪個(gè)對(duì)象的設(shè)計(jì)更加靈活、優(yōu)雅,最終復(fù)用性和可維護(hù)性更好。總而言之,設(shè)計(jì)模式的目的是為了使人們更易于編寫和修改程序,提高代碼的可復(fù)用性和可維護(hù)性。一般來(lái)說(shuō),一種模式具備4個(gè)基本要素:模式名稱(pattern name)、問題(problem)、解決方案(solution)、效果(consequence)。

        2.2 基于適配器模式的設(shè)計(jì)

        適配器模式的意圖是將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作,從而使得程序間的耦合更松[4]。適配器模式分為類適配器和對(duì)象適配器。適配器模式包含Target類,Adaptee類和Adapter類,Target類是定義用戶使用的接口,Adaptee類是已經(jīng)存在的接口,這個(gè)接口需要適配, Adapter類是將Adaptee類與Adapter類進(jìn)行適配。

        如前所說(shuō),采集控制模塊主要是設(shè)計(jì)設(shè)計(jì)接口對(duì)設(shè)備提供的API函數(shù)進(jìn)行封裝。設(shè)計(jì)接口需要根據(jù)系統(tǒng)軟件的需要和設(shè)備的特點(diǎn)進(jìn)行設(shè)計(jì)。然而,不同的設(shè)備所配備的API函數(shù)各不相同,為使得系統(tǒng)能夠正常調(diào)用設(shè)備的API函數(shù),故需要設(shè)計(jì)一個(gè)適配器類。

        圖1 基于適配器模式的采集控制模塊類圖Fig.1 The class diagram of measurement and control module class on the basis of adapter pattern

        按照適配器模式設(shè)計(jì)的采集控制模塊類圖如圖1所示, AutomationBaq類是PCI-1716廠家提供的操作設(shè)備的庫(kù)函數(shù),屬于被適配類。AbsDevice類為目標(biāo)接口,上層軟件通過操作該類來(lái)操作設(shè)備,該類不能直接用來(lái)直接聲明,只能用其指針指向其派生對(duì)象。AbsDevice類中,抽象出open、close、read、write、isReady五種方法。其中,open方法主要用于設(shè)備采集控制前的準(zhǔn)備工作,如啟動(dòng)設(shè)備、初始化設(shè)備,對(duì)于分布式的采集設(shè)備可能還包括與遠(yuǎn)端模塊的連接等。其參數(shù)(AbsDeviceCfg absCfg)主要是用于傳遞設(shè)備啟動(dòng)所需參數(shù),通常包括設(shè)備號(hào)、采樣頻率、工作模式等等,原則上每一種設(shè)備會(huì)有一個(gè)類繼承于AbsDeviceCfg類來(lái)保存其參數(shù);close方法主要用于在程序退出時(shí)關(guān)閉設(shè)備;read方法主要用于獲取設(shè)備數(shù)據(jù),該方法主要有3個(gè)參數(shù),paraObject主要是用于選擇設(shè)備的讀取方式,如一些多功能采集設(shè)備包含模擬量和數(shù)字量采集,或者一些采集設(shè)備包括多種模擬量采集方式,如連續(xù)采樣和有限采樣等等,data主要是用來(lái)儲(chǔ)存獲取的數(shù)據(jù), length用來(lái)表示需要獲取數(shù)據(jù)的長(zhǎng)度;write方法主要用于輸出需要的控制量,從而對(duì)執(zhí)行機(jī)構(gòu)進(jìn)行控制,其參數(shù)意義與read方法的參數(shù)意義類似;isready方法主要用于判斷設(shè)備是否在可以開始工作;類中的storedCfg和defaultCfg主要用于對(duì)參數(shù)的存儲(chǔ),type則是用于判斷傳遞的參數(shù)的類型是否與設(shè)備一致。Dev1716類為適配器類,繼承于目標(biāo)類AbsDevice類,通過調(diào)用廠家給的函數(shù)庫(kù)類來(lái)重寫目標(biāo)類的5種方法,值得注意的是某些設(shè)備當(dāng)操作順序出現(xiàn)錯(cuò)誤的時(shí)候會(huì)使程序出現(xiàn)異常,甚至導(dǎo)致程序崩潰,在重寫適配器類的時(shí)候應(yīng)避免這類問題,在上層軟件調(diào)用順序錯(cuò)誤時(shí)(如先調(diào)用了read方法,再調(diào)用open方法)應(yīng)通過返回值反饋給上層軟件,以提高系統(tǒng)的穩(wěn)定性。

        按照上述的接口,對(duì)庫(kù)函數(shù)進(jìn)行封裝后,上層軟件對(duì)采集設(shè)備的調(diào)用均通過目標(biāo)類,做到了上層軟件與底層設(shè)備的隔離。如果遇到因?yàn)樾枨蟾淖兊仍蚨坏貌桓鼡Q設(shè)備,也幾乎不需要改變上層軟件的代碼,僅需重寫適配器類即可。不僅如此,使用適配器模式還可以使得上層軟件的開發(fā)與下層適配器類的編寫同步進(jìn)行,上層軟件開發(fā)的時(shí)候可以使用虛擬的設(shè)備類進(jìn)行測(cè)試,大大提高了軟件的開發(fā)效率。因此在這里采用適配器模式可以減小程序?qū)υO(shè)備的庫(kù)函數(shù)的依賴,增強(qiáng)軟件的可維護(hù)性和可復(fù)用性。

        2.3 基于單件模式的設(shè)計(jì)

        單件模式的意圖是保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)[5]。實(shí)現(xiàn)這一意圖主要是通過將創(chuàng)建這個(gè)實(shí)例的操作隱藏在一個(gè)類操作 (即一個(gè)靜態(tài)成員函數(shù)或者一個(gè)類方法)后面,由它保證只有一個(gè)實(shí)例被創(chuàng)建[6-7]。這個(gè)操作可以訪問保存唯一實(shí)例的變量,而且它可以保證這個(gè)變量在返回值之前用這個(gè)唯一實(shí)例初始化。

        一個(gè)設(shè)備的正確使用往往有需要按照一定的操作步驟,如先初始化設(shè)備、設(shè)置參數(shù)再讀取信號(hào)等。在測(cè)控系統(tǒng)的持續(xù)運(yùn)行中,一個(gè)采集設(shè)備往往在程序不同部分被操作。如果在程序中,一個(gè)采集設(shè)備被實(shí)例化多次而產(chǎn)生多個(gè)對(duì)象,由于對(duì)象之間是相互獨(dú)立的,則有可能導(dǎo)致對(duì)設(shè)備的錯(cuò)誤操作,并且影響到程序的正常執(zhí)行。

        在測(cè)控系統(tǒng)中,為避免設(shè)備被多次被實(shí)例化,同時(shí)也便于對(duì)設(shè)備的狀態(tài)進(jìn)行監(jiān)控,設(shè)計(jì)一個(gè)DeviceManger類對(duì)設(shè)備進(jìn)行管理。DeviceManger類的類圖如圖2所示。

        圖2 基于單件模式的DeviceManger類圖Fig.2 The class diagram of device manger class on the basis of singleton pattern

        用戶可以通過調(diào)用GetInstance方法獲取該類的唯一實(shí)例,該方法在第一次調(diào)用的時(shí)候創(chuàng)建類的唯一實(shí)例,以后的調(diào)用則返回該實(shí)例。該類包含了一個(gè)私有的容器類(arrayList),主要有設(shè)備對(duì)象的添加、查找、移除、停止等方法,在程序初始化的時(shí)候調(diào)用創(chuàng)建添加設(shè)備對(duì)象,在程序運(yùn)行過程中,根據(jù)需要查找到相應(yīng)設(shè)備對(duì)象進(jìn)行操作。該類的設(shè)計(jì)采用單件模式,只在程序開始時(shí)創(chuàng)建設(shè)備對(duì)象并添加,可以保證設(shè)備對(duì)象從始至終只被創(chuàng)建一次,并且程序各部分可以方便的獲取設(shè)備對(duì)象進(jìn)行操作,其代碼如下所示:

        3 結(jié)束語(yǔ)

        設(shè)計(jì)模式使得人們可以輕松地借鑒前人設(shè)計(jì)的經(jīng)典解決方案。通過軟件的開發(fā)和實(shí)際使用效果證明,在測(cè)控系統(tǒng)的采集控制模塊的設(shè)計(jì)與開發(fā)的過程中使用設(shè)計(jì)模式的思想,有效的解決了開發(fā)過程中遇到的問題,提高了系統(tǒng)的穩(wěn)定性、可維護(hù)性和復(fù)用性,大大提高了軟件的開發(fā)效率。對(duì)于設(shè)計(jì)模式的使用,關(guān)鍵在于正確理解每個(gè)模式的意圖和使用條件,還有能正確地對(duì)程序中相似內(nèi)容的抽象,這都需要在軟件開發(fā)的實(shí)踐過程中進(jìn)行摸索和總結(jié)。

        [1]周毅.設(shè)計(jì)模式在IT資源管理系統(tǒng)中的應(yīng)用[J].微計(jì)算機(jī)信息,2008(3):245-246,272.ZHOU Yi.The application of design patterns in IT resource management system [J].Microcomputer Information,2008(3): 245-246,272.

        [2]洪槲.設(shè)計(jì)模式在電子交易系統(tǒng)的研究與應(yīng)用[D].廣州:中山大學(xué),2006.

        [3]魏新穎.設(shè)計(jì)模式在構(gòu)建基于.Net的多層Web應(yīng)用程序的應(yīng)用研究[D].北京:華北電力大學(xué),2006.

        [4]陳天超.接口在設(shè)計(jì)模式中的應(yīng)用[J].自動(dòng)化與儀器儀表,2013(5):112-113.CHEN Tian-chao.Application of interface in design pattern[J].Automation and Instruments,2013(5):112-113.

        [5]何泓偉.設(shè)計(jì)模式混合的構(gòu)造方法研究及應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(5):999-1001,1042.HE Hong-wei.Design pattern mix structure method research and application[J].Computer Engineering and Design,2007(5): 999-1001,1042.

        [6]賀馮政.網(wǎng)絡(luò)游戲服務(wù)器通信架構(gòu)及關(guān)鍵技術(shù)研究[D].成都:電子科技大學(xué),2008.

        [7]陽(yáng)建華,鄭瑩娜,曠雪梅,等.基于PCI-1220U的電動(dòng)助力轉(zhuǎn)向器性能測(cè)試系統(tǒng)研究 [J].工業(yè)儀表與自動(dòng)化裝置, 2013(2):22-26.YANG Jian-hua,ZHENG Ying-na,KUANG Xue-mei,et al.Research on performance test of electric power steering system based on PCI-1220U [J].Industrial Instrumentation &Automation,2013(2):22-26.

        The software design of the data acquisition module of measurement and control system on the basis of design pattern

        XU Si-jie,LIU Lang,ZHAO Shi-ping
        (School of Manufactory Science and Engineering,Sichuan University,Chengdu 610065,China)

        Design a acquisition and control module for a measurement and control system software.Using Adapter Pattern and Singleton Pattern,the module solve the problem of serious coupling between the upper software and functions of acquisition and control devices.In the development and use of the system,the module makes it possible for replacing the device without changing upper software,and guarantees devices work well,and improve the efficiency and maintainability of the system.

        measurement and control system;acquisition and control Module;design pattern;software design

        TN99

        :A

        :1674-6236(2015)18-0038-03

        2014-11-24稿件編號(hào):201411203

        徐思捷(1989—),男,四川成都人,碩士。研究方向:儀器儀表工程。

        猜你喜歡
        設(shè)計(jì)模式采集卡適配器
        仿生設(shè)計(jì)模式的創(chuàng)新應(yīng)用探索
        玩具世界(2023年6期)2024-01-29 12:14:36
        “1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
        高精度AD采集卡性能測(cè)試及評(píng)價(jià)方法研究
        交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
        適配器模式及其應(yīng)用
        面向數(shù)控機(jī)床的多通道傳感數(shù)據(jù)采集卡設(shè)計(jì)
        新型水文測(cè)驗(yàn)GPS適配器設(shè)計(jì)與應(yīng)用
        并行高速采樣在地震物理模擬采集中的應(yīng)用
        PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
        電子器件(2015年5期)2015-12-29 08:43:12
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
        国产成人一区二区三区| 荡女精品导航| 在线观看国产内射视频| 国内人妖一区二区在线播放| 中文字幕漂亮人妻在线| 久久精品国产亚洲av电影网| 久久久久亚洲av无码网站| 人妻av午夜综合福利视频| 日韩精品在线观看在线| 麻豆精品国产精华液好用吗| 国产偷国产偷亚洲清高| 99久久精品国产亚洲av天| 日本一区二区三区区视频| 久久久久99精品成人片直播| 精品88久久久久88久久久| 少妇被爽到自拍高潮在线观看| 国产免费二区三区视频| 天堂8在线天堂资源bt| 日本一本久道| 亚洲无av高清一区不卡| 先锋影音人妻啪啪va资源网站| 久久亚洲精品成人av| 免费一区二区三区视频狠狠| 亚洲精品中文字幕一二三| 在线观看的网站| 久久97精品久久久久久久不卡| 开心五月婷婷综合网站| 蜜臀av毛片一区二区三区| 久久久国产精品黄毛片| 国产在线视频国产永久视频| 亚洲乱码中文字幕第一页| 午夜天堂精品久久久久| 日本亚洲国产一区二区三区| 成人国产在线播放自拍| 少妇连续高潮爽到抽搐| 天天天天躁天天爱天天碰| 99JK无码免费| 亚州无吗一区二区三区| 久久久精品一区aaa片| 亚洲国产夜色在线观看| 色综合久久人妻精品日韩|