999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于設計模式的測控系統采集控制模塊軟件設計

2015-02-21 06:48:50徐思捷劉浪趙世平
電子設計工程 2015年18期
關鍵詞:設備系統設計

徐思捷,劉浪,趙世平

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

基于設計模式的測控系統采集控制模塊軟件設計

徐思捷,劉浪,趙世平

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

針對某測控系統,開發了系統的采集控制模塊。模塊設計采用了設計模式中的適配器模式和單件模式,解決了系統上層軟件對采集控制設備函數耦合度高等問題。在系統的開發使用過程中,模塊能夠根據系統需求的變化更換采集控制設備而不更改上層軟件,并保證設備穩定運行,提高了系統的開發效率和可維護性。

測控系統;采集控制模塊;設計模式;軟件設計

設計模式是面向對象軟件的設計經驗的總結,每一個設計模式系統的命名、解釋和評價了面向對象系統中一個重要的和重復出現的設計[1]。設計模式是人們可以更加簡單方便地復用成功的設計和體系結構,幫助人們做出有利于系統復用的選擇,從而使人們做出復用性好和靈活性好的設計[2]。

在測控系統的采集控制模塊的開發過程中,有時用戶的個別需求無法明確,這使得一些硬件方案和一些功能的細節往往需要隨著項目的推進才能得以確定。然而,有時硬件方案的修改和細節功能的改變,往往造成大量的代碼修改,為軟件開發帶來一定的困擾。在此,嘗試使用設計模式和面向對象編程思想,對測控系統數據采集模塊架構層面的設計,降低各個模塊之間的耦合,增強系統軟件的可擴展性、可維護性和可靠性。

1 采集控制模塊

1.1 采集控制設備簡介

在測控系統中,各個被測物理量(力、位移等)通過傳感器采集;傳感器的采集信號,傳到采集設備中,采集設備再對信號進行處理(數模轉換等);計算機再通過軟件驅動采集設備,獲取傳感器的輸出信號的數值,經過進一步處理后,再通過輸出信號到執行機構,從而完成對系統的控制。因此采集控制設備是傳感器和執行機構與工控機的橋梁,上層軟件獲取傳感器數值和對系統執行機構進行控制,均要通過采集設備來完成。

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

1.2 采集控制模塊簡介

通常每一套采集控制設備的廠商會提供一個軟件驅動,并提供一套API(Application Programming Interface,應用程序編程接口)讓用戶操作設備。但是,如果在系統軟件中直接對這些API函數進行調用,則程序會與底層的采集模塊緊密耦合;如果因為需求的改變,如被采集信號頻率發生變化等原因而需要更換采集設備,則程序有大量模塊需要重新編寫,不利于程序的可維護性和擴展性。因此,需要設計采集控制模塊,其主要功能是設計接口對廠家提供的API函數進行封裝,以方便軟件其他模塊進行調用,同時,也可以降低上層軟件與廠家提供的API函數間的耦合。

2 設計模式在采集控制模塊設計中的應用

2.1 設計模式簡介

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

2.2 基于適配器模式的設計

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

如前所說,采集控制模塊主要是設計設計接口對設備提供的API函數進行封裝。設計接口需要根據系統軟件的需要和設備的特點進行設計。然而,不同的設備所配備的API函數各不相同,為使得系統能夠正常調用設備的API函數,故需要設計一個適配器類。

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

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

按照上述的接口,對庫函數進行封裝后,上層軟件對采集設備的調用均通過目標類,做到了上層軟件與底層設備的隔離。如果遇到因為需求改變等原因而不得不更換設備,也幾乎不需要改變上層軟件的代碼,僅需重寫適配器類即可。不僅如此,使用適配器模式還可以使得上層軟件的開發與下層適配器類的編寫同步進行,上層軟件開發的時候可以使用虛擬的設備類進行測試,大大提高了軟件的開發效率。因此在這里采用適配器模式可以減小程序對設備的庫函數的依賴,增強軟件的可維護性和可復用性。

2.3 基于單件模式的設計

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

一個設備的正確使用往往有需要按照一定的操作步驟,如先初始化設備、設置參數再讀取信號等。在測控系統的持續運行中,一個采集設備往往在程序不同部分被操作。如果在程序中,一個采集設備被實例化多次而產生多個對象,由于對象之間是相互獨立的,則有可能導致對設備的錯誤操作,并且影響到程序的正常執行。

在測控系統中,為避免設備被多次被實例化,同時也便于對設備的狀態進行監控,設計一個DeviceManger類對設備進行管理。DeviceManger類的類圖如圖2所示。

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

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

3 結束語

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

[1]周毅.設計模式在IT資源管理系統中的應用[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]洪槲.設計模式在電子交易系統的研究與應用[D].廣州:中山大學,2006.

[3]魏新穎.設計模式在構建基于.Net的多層Web應用程序的應用研究[D].北京:華北電力大學,2006.

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

[5]何泓偉.設計模式混合的構造方法研究及應用[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]賀馮政.網絡游戲服務器通信架構及關鍵技術研究[D].成都:電子科技大學,2008.

[7]陽建華,鄭瑩娜,曠雪梅,等.基于PCI-1220U的電動助力轉向器性能測試系統研究 [J].工業儀表與自動化裝置, 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稿件編號:201411203

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

猜你喜歡
設備系統設計
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 亚洲天堂自拍| 99热精品久久| 欧美在线伊人| 国产欧美成人不卡视频| 91精品国产福利| 91视频区| 99福利视频导航| 毛片免费在线视频| 中文字幕无码av专区久久| 97亚洲色综久久精品| 亚洲欧洲国产成人综合不卡| 99国产精品一区二区| 国产免费自拍视频| 成人福利视频网| 欧美激情首页| 久久a毛片| 九月婷婷亚洲综合在线| 国产午夜福利在线小视频| 精品国产成人国产在线| 免费在线视频a| 亚洲一区国色天香| 国产人在线成免费视频| av无码一区二区三区在线| 久久久久久高潮白浆| 55夜色66夜色国产精品视频| 97se亚洲| 麻豆精品视频在线原创| 亚洲无线一二三四区男男| 精品一区二区久久久久网站| 日韩黄色大片免费看| 色欲色欲久久综合网| 欧美一道本| 国产高清在线丝袜精品一区| 99久久精品免费看国产电影| 亚洲天堂久久久| 亚洲大尺码专区影院| 久久免费视频播放| 欧美在线视频不卡第一页| 国产91精品最新在线播放| 波多野结衣视频网站| 欧美一级99在线观看国产| 亚洲天堂成人在线观看| 18禁不卡免费网站| 色男人的天堂久久综合| 国产小视频网站| 欧美在线精品怡红院| 老司机午夜精品视频你懂的| 亚洲天堂视频网站| 狼友av永久网站免费观看| 免费人成黄页在线观看国产| 国产在线观看成人91| 国产精品偷伦视频免费观看国产 | 国产一区二区三区免费观看| 亚洲日产2021三区在线| 久久国产精品麻豆系列| 欧美中文字幕第一页线路一| 精品精品国产高清A毛片| 精品欧美日韩国产日漫一区不卡| 久久婷婷国产综合尤物精品| 久久青青草原亚洲av无码| 国产剧情国内精品原创| 亚洲成年人网| 国产精品网曝门免费视频| 无码专区国产精品一区| 日韩精品成人网页视频在线| 亚洲成人动漫在线观看 | 97在线公开视频| 91香蕉国产亚洲一二三区 | 欧美成a人片在线观看| 欧美精品啪啪一区二区三区| 国产成人福利在线| 91破解版在线亚洲| 2021国产乱人伦在线播放| 制服丝袜在线视频香蕉| 大香伊人久久| 97青青青国产在线播放| 国产性精品| 亚洲中文无码h在线观看| 精品久久蜜桃| 国产一区二区三区精品久久呦| av天堂最新版在线| 亚洲欧美另类久久久精品播放的|