基于XML的嵌入式异构域图编程数据的描述方法

2013-07-19 08:15邬惠峰
计算机工程与应用 2013年15期
关键词:图元实例嵌入式

李 强,黄 晨,严 义,邬惠峰

杭州电子科技大学 软件与智能技术研究所,杭州 310018

基于XML的嵌入式异构域图编程数据的描述方法

李 强,黄 晨,严 义,邬惠峰

杭州电子科技大学 软件与智能技术研究所,杭州 310018

1 引言

基于构件的开发方式(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 异构域图编程数据交互示意图

2 图编程数据标准描述模型

目前,模型驱动(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 图元构件标准描述方法

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 图元构件关系标准描述方法

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的图元构件关系规范化描述文件。

5 实验验证

实验采用CASS图形界面生成平台设计开发一个温度监控模块,如图5(a)所示,左边的棒柱实时反应当前采集到的温度值,右边的棒柱反应用户设置的温度设定值,并将这两个值实时显示在下方的两个文本框中,上方的状态指示灯分别表示有无采集到温度值及其是否加热异常。

图4 图元构件关联约束关系实例规范化描述

图5(b)是设计软件生成的非规范数据描述文件,图5(c)是经过XML转换器自动转换得到的规范化描述文件,实验使用统一的编译器编译该文件后,生成的目标代码可运行在基于LPC2478芯片的7寸液晶显示触摸屏上,通过CASS-Modbus协议与控制系统通信,完成对温度的监控。从图5(c)中可知,规范化的描述文件符合标准描述方法,并且正确描述了图元数据的有效属性配置信息和图元关系信息,实验表明,按照本研究提出的图编程数据标准描述方法,XML转换器能将非规范的数据描述文件能自动转换为规范化的数据描述文件,实现了数据交互。

6 结束语

本研究将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

猜你喜欢
图元实例嵌入式
一种组态控件技术在电力监控系统中的运用
学术出版物插图的编排要求(一):图注
联锁表自动生成软件的设计与实现
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
基于Qt绘图系统的图形应用优化研究与实现
完形填空Ⅱ
完形填空Ⅰ
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器