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

基于設備描述的設備配置模型的設計與應用

2014-08-03 00:37:08鄭廣海孫晶華
化工自動化及儀表 2014年6期
關鍵詞:界面設備模型

聶 冰 鄭廣海 孫晶華

(大連交通大學軟件學院,遼寧 大連 116028)

隨著現代自動控制和設備制造技術的發展,先進自動控制設備在工業現場得到廣泛的應用。控制設備的種類不斷增加,所使用的通信協議、接口類型都呈現多樣性[1]。傳統的設備配置軟件因為設備配置器與軟件主體框架之間具有耦合性,對于新增加的設備需要創建新的EXE或DLL文件實現業務邏輯與配置界面,同時需要修改軟件主體代碼實現對新設備的支持。這種構架制約了設備配置軟件開發和使用的靈活性,增加了開發周期,加大了開發成本[2]。因此,提高設備配置軟件的通用性和可擴展性是軟件設計的關鍵。

筆者針對傳統配置軟件通用性差、可擴展性不足的問題,在傳統軟件設計的基礎上,提出了基于設備描述的設備配置模型。該模型以純文本文件對設備配置器的三大基本要素——設備配置信息、配置數據信息和配置界面信息進行描述,降低了軟件開發人員的編程難度,同時在配置軟件中增加了設備配置器的抽象接口,提高了軟件的可重用性,縮短了軟件的開發周期。該模型應用在DJTConfig設備配置軟件中證明了其有效性和實用性。

1 基于XAML的配置界面描述①

XAML(eXtensible Application Markup Language)是微軟公司以XML為基礎,為構建程序用戶界面而開發的一種新的描述性語言。除了具有標記語言的一般特點,XAML在設計用戶界面方面具有更大的優勢。XAML簡化了用戶界面的創建過程,開發人員可以利用XAML對WPF程序的用戶界面元素,如文本、按鈕、圖像及列表框等進行詳細的設置,對整個界面進行合理化的布局[3],與其他的.NET語言結合,構建一個功能完善、界面美觀的WPF程序。

通常,XAML文件由微軟公司提供的工具MarkupCompiler編譯成結構更緊湊的類二進制文件BAML, BAML數據流保存在程序集合的資源文件中,在InitializeComponent方法中得以加載,用于構建用戶界面。該功能由WPF提供了默認支持,在基于WPF的工程中,XAML文件的編輯、編譯與加載由.Net Framework 提供了默認實現,因此編程人員可以使用XAML快速地開發圖形界面并方便地加載到WPF程序中。微軟公司也提供了在運行期加載XAML/BAML的方式,相對于編寫后臺代碼,使用該方法維護、修改用戶界面更加方便、快捷。

定義在System.Windows.Markup命名空間下的靜態函數XamlReader.Load(),可以用來分析格式良好的XAML片段并創建相應的對象樹,返回該對象樹的根。System.Windows.Baml2006.Baml2006Reader可用于讀取XAML,結合XamlReader.Load函數生成對象樹,代碼如下:

string filepath = @"...Dictionary1.baml";

FileStream fstream = new FileStream(filepath, FileMode.Open);

Baml2006Reader reader = new Baml2006Reader(fstream);

ResourceDictionary rs = System.Windows.Markup.XamlReader.Load(reader) as ResourceDictionary;

在運行期間該特性以編程方式為加載用戶界面提供了技術支持,同時也為設備配置器提供了一種全新的配置界面開發方式。

2 基于XML的設備描述

現場設備種類繁多,不同廠商的設備互不兼容,為了實現不同設備之間的互操作,設備描述(Device Description, DD )技術運用設備描述表、電子設備描述語言(EDDL)及可擴展設備描述語言(XDDL)等對各個設備的參數、狀態及功能等進行描述,使設備之間的數據交互與傳遞成為可能。通用的設備描述文件結構如圖1所示。

圖1 通用的設備描述文件結構

鑒于XML具有開放性、平臺無關性及良好的可擴展性等優點[4,5],XML成為設備描述文件的重要載體,加之DOM解析器在讀寫XML文件方面的強大支持,使得基于XML的設備描述文件在工業現場得到了廣泛應用。該文件將設備的基本信息及配置數據等編寫成XML文檔,對現場設備進行結構化的文本描述,構成了格式良好、信息詳盡的數據倉庫,進而為實現數據驅動的設備配置模型提供了數據源。

3 基于設備描述的設備配置模型

筆者提出的設備配置模型由設備配置軟件和設備配置器構成。與傳統設備配置軟件相比,該模型在配置軟件中增加了設備配置器的抽象接口,提高了軟件的可重用性。軟件主體代碼相對穩定,通過定義新的設備配置器完成對新設備的支持,便于系統的擴展。其模型結構如圖2所示。

圖2 設備配置模型結構

3.1 設備配置軟件

由圖2可知,模型中的設備配置軟件分為3層,分別為實例層、抽象層和服務層。在實例層中,設備配置器中的設備描述文件實例化生成的現場設備定義該層,實例對象與每個獨立的設備配置器一一對應,實例對象在設備配置器加載時創建,配置器的配置界面關閉時銷毀。 其行為由設備配置數據驅動,實例對象通過基于DOM的解釋器對配置數據文件進行訪問和操作[4],生成配置數據對象,配置界面文件由XamlReader創建并內嵌于設備配置軟件的配置器窗口顯示給終端用戶。配置數據對象與配置界面對象通過數據綁定建立數據連接。抽象層實現了設備配置器的抽象接口,定義了設備識別、數據存儲、用戶界面創建及后臺業務邏輯等功能的通信接口。抽象層隱藏了設備配置器的實例對象,實現了配置軟件實例層對服務層的透明化,解除了兩者之間的強耦合,使設備配置器與設備配置軟件同步開發成為可能,進而實現在不修改設備配置軟件主體代碼的情況下增加對新設備的支持,彌補了設備配置軟件在通用性和可擴展性方面的不足。服務層負責實現設備狀態查詢、配置數據讀寫及與設備進行數據通信等功能。

3.2 設備配置器

該模型的設備配置器使用XML文檔對設備進行描述,對應的設備描述文件結構如圖3所示。該模型對通用設備描述文件結構做了擴展,將設備參數信息分別指向基于XML的配置數據文件和基于XAML的配置界面文件,利用純文本文件實現設備配置。

圖3 設備描述文件結構

配置數據文件利用XML描述了可配置數據在設備內存中的分布,配置信息包括以下幾個方面:

a. 配置數據區長度。配置數據的總長度(以字節為單位)。

b. 數據類型。數據存儲格式對設備配置數據來說至關重要,只有按照規定格式存儲的數據才能被設備正確識別。該數據類型針對每個可配置的單位,規定了配置數據在內存中的存儲格式。

c. 偏移量。一個可配置單位的起始位置。該位置通過相對于配置數據區起始位置的字節偏移標識。

d. 初始值。創建設備的起始數據,是保證設備正常工作的一組常用配置數據。初始值保證設備不經任何配置就可以一組默認參數運轉。

e. 有效取值范圍。可配置項的有效數據范圍,為數據校驗提供相關依據。

具體實現的配置數據文件部分代碼如下:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="ConfigDataDefinition.1.0.xsd">

Enum="MyDevice_OutType_Enum"/>

該模型的設備配置界面由基于XAML的配置界面文件生成,該文件可由Blend或Visual Studio2008/2010提供的界面編輯器編輯。相對于編寫后臺代碼,利用XAML設計控件更加簡單、快捷。下面的代碼顯示了利用XAML文檔配置界面標簽和列表框的過程。

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" >

<......>

4 系統實現

DJTConfig設備配置軟件將Visual Studio 2010 C#作為開發平臺。該配置軟件的配置數據由設備描述文件驅動,在設備配置器初始化的過程中動態創建。配置數據的UML模型如圖4所示。

配置界面由配置界面文件生成,XamlReader負責創建界面對象樹,界面對象樹的加載過程由以下代碼實現:

///

/// Load xaml file to a object of UserControl

///

///

///

internal static UserControl Load(string xamlFilePath)

{

using (var stream = new StreamReader(xamlFilePath))

{

var featurePageControl = XamlReader.Load(stream.BaseStream);

return (UserControl)featurePageControl;

}

}

圖4 配置數據的UML模型

設計的DJTConfig配置軟件界面如圖5所示,圖中顯示了設備列表和一個打開的設備配置器。配置數據和配置界面之間通過微軟數據綁定機制建立聯系。界面中標簽控件到MyDevice_OutputStatusLbl和列表框控件到ch0OutputTypeVal的數據綁定部分代碼如下:

該設備配置軟件可通過部署設備配置器增加對新設備的支持。任何符合定義格式的設備配置器都可以被設備配置軟件識別并加載到運行期環境。新設備配置器的開發可以基于文本編輯器,大大降低了開發成本和對開發人員編程能力的要求。利用基于純文本的設備描述文件開發同等規模的設備配置器相對編程模式的開發縮短開發周期50%。

圖5 DJTConfig配置軟件界面

5 結束語

提出了基于設備描述的設備配置模型,將基于XML和XAML的設備描述文件和配置界面文件內嵌在設備配置器中。通過配置純文本的設備配置器插件實現對新設備的支持,源文件中主體代碼不需要改動,簡化了配置軟件開發的復雜度。將該模型應用到DJTConfig設備配置軟件中,設備更新簡單、快捷,節省了開發時間與開發成本。

猜你喜歡
界面設備模型
一半模型
諧響應分析在設備減振中的應用
重要模型『一線三等角』
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
重尾非線性自回歸模型自加權M-估計的漸近分布
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
人機交互界面發展趨勢研究
3D打印中的模型分割與打包
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 99视频在线看| 亚洲欧洲日韩久久狠狠爱| 国产69囗曝护士吞精在线视频| 日韩东京热无码人妻| 欧美一级夜夜爽| 精品国产美女福到在线不卡f| 99在线观看国产| 亚洲三级电影在线播放| 精品小视频在线观看| 亚洲成人在线网| 亚洲国产欧美国产综合久久 | 精品无码一区二区在线观看| 国产又粗又猛又爽视频| 亚洲swag精品自拍一区| 亚洲无码视频图片| 亚洲色成人www在线观看| 国产精品污污在线观看网站 | 久久人妻xunleige无码| 国产成人a在线观看视频| 欧美成人影院亚洲综合图| 91精品伊人久久大香线蕉| 免费在线色| 亚洲精品无码抽插日韩| 99热最新网址| 亚洲资源站av无码网址| 国产午夜精品鲁丝片| 成人久久精品一区二区三区| 亚洲成综合人影院在院播放| 日韩a级片视频| 福利片91| 亚洲一本大道在线| 免费jizz在线播放| 福利视频99| 精品丝袜美腿国产一区| 凹凸国产分类在线观看| 亚洲色婷婷一区二区| 日韩无码视频播放| 久久精品视频一| 亚洲69视频| 欧洲亚洲一区| 国产精品妖精视频| 日本福利视频网站| 欧美中文一区| 久久精品只有这里有| 欧美中文一区| 青青久久91| 日韩欧美中文字幕一本| 香蕉eeww99国产精选播放| 午夜福利亚洲精品| 婷婷色一二三区波多野衣| 一本大道香蕉中文日本不卡高清二区| 最新亚洲人成无码网站欣赏网| 国产欧美日韩在线在线不卡视频| 嫩草影院在线观看精品视频| 亚洲综合婷婷激情| 一级毛片无毒不卡直接观看| 91麻豆精品国产高清在线| 国产精品观看视频免费完整版| 伊人久久影视| 国产无遮挡裸体免费视频| 国产99精品久久| 亚洲一区二区三区在线视频| 亚洲成网站| 综合网天天| 综合久久五月天| 在线国产91| 日本色综合网| 一级毛片在线播放| 国产男女免费完整版视频| 国产97视频在线观看| 在线视频精品一区| 91久久偷偷做嫩草影院| 波多野结衣中文字幕久久| 老司国产精品视频91| 成人午夜在线播放| 亚洲精品综合一二三区在线| 国产主播在线一区| 无码aaa视频| 97se亚洲| 欧美日韩免费在线视频| 国产精品手机在线播放| 欧美午夜在线观看|