




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 e p a ( e t h e m e tf o rp l a n ta u t o m a t i o n ) 是由我国制定的工业以太网标准( 草案) 。作为一 个开放性网络,e p a 的一个重要特点就是可互操作性。 论文针对设备之间以及设备和应用软件之间的信息交互问题,提出了一种解决方 法,即通过设备描述精确定义一台设备与现场中其它设备进行交互以及组态程序操作现 场设备所需要的全部信息。文中基于x m l 语言完成了e p a 可扩展设备描述语言x d d l ( e x t e n s i b l ed e v i c ed e s c r i p t i o nl a n g u a g e ) 规范标记集的定义和x d d l 规范的框架设计, 研究了设备描述的创建方法及在此基础上的应用。对x d d l 和基金会现场总线f f 设备 描述语言d d l ( d e v i c ed e s c r i p t i o nl a n g u a g e ) 作了比较,阐述了遵守x d d l 规范的设 备描述文件是一种结构化的文本文件,不需要进行二进制形式的转换,可以独立于平台 地描述设备信息和传输数据,使设备间可互操作性的实现更加简单、快捷。 通过x m l 的语法规则s c h e m a 实现了对设备描述的文档结构和数据类型的定义和 验证,提高了组态程序访问设备描述文档的准确性和效率。利用组态程序通过x m l 语 法分析器m s x m l 和应用程序接口d o m 实现对设备描述文档的访问和操作,验证了控 制网络中设备间可互操作性的实现。 关键词:e p a ;x m l :设备描述:s c h e m a = 文档对象模型:基金会现场总线; e p a 可扩展设备描述语言 a b s t r a c t e p a ( e t h e m e tf o rp l a n ta u t o m a t i o n ) i sa l li n d u s t r i a le t h e r n e ts t a n d a r dt h a ti ss p e c i f i e d b vo u rc o u n t r y a sa no p e nn e t w o r k ,o n eo fi m p o r t a n tc h a r a c t e r i s t i c so fe p a i st h a te p a a l l o w st h ed e v i c e sw h i c h a r em a d eb yd i f f e r e n tm a n u f a c t u r e r st oo p e r a t er e c i p r o c a l l y t h ea n i c l ea d v a n c e sam e t h o dt or e s o l v et h ep r o b l e mo ft h ec o m m u n i c a t i o ni nd e v i c e s a n dt h es o f t w a r e t h ed e v i c ed e s c r i p t i o nd e f i n e sa l li n f o r m a t i o nt h a tad e v i c ec o m m u n i c a t e s w i t l lo t h e rd e v i c e sa n dc o n f i g u r a t i o np r o g r a md e f i n i t e l y t h ea r t i c l ea c c o m p l i s h e st l l et a g m a r s h a ld e f i n i t i o no fx d d l ( e x t e n s i b l ed e v i c ed e s c r i p t i o nl a n g u a g e ) s p e c i f i c a t i o na n d t h e 行a m ed e s i g no fx d d l ,a n ds t u d i e st h ee s t a b l i s hm e t h o da n da p p l i c a t i o no ft h ed e v i c e d e s c r i p t i o n t h ed e v i c ed e s c r i p t i o nd o c u m e n tb a s eo nx d d l i sas t r u c t u r a lt e x td o c u m e n t t h ed e v i c ed e s c r i p t i o nn e e d n tb i n a r yt r a n s f o r ma n d i tc a nd e s c r i b ea n dt r a n s m i td a t ao u to f f l a t t h ed e v i c ed e s c r i p t i o nc a nr e a l i z ed e v i c e sw h i c ho p e r a t er e c i p r o c a l l ym o r es i m p l ya n d m o r eq u i c k l y x m ls y n t a xm i 亨一s c h e m ac a nd e f i n ea n dv a l i d a t et h ed o c u m e n ts t r u c t u r ea n dd a t a t y p e ,w h i c hc a na d v a n c et h ev e r a c i t ya n d t h ee f f i c i e n c yw h e nc o n f i g u r a t i o np r o g r a ma c c e s s e s a n dm a n i p u l a t e st h ed e v i c ed e s c r i p t i o n t h ec o n f i g u r a t i o np r o g r a m a c c e s s e st h ed e v l c e d e s c f i p t i o na c r o s st h ex m lp a r s e r m s x m l a n dt h ea p i d o m t h ea r t i c l ev a l i d a t e s t h er e a l i z a t i o nt h a td e v i c e sc a no p e r a t er e c i p r o c a l l y k e y w o r d s :e p a :x m l ;d e v i c ed e s c r i p t i 。n :s e h e m a :d o m ;f o u n d a t i o n f i e i d b u s x d d l i l 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版 权使用规定 ,同意大连理工大学保留并向国家有关部门或机构送交学位论文的 复印件和电子版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等 复制手段保存和汇编学位论文。 ,么乏 保密函,在鲐解密后适用本授权书。 本学位论文属于 不保密口。 ( 请在以上方框内打“”) 作者签名: 指导导师签名: 鸯零 彳髟尹餐瘢 。 i 、 趋擘掣细且 基于x m l 的设备描述在e p a 系统应用中的研究与实现 0 前言 网络技术的发展引发了工业控制领域的技术变革,控制系统结构网络化与控制系统 体系开放性成为控制系统技术发展的趋势。以太网是世界范围内的网络标准,它具有开 放性、低成本和广泛应用的软硬件支持等明显优势。 e p a 是e t h e m e tf o rp l a n ta u t o m a t i o n ( 工业以太网自动化) 的缩写,是一种适用于 工业自动化控制系统装置与仪器仪表间、以及工业自动化仪器仪表间数据通信的工业控 制网络技术。基于e p a 的分布式控制系统是一种开放性的网络系统。e p a 规范的体系 结构允许在同一个e p a 总线上对来自不同厂商的现场设备进行互操作。因此,不同厂 商的不同设备在用户层中传输的数据必须有统一的形式。实现现场设备互操作的一个关 键技术就是设备描述,设备描述是对现场设备数据的一种明确的、结构化的文本描述, 它精确定义了该设备与现场中其它设备进行交互以及应用程序操作现场设备所需要的 全部信息。 x m l 是一种可扩展的置标语言,它具有自描述性和平台独立性。基于x m l 的设备 描述能对现场设备的全部信息进行描述。组态程序通过访问和操作设备描述文件,实现 对设备的控制,从而解决设备间的互操作问题。论文阐述了e p a 可扩展设备描述语言 x d d l 的设计,以及设备描述的内容和优势,提出了一种解决设备互操作的方法。全文 共分为五章: 第一章概述,阐述了标记语言的发展史和x m l 的产生,x m l 的国内外现状,以 及课题的主要意义。 第二章x m l 相关技术。分别比较了x m l 语法规则d t d 和s c h e m a ,以及x m l 应 用程序接口s a x 和d o m ,阐述了s c h e m a 和d o m 的优势。 第三章基于e p a 的设备描述。阐述了e p a 设备描述的意义、e p a 可扩展设备描述 语言x d d l 设计的实现,以及设备描述文档的创建过程,最后讨论了e p a 设备描述相 对于f f 设备描述的优势。 第四章设备描述在e p a 组态软件中的应用。阐述了设备描述的应用过程以及组态程 序访问和操作设备描述的实现。 第五章总结与展望。在总结工作的基础上,对需要进一步深入研究和开发的工作进 行规划。 基于x m l 的设备描述在e p a 系统应用中的研究与实现 1 概述 计算机网络技术与信息技术的发展,给人们获取信息带来了很大的便利。但是,简 单的标记语言不能表达信息中的一些细微的差异,因此需要更加完善的标记语言表达复 杂信息的内涵。 本章回顾了标记语言的发展和x m l 语言的产生,简要介绍了x m l 的应用及其国 内外发展现状,分析了将x m l 应用于组态软件的可行性,并在此基础上开展课题的研 究工作。 1 1 置标语言的发展和x m l 的产生 为了解决了公司内部大量文档的交换和存储问题,1 9 6 9 年i b m 公司的c h a r l e s g o l d f a r b 等设计出了通用置标语言g m l ( g e n e r a l i z e dm a r k u pl a n g u a g e ) 。随后,1 9 7 8 年 美国国家标准局a n s i ( a m e r i c a nn m i o n a ls t a n d a r d s ) 的一个工作组对g m l 进行了规范, 推出了称为s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用置标语言) 的通用标 记语言,19 8 6 年国际标准化组织i s o ( i n t e r n a t i o n a lo r g a n i z a t i o nf o rs t a n d a r d i z a t i o n ) 正 式确定s g m l 为描述各种电子文件结构及内容的国际通用标准【i 】。 s g m l 是数据描述和数据交换的国际标准,也能够用来定义其它置标语言。s g m l 可以描述文本结构,也可以描述非文本结构甚至多媒体信息,为置标提供了异常强大的 工具。s g m l 具有极好的扩展性,在分类和索引数据中非常有用。目前,s g m l 多用于 科技文献和政府办公文件中【z j 。 但是,s g m l 非常复杂,价格也十分昂贵。目前比较便宜的s g m l 软件之一是a d o b e f r a m e m a k e r ,其标准版本价格为8 5 0 美元【lj , a d o b ef r a m e m a k e 什s g m l 则以19 9 5 美 元出售。最关键的是,几个主要的浏览器厂商都明确拒绝支持s g m l ,这无疑是s g m l 在网上传播遇到的最大障碍。鉴于这些因素,w e b 的发明者一欧洲核物理研究中心的 t i mb e m e r s l e e 根据当时的计算机技术,提出了h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ) 超 文本置标语言。 h t m l 是最早应用于网络信息传输的置标语言,也是近几年网上最普及的一种网页 制作通用语言。它大大丰富了主页的视觉和听觉效果,为推动w w w 的蓬勃发展、推 动信息和知识的网上交流发挥了不可取代的作用【j j 。 h t m l 是w e b 史上最成功的文档格式,它具有易学性和通用性,如果只需要显示 一些文本信息,h t m l 就足够了。但是,很多比较特殊或专门格式的文件采用现有的 h t m l 语言是无法处理的,如:数学公式、化学方程式及工程应用等等。h t m l 的语法 过于简单,它使用的是一套固定的标记集,用户不能定义自己的标记集。h t m l 侧重于 网页表现形式的描述,却忽略了标记的语义信息,尽管它的标记越来越多,但其现实能 力却远远不够。如果希望非常精确地表现一些自己的数据,可能需要一些现在在h t m l 中尚不存在的标记。例如,一个化学家可能需要表现化学分子式中的一些特别的符号, 一个飞机设计师可能希望能够表现飞机引擎的三维曲线造型。对于这些,h t m l 都望尘 莫及。要想满足各行各业的不同要求,显然需要大量的标记,这无疑使当今日益臃肿的 基于x m l 的设备描述在e p a 系统应用中的研究与实现 h t m l 雪上加霜。问题还不止这些,现在h t m l 内部结构的条理性也越来越差,使得 h t m l 越来越不堪重负。一言以蔽之,h t m l 有以下几个固有弱点【4 】= 1 ) 显示方式内嵌于数据之中。 h t m l 是专门为描述主页的表现形式而设计的,它疏于对信息语义及其内部结构的 描述。例如,如果在某个时候决定把用列表形式表现的数据用表格表示,那么将不得不 重新编码所有的h t m l 文件,这可能意味着几十页几百页要重写一遍。 2 ) 不能适应日益增多的信息检索要求和存档要求。 h t m l 无助于搜索引擎的开发,它在数据中寻找信息非常困难。因为从h t m l 的 标记本身,搜索引擎几乎得不到任何有用的信息。假如需要从一个网页中找到所有北京 市客户的信息,那么,需要编一个脚本程序来逐字寻找“北京”这个字符串。即使找到了 所有这些字段,也无法确定这个“北京”究竟是不是在表达城市的信息。 3 ) h t m l 对表现形式的描述能力实际上也是非常不够的,它无法描述矢量图形、 科技符号和一些其它的特殊显示效果。 4 ) 数据自身的逻辑不得不让位于h t m l 语言规范的逻辑。 例如用j a v a a p p l e t 来处理数据,则这个j a v a a p p l e t 将不得不遍历整个h t m l 文件, 把所有的h t m l 标记剔除掉,再把剥离出来的有用的数据重新组织。同样,任何一个 不是单纯为了显示h t m l 文件的应用程序,在处理h t m l 文件中的数据时,都不得不 作大量额外的工作。 5 ) h t m l 的标记集日益臃肿,而其松散的语法要求使得文档结构混乱而缺乏条理, 导致浏览器的设计越来越复杂,降低了浏览器的时间效率与空间效率。 1 9 9 6 年人们开始致力于描述一个置标语言,它既具有s g m l 的强大功能和可扩展 性,同时又具有h t m l 的简单性。万维网联盟w 3 c 专门成立了一个s g m l 专家小组来 从事此项工作,他们把s g m l 中所有非核心的、未被使用的和含义模糊的部分删除,剩 下的就成为短小精干的置标工具x m l 。这以后,x m l 不断发展演化,并且从化学 置标语言c m l ( c h e m i s t r ym a r k u pl a n g u a g e ) 和数学置标语言m a t h m l ( m a t h e m a t i c a l m a r k u pl a n g u a g e ) 中汲取了大量的经验。最终,w 3 c 于1 9 9 8 年2 月批准了x m l 的1 0 版本,一个崭新而大有前途的置标语言诞生了。 1 2x m l 的发展 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是w 3 c 定义的一种可扩展置标语言,它能够 克服h t m l 的不足,将网络上传输的文档规范化,并赋予标记一定的含义,还保留了 h t m l 所具有的简捷、适于网上传输和浏览的优点。x m l 集s g m l 和h t m l 的优势于 一身【4 1 ,保留了s g m l 绝大部分实用的功能而又大大简化了s g m l 过于复杂使用起来 不方便的地方,具有易于编辑、便于管理、适于存档、容易查询等诸多优势,成为网络 发展的又一个亮点【5 1 。 x m l 允许自定义一套标记,并且这些标记不必仅限于对显示格式的描述。x m l 允 许根据各种不同的规则来制定标记,比如工业规则,根据数据描述甚至根据数据关系来 制定标记。 基于x m l 的设备描述在e p a 系统应用中的研究与实现 x m l 的最大特点还在于它能够独立于平台的表示数据【1 1 ,像j a v a 语言实现了程序 的平台无关性一样,x m l 实现了数据的平台无关性。x m l 能够轻而易举地交换数据, 因此被广泛地应用于很多方面:如与媒体无关的全球出版,数据搜索和检索,w 曲网站 管理,个性化出版,事件驱动的数据库交互,应用程序之间的通信,电子商务等等。x m l 的应用弥补了许多h t m l 的缺陷,它主要有以下几个优点【6 】: 1 ) x m l 具有良好的可扩展性。 由于不同的行业可能会有一些独特的要求,要想定义一套各行各业都能够普遍应用 的标记既困难,也没有必要。x m l 允许各个不同的行业根据自己独特的需要制定自己 的一套标记,这正是x m l 的优势所在。 2 ) x m l 内容与形式相分离,显示样式从数据文档中分离出来。 x m l 关于文档浏览的基本思想是将数据与数据的显示分别定义。x m l 文档本身没 有设计数据的具体显示方式,它将数据的显示放在样式单中,如果要改动信息的表现方 式,无需改动信息本身,只要改动样式单文件就够了。 3 ) 舭中数据搜索可以简单高效地进行。 搜索引擎没有必要遍历整个x m l 文档,只需找一下相关标记下的内容,使查找变 得更加精确。 4 ) 遵循严格的语法要求。 x m l 非常注重准确性,如果语法有丝毫差错,分析器都会停止对它的进一步处理。 严格的语法要求固然表面上显得繁琐,但一个具有良好语法结构的文档可以提供较好的 可读性和可维护性,并大大减轻了浏览器开发人员的负担,也提高了浏览器的时间效率 和空间效率。 5 ) 数据交换。 数据交换无疑是x m l 最令人激动的应用。) ( i l 使得不同计算机和不同应用系统能 够交换数据。作为一种非常理想的网际语言,它不但能够作为各种不同系统之间的交流 媒介。并且简单易读,还可以标注各种文字、图像甚至二进制文件。 6 ) 具有良好的保值性。 根本上说,x m l 文件实际上就是一个包含置标的文本文件,文本文件无需特殊工 具支持,只要磁盘文件存在,读取完全没有问题。而且文本文件中即使丢失一些数据, 仍然可以读取剩下的数据。其他文件格式可能就难以保证这一点。因此,x m l 作为一 种文件格式,可用它保存一些重要的报纸文件,如政府文件、公文、科学研究报告等。 另外,x m l 的设计中还考虑了它的易用性,使用户编写w 曲页面时更加方便,也 使设计人员能更加容易地实现x m l 的浏览器。 x m l 通过将用户接口和结构化数据相分离,允许不同来源数据的无缝集成和对同 一种数据的多种处理。从数据描述语言的角度看,x m l 是灵活的、可扩展的、有良好 的结构和约束;从数据处理的角度看,x m l 语法简单易于阅读,同时又易于被应用程 序处理。总之,x m l 使用一个简单而又灵活的标准格式,为其应用于组态软件提供了 一个描述数据和交换数据的有效手段。 4 基于x m l 的设备描述在e p a 系统应用中的研究与实现 1 3x m l 的国内外现状 x m l 是在h t m l 遇到不可克服的困难之后产生的。自w 3 c 提出至今,已经有许 多公司表示全力支持x m l ,并开发了不少x m l 工具。例如a d o b e 的f r a m e m a k e r 可以 用来书写x m l 文档;m i c r o s o f t 推出的i e 6 0 支持显示、处理和编辑x m l 文件,而 0 f ! f i c e 2 0 0 3 系列如w o r d 、e x c e l 中也已经支持x m l ;n e t s c a p e 、s u n 公司也不甘寂寞, 纷纷表示要在他们的w e b - r 具中支持) a l 。 到目前为止,x m l 已经包含在包括m i c r o s o f t 、o r a c l e 及i b m 等公司的几乎所有软 件之中。m i c r o s o f t 称x m l 是其知识管理系统的基石,知识管理系统将作为附加工具与 其客户端及服务器端软件一起发行。按照m i c r o s o f t 对市场的理解,x m l 可以统一多种 语言、多种数据格式以及多种表现方式,并将在所有的产品中迅速普及。 2 0 0 1 年1 0 月1 8 日,m i c r o s o f t 的b i l lg a t e s 在微软开发者成功之路大会上就微软新 推出的n e t 策略发表了如下言论“首先x m l 会成为新的标准,它能够使各种程序在互 联网上协同运行,互相沟通,任何终端装置的职能都能被充分利用,有了x m l 标准, 两个从未见过面的人写的程序也能够协同工作。其次就是人们会利用新的工具,比如说 v i s u a ls t u d i o n e t 这样的新工具来写一些应用,这些应用能够以新的方式来运行,并使 升级更加容易,因为x m l 使得软件的结构组建起来更加简单、过去要写的很多编码不 再必要。”在上述理论中,最重要、最根本的一条是x m l ,它将成为微软确立网络 新世纪标准的关键。x m l 能让软件在文件、系统、服务及设备间相互关联及相互作用, 使网络成为一个整体【0 1 。 o r a c l e 公司也加大了对x m l 的支持力度,着手开发从j a v a 到x m l 过渡的产品, 并发布了支持x m l 的o r a c l e 开发工具j d e v e l o p e r3 1 和o r a c l e 开发工具包。借助 j d e v e l o p e r3 1 ,开发人员能够便捷地创建、调试和部署可以处理x m l 数据和文件的 i n t e m e t 应用。o r a c l e 也因此成为业界第一个提供全面集成的、允许开发人员以j a v a 和 x m l 创建和部署电子商务应用的开发工具供货商【7 j 。 n o v e l l 公司也发布了一个基于x m l 的全新企业应用集成技术的开放b e t a 版本。 n o v e l l 的x m l 集成服务是n o v e l l “单一网络”战略的关键组成部分,它使用开放互联网 标准提供数据中心功能,能够有效地适应和调整网络电子商务进程。 除了这些著名的公司外,其它小公司也把x m l 作为一种商机,纷纷投入到x m l 的开发工作中。例如a r o b o r t e x t 公司的c e d a r 项目旨在开发x s l ;a r o b o r t e x t 公司和 m i c r o s o f t 公司一起向w 3 c 提出了x s l 的标准草案;g r i f 公司的s y m p o s i ad o c + 贝i j 是一 个编辑x m l 文档的可见即可得的工具。此外还有c o p s o l 公司的x m l 开发工具,n o r b e r t 公司的x m l 句法分析器,j a d e 公司的x s l 工具包以及支持客户服务机应用的s e r u c i e 9 8 笙【6 1 寸o x m l 技术在国外正呈方兴未艾之势。我国的x m l 技术也逐渐兴起。在国内已经有 一些院所中的研究人员开始了对x m l 的研究。国内易方公司开发的基于i n t e r n e t 的网 上应用易方远程报表系统广泛的利用了x m l 技术,其作用在于对数据的传输与作为本 地数据库保存数据以及对多种各式的报表进行标记,目前在实现中得到了很好的效果。 北电网络广州分公司也已经决定使用x m l 实现网络设备之间的数据交互。可以预计在 基于x m l 的设备描述在ep :a 系统应用中的研究与实现 不久的将来,x m l 技术的应用会更加普及【8 1 。 1 4 课题的主要意义 基于以太网的工业现场设备控制系统是一个分布式的开放系统,它的一个重要特点 就是可互操作性。可互操作性保证了来自不同厂商的设备可以相互通信,并可以在多厂 商产品的集成环境中共同工作,既提高了系统的质量,也为用户提供了更大的市场选择 机会。 x m l 是一种能够自描述的标记语言,对于异构系统之间的数据交换有着重要的意 义,同时,可以根据领域需求的实际情况,定义出自己的标记语言。基于x m l 的设备 描述是一种结构化的文本文件,描述了组态程序通过以太网接口所获得的设备的全部参 数,解决了设备的可互操作问题。本课题的主要研究意义在于: 1 ) 利用x m l 的自描述性,在x m l 语法的基础上,制定e p a 的标记语言,对设备 的参数信息进行描述,解决设备间的可互操作性; 2 ) 利用x m ls c h e m a 技术定义设备描述的语法规则,并验证设备描述的文档结构 和数据类型: 3 ) 利用x m l 分析器和d o m 技术,组态程序访问和操作设备描述中设备的参数信 息,实现设备的互操作; 本课题来源于由浙大、沈阳自动化所、大连理工大学和清华大学联合获得的8 6 3 重 点项目( 2 0 0 1 a a 4 1 3 0 1 0 ) “基于高速以太网技术的现场总线控制设备”中的子课题。 1 5 小结 本章在回顾标记语言的发展以及同目前w e b 语言的比较之后,指出了x m l 技术的 重要作用和地位。本课题研究了基于x m l 的设备描述在e p a 系统组态平台中的应用, 将x m l 作为一种数据交换格式予以实现。课题中根据设备的功能和组态软件的实际需 要,定义了e p a 的可扩展设备描述语言,并利用该语言,结合相关技术解决设备间的 互操作问题。 6 基于x m l 的设备描述在e p a 系统应用中的研究与实现 2x m l 的相关技术 ) c m l 最大的优点在于它的平台独立性和可扩展性。要想了解x m l 的工作过程,利 用x m l 建立自己的应用,必须了解以下三个部分:x m l 的结构定义语言s c h e m a ( 模 式) 和d t d ( 文档类型定义) 、节点匹配路径语言x p a t h ( x m lp a t hl a n g u a g e ) ,以及 应用程序接口d o m ( 文档对象模型) 和s a x ( x m l 简单应用程序接口) 。本章对这三 个部分逐一阐述。 2 1 文档类型定义d t d 与模式s c h e m a 利用x m l 可以方便地定义行业标记集,并且具有可扩展性。只要对相同行业的具 体标记集进行标准化,然后遵循这样的标准去编写具体的设备描述文档,就可以解决数 据表达的不兼容问题。x m l 提供了两种方式来定义设备描述的标记集,即d t d 和 s c h e m a 。 2 1 1 文档类型定义d t d d t d 是d o c u m e n tt y p ed e f i n i t i o n ( 文档类型定义) 的缩写。d t d 列出了可用在设 备描述文档中的元素及属性的清单,以及这些内容之间的相互关系。d t d 为设备描述 文档的结构指定了一系列规则,将文档的结构和内容完全分开。通过d t d 定义设备描 述文档的整体结构和语法,使文档获得易读性、清晰的语义及易检索性【9 】。 d t d 能够保证不同的人和程序可以彼此阅读对方的文件。d t d 使用了一系列正则 式来说明它的语法规则,语法分析器将这些正则式与设备描述文档内部的数据模式相匹 配,判断出一个设备描述文档是否规范。匹配被严格执行,如果设备描述文档中有任何 不符合d t d 的规定,都通不过分析器的解析l l0 1 。例如:教研室的嵌入式数据采集模块 d u t 5 0 0 0 的d t d 可以定义为一个设备描述信息 。设备信息又分别 包含设备基本信息, 和模块信, ,设备的基本信息则 包含了设备i d ,设备功能 和设备类型i d 。 程序中,关键字撑p c d 觚a 表示该元素的内容是纯文本。 根据d t d 在设备描述文档中所处的位置可以分为:内部d t d ,外部d t d 和公用 d t d 。内部d t d 被直接加到x m l 处理指令之后,并且只能被一个设备描述文档应用。 基于x m l 的设备描述在e p a 系统应用中的研究与实现 在每一个设备描述文档中加入一段d t d 定义,是相当繁琐的,而且对于适用于同个 d t d 的多个设备描述文档来说,重复添加d t d 代码不仅效率低,一旦需要对d t d 进 行某些修改,则要重复地去修改每一个包含它的设备描述文档。因此,我们可以使用外 部d t d ,为一批设备描述文档定义一个相同的d t d ,并将d t d 独立放置在一个文档中, 使用该d t d 时只需在设备描述文档中加以引用就可以了。这样不仅简化了输入工作, 还保证当需要对d t d 作出修改时,不用一一去修改每个引用了它的设备描述文档,而 只需修改这个外部d t d 就可以了。公用d t d 也是一种外部d t d ,它是一个由权威机 构制订的、提供给特定行业或公众使用的d t d 。 d t d 可以用于工业控制系统,先定义设备的设备描述中信息的标记、元素及元素 属性,然后用d t d 定义其中的标记、元素及它们之间的关系。 2 1 2x m ls c h e m a ( 模式) x m l 设计初期的想法本来只是用来在人阅读的文件上作标记,以方便实现检索等 功能。但是,很快x m l 就吸引了致力于商务、面向对象数据库以及描述设备信息等应 用的人士的注意,即) ( 】l 被应用在机读文档上,因为l 的定义方式在应用软件理 解和处理数据方面有天然的优势。 作为x m l 规范的重要组成部分,虽然d t d 对于设备描述文档的结构起到了很好的 描述作用。但是,d t d 的语法相当复杂,并且不符合x m l 的语法规则、不支持数据类 型、扩展性较差等等。设备描述文档处理的自动化要求有一种更为严格、更为全面地解 决方案。如组态程序对文档结构、属性、数据类型等的约束等等。x m ls c h e m a 的出现 解决了这些问题。2 0 0 1 年5 月2 日,x m ls c h e m a 通过了w 3 c 的批准,成为正式的推 荐标准 1 l 】。 s c h e m a 模式一词来源于数据库技术,在数据库管理系统中,模式是数据库结构的 形式描述,用来定义诸如表和字段以及它们之间的关系等内部结构【l2 1 。模式常常描述为 设备描述文档内容的模型。s c h e m a 相对于d t d 有以下优势j j : 1 ) 一致性:x m ls c h e m a 的定义不必再利用一种特定的形式化的语言,而是直接借 助x m l 自身的特性,利用x m l 的基本语法规则来定义x m l 文档的结构,使x m l 达到 了从内到外的统一,也为x m l 的进一步发展奠定了坚实的基础1 1 4 1 。 2 ) 扩展性:s c h e m a 对d t d 进行了扩充,具备了较强的扩展性。比如,引入了命 名空间,s c h e m a 能够通过命名空间扩展出去,向s c h e m a 中加入元素和属性,只要元素和 属性名域不同,它们在一个s c h e m a 中是合法的,而d t d 将无法解析扩充的内容。 3 ) 易用性:s c h e m a 取代d t d 的另一个原因要归结于d o m 和s a x ,作为一种x m l a p i ,d o m 和s a x 只是对x m l 实例文档有效,对d t d 则无能为力。因为d t d 无法详 细规定数据的反复次数和出现顺序等。 4 ) 丰富的数据类型:x m ls c h e m a 真正出色的地方是在表达元素的数据类型的约束 上,而这恰是d t d 最薄弱的地方。d t d 只允许把内容类型定义为一个字符串。s c h e m a 则允许把内容类型定义为整型、浮点型、日期型、布尔型或者许多其它的简单数据类型 等,共有2 3 种之多。因此d t d 在数据的描述方面存在着明显的不足,不能满足当今大 基于x m l 的设备描述在e p a 系统应用中的研究与实现 多数应用系统对数据的要求。s c h e m a 则提供了许多的数据类型,并支持用户对数据类型 的扩展,由简单型生成复杂类型,基本上满足了数据描述上的需要【1 5 】。 5 ) s c h e m a 的属性类型更为丰富,根据不同的应用需要,提供了多种属性选择, s c h e m a 可以规定元素出现的次数,使得设备描述文档被x m l a p i 解析成为可能【16 1 。 6 ) 对数据库的支持:目前如何将关系数据表示为x m l 数据和如何实现基于关系数 据库的x m l 数据存储、查询和更新已经成为了研究的热点。d t d 相对简单的语法不能 满足对关系数据描述方面的要求,s c h e m a 提供了更多的数据类型,并支持用户对数据 类型的扩展,基本上满足了关系模式在数据描述上的需要【1 7 】。 对上一节d t d 的例子,可以用s c h e m a 书写为: c l e m e n tt y p e = ”d e v i c e f u n c t i o n ”侈 在s c h e m a 中,也是通过对元素的定义和元素关系的定义来实现对整个文档结构和 内容的定义【1 2 】。e l e m e n t t y p e 元素用于定义s c h e m a 文档中出现的元素,但只是起到声 明元素的作用,元素的真正引用要依靠e l e m e n t 元素【1 7 j 。 e l e m e n t t y p e 元素包含n a m e ,c o n t e n t ,d t :t y p e ,o r d e r ,m o d e l 五个属性,其中n a n l e 和c o n t e n t 属性是必需的,用来指定元素的名字和元素的内容,程序中c o n t e n t 属性的两 个属性值的含义分别是:属性值t e x t o n l y 表示该元素的内容只能包含文本而不能包含子 元素,属性值e l t o n l y 表示该元素只能包含子元素而不能包含文本元素。其它三个属性 为可选属性,s c h e m a 文档中元素的多种数据类型就是通过指定d r :t y p e 属性的属性值实 现的,其属性值包含b o o l e a n ,c h a r ,d a t e ,i n t ,f l o a t 等2 3 种数据类型。o r d e r 属性指定 元素中子元素的排列规则,m o d e l 属性指定元素是否可以包含其它未在x m ls c h e m a 中 定义的元素和属性【i 引。 e l e m e n t 元素是对e l e m e n t t y p e 声明的引用,其t y p e 属性唯一指定了要引用的元素 类型,它的取值必须同e l e m e n t t y p e 中的n a n l e 属性严格一致。e l e m e n t 元素另外两个属 性m i n o c c u r s 和m a x o c c u r s 分别指定该元素引用在设备描述文档中出现的最小次数和最 大次数,为可选属性【l 引。 x m ls c h e m a 提供了清楚、灵活的描述设备描述文件中设备参数的能力,是x m l 演化和成熟过程中的一个重要里程碑。目前,x m ls c h e m a 已经广泛应用于下列领域【l 9 】: 1 ) 信息出版与共享; 9 基于x m l 的设备描述在e p a 系统应用中的研究与实现 2 ) 电子商务; 3 ) 网络传递与监控; 4 ) 文档归类; 5 ) 数据库与应用程序的信息交换; 6 ) 元数据交换。 2 2x m l 的路径语言x p a t h ( x m lp a t hl a n g u a g e ) x p a t h 指的是x m l 路径语言。x p a t h 的正式版本是w 3 c 于1 9 9 9 年底公布的x m l p a t hl a n g u a g e ( x p a t h ) v e r s i o n1 0 ,它用于定位设备描述文档中元素的位置【2 0 1 。 x p a t h 的基本语法由“寻址 表达式构成,其中最重要的一种表达式称为“定位路 径”( 1 0 c a t i o np a t h ) ,这种表达式由轴向( a x i s ) 、节点匹配( n o d et e s t ) 和判定( p r e d i c a t e ) 三部分组成。x p a t h 表达式的操作对象是设备描述文档树状结构中的节点,当在某个节 点上执行定位路径时,轴向指出寻址的方向:按照树结构中节点之间的隶属关系,有表 示祖先节点的a n c e s t o r 、表示父节点的p a r e n t 、表示兄弟节点的s i b l i n g 、表示子节点的 c h i l d 和表示所有后代节点的d e s c e n d a n t ;按文档中节点对应标记出现的先后次序,有表 示该元素之后出现的所有元素的f o l l o w i n g 和表示该元素之前出现的所有元素的 p r e c e d i n g ;也可以按照节点的性质a t t r i b u t e 寻址。这些轴向还可以互相结合【2 1 1 。节点匹 配部分指出要寻找的节点名称( 设备描述文档中的标记名称或其属性名称) ,判定部分 则进一步指明一些条件,只有满足条件的节点才被选中。例如:匹配d e v i c e l d 元素及 它的祖先节点元素。 d e v i c e i d a n c e s t o r - o r - s e l f 匹配的结果为:d e v i c e l d 元素、d e v i c e l d e n t i f y 元素和d e v i c e d e s c r i p t i o n 元素。表2 1 中列出了常用的匹配符号及其含义。 表2 1x p a t h 路径匹配常用符号 t a b 2 1t h ef a m i l i a rs y m b o la n di t sm e a n i n go fp a t hm a t c h i n g 符号含义 匹配根节点 匹配所有路径以“ 后制定的子路径结尾的元素 木 路径的通配符 将多个路经结合起来,相当于逻辑或 表示属性:是一个属性名称的前缀 x p a t h 在匹配设备描述文档结构树时能够准确找到某一个节点元素。可以将x p a t h 比作文件管理路径,通过文件管理路径可以按照一定的规则查找到所需要的文件,同样 依据x p a t h 所制定的规则,也可以很方便地找到设备描述结构树中的任何一个节点,将 此节点传递给d o m 接口提供的对象供应用程序使用。 l o 基于x m l 的设备描述在e p a 系统应用中的研究与实现 2 3 设备描述的编程接口 组态程序开发过程中,如果要对设备描述文档进行访问与操作,则必须通过能够识 别x m l 语法的分析器和分析器的接口来实现。w 3 c 及x m l d e v 邮件列表的成员分别 提出了两个标准的应用程序接口:d o m 和s a x ,本节将对这两个接口进行分析和比较。 2 3 1x m l 简单应用程序接口s a s a x 的全称是s i m p l e a p if o r x m l ,即x m l 简单应用程序接口。s a x 提供了一种 对设备描述文档进行顺序访问的模式,这是一种快速读写设备描述文档中数据的方式。 当使用s a x 分析器对设备描述文档进行分析时,会触发一系列事件,并激活相应的事 件处理函数,完成对设备描述文档的访问,所以s a x 接口也称作事件驱动接1 3 2 2 1 。 s a x 分析器在对设备描述文档进行分析时,触发一系列事件,组态程序通过事件处 理函数实现对设备描述文档的访问。由于事件触发本身是有时序性的,因此,s a x 分析 器提供的是一种对设备描述文档的顺序访问机制,对于已经分析过的部分,不能再倒回 去重新处理。s a x 之所以被叫做“简单”应用程序接口,是因为s a x 分析器只做了一些 简单的工作,大部分工作还要有组态程序自己去做。也就是说,s a x 分析器在实现时, 它只是顺序地检查设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民用爆炸企业安全培训课件
- 民法研究生课件
- 大家保险考试题库及答案
- 新质生产力核心问题解析
- 民族风漫画人物课件
- 医护患位置关系静态区
- 新质生产力与颠覆性创新
- 安全法基本原则讲解
- 新质生产力的三个层次
- 学校一班级班主任工作方案其次学期
- JJG 693-2011可燃气体检测报警器
- 乡村文旅项目规划方案设计
- 2024年医院肠胃内镜科带教计划
- 作业设计大赛模板
- JCT908-2013 人造石的标准
- 化验室检验和试验管理制度
- 北京市建筑施工作业人员安全生产知识教育培训考核试卷ABCDE
- GB/T 14048.7-2016低压开关设备和控制设备第7-1部分:辅助器件铜导体的接线端子排
- 议论文如何议论-使素材紧扣中心论点的方法
- 第十二章-地球系统科学课件
- 2022~2023血站上岗证考试题库及答案参考85
评论
0/150
提交评论