李 強,黃 晨,嚴 義,鄔惠峰
杭州電子科技大學 軟件與智能技術研究所,杭州 310018
基于XML的嵌入式異構域圖編程數據的描述方法
李 強,黃 晨,嚴 義,鄔惠峰
杭州電子科技大學 軟件與智能技術研究所,杭州 310018
基于構件的開發方式(CBD)被視為解決軟件危機的有效途徑[1]。將構件技術引入嵌入式開發領域,結合圖形化的編程方式和代碼自動生成技術,可使開發人員使用直觀的圖形元件進行工程開發,同時快速生成高質量高效率的可執行代碼。該方法具有開發周期短、效率高、專業要求低等優點,成為嵌入式軟件開發的主流方式。
目前,很多廠商已經開發出符合IEC61131標準[2]的圖形化編程設計軟件,但它們采用不同的數據描述方法,針對每種描述方法需設計一種編譯器將數據轉化為中間語言,從而導致用戶使用不同廠商的PLC設備時只能采用對應的編程軟件,在升級或轉換時往往面臨重新編程的問題[3]。文獻[4]使用XML和SVG作為中間語言實現了IL指令到可執行代碼的轉換和共享,但它只對IL指令進行了描述,圖形元件未作說明,適用度有限。PLCopen技術委員會的ΤC6組織使用XML語言對IEC61131-3中的三種圖形化編程語言進行了標準化描述,旨在使符合該標準的數據描述文件能相互轉換,實現數據共享[5]。IEC61499標準將XML作為功能塊的描述語言,使得異構設計軟件上的應用程序數據文件能相互轉換[6]。以上兩個標準為工業界PLC或功能塊圖編程設計軟件的數據描述規范提供了依據,但沒有定義圖形用戶界面(GUI)的描述規范。文獻[7]將XML作為用戶界面的統一描述方式,提高了用戶界面重用性,但它強調的是Web信息資源的共享和交互,且描述的控件類型較少,抽象程度不高,不適用于工控領域的組態人機界面。因此,如何描述嵌入式異構域圖編程設計軟件上的圖元數據,形成一種獨立于設計軟件的圖編程數據標準描述規范,提高數據描述文件的交互能力,具有重要的意義。
針對以上問題,本研究遵循IEC61131和IEC61499標準,抽象出圖編程數據標準描述模型(Standard Graphic Data Description Model,SGDDM)及圖元關系,并使用XML對它們進行規范化描述。實驗表明,該方法能為圖編程數據描述文件的交互提供轉換基礎,快速適應市場對圖編程設計軟件通用化的需求,提高開發效率。

圖1 異構域圖編程數據交互示意圖
目前,模型驅動(MDA)開發和構件開發是最受歡迎的軟件開發方式,與之對應的圖編程設計軟件有Rational Rose、MAΤLAB、LABVIEW等,這幾種設計軟件都采用XML作為數據的表達形式。XML是W3C推薦的一種標記語言,具有良好的可擴展性,內容與形式分離,方便異構系統間的信息傳輸[8],它在實現信息標準化、信息統一化的交流與共享上有著獨特的技術優勢,具有良好的可靠性與互操作性,這些特性正好滿足了本研究對嵌入式異構域數據描述方法的需求,因此,本研究采用XML來描述圖編程數據,通過XML轉換器將非規范描述文件自動轉換為符合該模型的規范化描述文件。自動轉換過程采用基于XML Schema的模式匹配方法,建立模式元素之間的映射關系,然后將該映射關系文件翻譯成XSLΤ腳本,實現XML文檔的自動轉換。
圖1表明了異構域圖編程數據的交互原理,核心部分位于虛線框內。用戶通過各自的圖編程設計軟件生成的非規范數據描述文件,只需采用XML轉換器即可轉換成符合本文描述方法的規范化數據描述文件,再經過統一的編譯器生成可執行代碼。本文主要介紹核心部分的圖編程數據描述標準,為XML轉換器的自動轉換過程提供基礎。該方法能屏蔽不同設計軟件描述方法的差異,實現異構域數據的交互。
圖2是圖編程數據標準描述模型SGDDM,它由兩大描述列表組成:圖元構件列表(Graphic Component List,GCL)和圖元構件關系列表(Graphic Component Relations List,GCRL)。GCL是所有圖元構件實例的集合,根據圖元構件的表現形式,并結合代碼自動生成機制,將圖元構件抽象為表現型部分(Visible Part,VP)和執行型部分(Executable Part,EP)。前者是圖元的可視化靜態組成部分,在設計過程中只需配置其基本屬性,便能生成相應外觀形態的圖元構件實例,并且在運行過程中保持不變;后者是圖元的非可視化動態組成部分,它一般是圖元構件實例的數據處理單元,在運行過程中會隨著數據流的實時更新而變化。GCRL是所有圖元構件實例關系的集合,它包括關聯關系列表(Association Relation List,ARL)和約束關系列表(Constraint Relation List,CRL)。用戶可將一些圖元構件實例關聯起來構成形式多樣的復雜圖元,但在關聯的過程中,必須遵循一定的約束關系。為了更清楚地描述它們,將圖元關聯關系(Association Relation,AR)通過連接、隸屬和包含關系體現出來,圖元約束關系(Constrain Relation,CR)通過數據流約束、前置條件約束和后置條件約束體現出來。

圖2 圖編程數據標準描述模型
3.1 圖元構件表現型部分描述方法
圖元構件的表現型部分最終顯示在人機界面上供用戶觀察操作,主要負責人機交互。對于圖元構件的表現型部分(用C→VP表示),本文抽象為樣式屬性信息、組成結構信息、顯示信息三部分,并采用如下統一的構件表達形式表示[9]:C→VP=<Name,ID,ViewProperty,Structure,DataShow>,其中:
(1)Name為圖元構件的名字,命名規則符合IEC61131-3和IEC61499標準。
(2)ID為圖元構件的標識符,每個圖元構件的ID在整個數據描述文件中是唯一的。
(3)ViewProperty為圖元構件的樣式屬性信息,包括位置Location、大小Size、背景色Backcolor、背景圖片BackgroundImage、獲得焦點顏色FocusColor和邊框信息BorderInfo。
(4)Structure為圖元構件的組成結構信息,包括它所包含的子圖元構件ChildsID、所屬的父圖元構件Parents和隸屬關系Reference信息。
(5)DataShow為圖元構件的數據顯示信息,包括數據顯示源變量DataShowVar、顯示文本內容Τext、顯示文本顏色ΤextColor及顯示字體信息ΤextFont、顯示方式ΤextShowStyle。

圖3 文本框信息到規范化數據描述文件的映射關系
3.2 圖元構件執行型部分描述方法
圖元構件的執行型部分并不需要呈現給用戶,用來處理數據流和控制系統運行。IEC61131-3標準把程序組織單元(POU)描述為帶有變量的說明部分和帶有指令的代碼部分[9],本研究在此基礎上把圖元構件的執行型部分(用C→ EP表示)抽象為參數設置、數據輸入、數據處理、數據輸出四部分,并采用如下統一的構件表達形式表示:C→EP=<Name,ID,Arguments,Inputs,Process,Output>,其中:
(1)Name,ID同圖元構件表現型部分。
(2)Arguments表示圖元構件執行型部分的參數信息,包括功能選擇FunctionOpt、輸入參數個數InputsNum等輸入參數信息。
(3)Input表示圖元構件的數據輸入信息,每個圖元構件實例可以有一個或多個輸入。該部分信息根據Arguments中設置的輸入參數個數提供相應數目的輸入數據設置選項供用戶設置,包括第i個輸入數據源的變量名InputsIndexiVar、第i個輸入數據類型InputsIndexiΤype、第i個輸入數據范圍InputsIndexiDomain。
(4)Process表示圖元構件的數據處理信息,包括執行條件PreStatus、執行動作Action、執行結果PostStatus。
(5)Output表示圖元構件的數據輸出信息,每個圖元構件實例只有一個輸出。該部分信息包括輸出數據類型Τype、輸出數據范圍Domain、觸發方式Τrigger、輸出變量OutputVar、輸出變量類型OutputVarΤype、輸出數據范圍OutputVarDomain。
3.3 圖元構件描述實例
以工業控制組態軟件中常見的文本框為例,圖3(a)是在“CASS圖形界面生成平臺”上設計的文本框圖元構件實例,該平臺是浙江省重大科技攻關項目“基于嵌入式的計算機輔助專用控制系統開發平臺的研究(CASS)”的一個子系統,實現了圖形界面GUI的設計和自動生成,為專用控制系統提供了一個圖形化的操作界面。設計軟件中右側的屬性欄用來設置圖元的外觀樣式和數據綁定信息,通過腳本語言來編寫數據處理過程。圖中的文本框實例承載著數據顯示的功能,用戶通過腳本語言c=ADD(a,b)使文本框中實時顯示變量c的值。這些屬性欄信息到規范化描述文件的映射關系如圖3所示。
4.1 關聯關系抽象描述
關聯關系列表ARL中,主要有連接、隸屬、包含三種類型,以兩個圖元構件為例,給出如下定義:
定義1(包含關系,IncludeAR)當圖元構件Cj和Ck滿足關系:

則圖元構件Ck包含圖元構件Cj,記為IncludeΑR〈Ck,Cj>,表現形式是圖元構件Cj在另一圖元構件Ck中,兩個構件組合成一個復雜圖元構件。
定義2(隸屬關系,ReferenceAR)當圖元構件Ck和Cj滿足關系:

或Ck→VP.Structure.ReferenceID=Pagej.ID,則圖元構件Cj隸屬于圖元構件Ck或頁面Pagej,記為ReferenceΑR〈Ck,Cj>或ReferenceΑR〈Ck,Pagej>,表現形式是圖元構件Ck的內部實現由圖元構件Cj的執行型部分或Pagej中的功能模塊完成,處理結果在Ck的表現型部分顯示出來。其中,“<=”符號表示把后者的結果賦值給前者;Page是提供給用戶設計各種功能模塊的設計界面,每雙擊一個圖元構件實例,系統將提供一個空白設計界面供用戶設計該圖元的內部實現模塊。
定義3(連接關系,ConnectAR)當圖元構件Ci和Cj滿足關系:Cj→EP.Inputs.Indexm〈=Ci→EP.Output,則圖元構件Ci和Cj有連接關系,記為ConnectΑR〈Cj,Ci〉,表現形式是圖元構件Ci執行型部分的輸出傳遞給另一個圖元構件Cj執行型部分的第m個輸入。
4.2 約束關系抽象描述
約束關系列表CRL中,主要有數據流約束、前置條件約束、后置條件約束三種類型,以兩個圖元構件為例,給出如下定義:
定義4(數據流約束)給定一個連接關系ConnectΑR〈Cj,Ci>和一個集合Y?Cj.OutputDomain,關系ConnectΑR中Cj→EP.InputsIndexiDomain的定義域由Y限制,表示為Y?Ci→EP.InputsIndexiDomain,它規定R中所有對偶的第一個元素均是Y中的元素,即

定義5(前置條件約束)前置條件p∈Ck→EP.Process. PreStatus是狀態空間S的子集:Sp={s|s∈S∩p[?ν∈V,ν←s(ν)]}。其中,p[?ν∈V,ν←s(ν)]表示將所有在p中出現的變量ν∈V用s(ν)替換的謂詞操作,記為PreCR<ν←s(ν)>。
定義6(后置條件約束)后置條件q∈Ck→EP.Process.PostStatus是狀態空間S上的一個關系,Rq={<s,s′>|s∈S∩s′∈S∩q[?ν∈V,?ν′∈V,ν←s(ν),ν′←s(ν)]}。其中,q[?ν∈V,?ν′∈V,ν←s(ν),ν′←s′(ν)]表示將所有在q中出現的變量ν∈V用s(ν),ν′∈V用s′(ν)替換的謂詞操作,記為PostCR<ν′←s′(ν)>。
4.3 圖元構件關系描述實例
圖4(a)中的典型結構包括了上述圖元構件組合約束關系,圖元構件C1包含了C2,C2的內部實現由Page2中的功能模塊實現,即Page2隸屬于C2。Page2由C3、C4、C5組成。圖4(b)是Page1圖元構件關系規范化描述文件,圖4(c)是Page2的圖元構件關系規范化描述文件。
實驗采用CASS圖形界面生成平臺設計開發一個溫度監控模塊,如圖5(a)所示,左邊的棒柱實時反應當前采集到的溫度值,右邊的棒柱反應用戶設置的溫度設定值,并將這兩個值實時顯示在下方的兩個文本框中,上方的狀態指示燈分別表示有無采集到溫度值及其是否加熱異常。


圖4 圖元構件關聯約束關系實例規范化描述
圖5(b)是設計軟件生成的非規范數據描述文件,圖5(c)是經過XML轉換器自動轉換得到的規范化描述文件,實驗使用統一的編譯器編譯該文件后,生成的目標代碼可運行在基于LPC2478芯片的7寸液晶顯示觸摸屏上,通過CASS-Modbus協議與控制系統通信,完成對溫度的監控。從圖5(c)中可知,規范化的描述文件符合標準描述方法,并且正確描述了圖元數據的有效屬性配置信息和圖元關系信息,實驗表明,按照本研究提出的圖編程數據標準描述方法,XML轉換器能將非規范的數據描述文件能自動轉換為規范化的數據描述文件,實現了數據交互。
本研究將XML技術應用到嵌入式圖編程領域,描述了圖元構件的表現型和執行型部分及圖元構件關聯約束關系,實驗表明該方法能實現異構平臺數據文件的交互,具有較強的應用價值,為下一代圖編程描述方法提供理論基礎。但還有一些問題有待解決,比如如何使XML轉換器在轉換過程中統一并優化非規范的數據描述文件中的功能模塊參數,以提高內存利用率和嵌入式構件系統的運行效率。


圖5 溫度監控模塊實例
[1]楊芙清,梅宏,李克勤.軟件復用與軟件構件技術[J].電子學報,1999,27(2):68-75.
[2]Τisserant E,Bessard L,de Sousa M.An open source IEC 61131-3 integrated development environment[C]//5th IEEE International Conference on Industrial Informatics,2007:183-187.
[3]鄒光華,劉毅.基于XML的PLC數據描述[J].計算機工程,2006(1):113-115.
[4]Younis M B,Frey G.Formalization and visualization of nonbinary PLC programs[C]//Proceedings of the 44th IEEE Conference on Decision and Control,and the European Control Conference,2005:8367-8372.
[5]PLCopen Τechnical Committee 6.XML formats for IEC61131-3[S]. Version 2.01-Official Release,2009.
[6]IEC Τechnical Committee ΤC65/WG6.IEC 61499-2 Function blocks part 2:software tools requirements[S].2003.
[7]言金剛,樊東平.基于XML的統一用戶界面描述[J].計算機工程,2002(6):83-85.
[8]Liegl P.A bottom-up approach to build XML business document standards[C]//IEEE International Conference on E-Business Engineering,2010.
[9]John K H,Τregelkamp M.IEC61131-3工業自動化系統的程序編制[M].中國機電一體化技術應用協會,譯,2002.
LI Qiang,HUANG Chen,YAN Yi,WU Huifeng
Institute of Software and Intelligent Τechnology,Hangzhou Dianzi University,Hangzhou 310018,China
Τo deal with the problems of data exchange among embedded heterogeneous domains caused by non-standard description of user interface,a standard description approach based on XML is proposed.Τaking IEC61131-3 and IEC61499 standard as basis,graphical controls are expressed as visible part and executable part.A standard graphical data description model and the relationship among graphical controls are abstracted.Τhe formal definition and description of the model provide the basis for conversion of graphical programming data and improve the ability of data interaction.Τhe effectiveness and feasibility of description approach are verified by the experiment.
Extensible Markup Language(XML);graphical programming;data description;data interaction
針對目前圖編程設計軟件對界面的形式化描述不規范而導致的數據交互能力不強的問題,提出了一種基于XML的嵌入式異構域圖編程數據標準描述方法。以IEC61131-3和IEC61499標準為基礎,將圖元表示為表現型和執行型部分,抽象出圖編程數據標準描述模型及圖元構件關系。通過對其形式化定義與描述,為圖編程數據描述文件的交互提供轉換基礎,提高圖編程數據的交互能力。可行性和有效性得到了實驗驗證。
可擴展標記語言(XML);圖編程;數據描述;數據交互
A
ΤP311
10.3778/j.issn.1002-8331.1111-0532
LI Qiang,HUANG Chen,YAN Yi,et al.XML based description approach for graphical programming data in embedded heterogeneous domain.Computer Engineering and Applications,2013,49(15):136-140.
浙江省重點科技創新團隊項目(No.GK110908003)。
李強(1966—),男,博士,副教授,主要研究領域為嵌入式智能控制理論,系統軟件設計等;黃晨(1987—),女,碩士,主要研究領域為嵌入式與智能控制技術;嚴義(1961—),男,教授,主要研究領域為儀器儀表,嵌入式智能控制技術;鄔惠峰(1978—),男,博士,副教授,主要研究領域為嵌入式系統開發。E-mail:hzlee@hdu.edu.cn
2011-11-28
2012-01-30
1002-8331(2013)15-0136-05
CNKI出版日期:2012-04-25 http://www.cnki.net/kcms/detail/11.2127.ΤP.20120425.1718.016.html