热门关键字:谷物容重器 降落值测定仪 粉质仪 拉伸仪 罗维朋比色计 纤维素测定仪 脂肪测定仪 油脂烟点测定仪 凯氏定氮仪 锤式旋风磨  硬度计

新构建在仪器仪表功能抉择中运用

来源: http://www.grain17.com  类别:实用技术  更新时间:2015-03-23  阅读

  XML是一种用于描述数据的元标记语言。采用XM L几乎可以描述所有的数据类型,用户可以根据自己需要创建各种自定义标记,从而构建需要的标记语言来描述各种数据。

  XML文档是指使用XML语言描述的标准格式文档,其最大的特点是以树型结构来组织数据。按照其结构可分为规则和XML文本组成。规则就是一种标记符的语法规则,简单的说就是对用户标记的定义;而XML文本则是使用该标记记录进行描述的文本。

  本应用通过将需要的菜单数据封装成多国语言的XML文本格式,再通过编写XML解析程序在运行时解析加载解析构造动态的菜单内容,从而实现软件的动态解析、多语言支持。

  菜单内容的XM L描述不同于普通菜单系统,仪器的菜单系统主要是由几个按钮来来实现的,在按钮区域不但要完成这个菜单树的寻址,还要完成参数显示、控制参数输入等复杂功能。通过对其进行需求分析,可以把所有功能抽象为5种类型:子菜单型、选项型、参数型、复合型、功能型。它们的功能分别如下:1)子菜单型:拥有下一级菜单链接,单击会显示下一级菜单。

  2)选项型:控制着N选1的系统参数,单击更改系统参数并在视图显示。

  3)参数型:控制系统参数的输入,单击会产生更改参数消息,更改后显示结果。

  4)复合式:具有选项型和参数型两种复合类型的菜单,第一次单击完成选项型功能,第二次单击完成参数型功能。功能型:单击完成仪器的一个特定功能。为功能视图。

  通过XM L的封装有效地实现了菜单内容和功能的分离,在运行时再来组织菜单内容结果可以产生高度的可复用和软件灵活性,以下为某频谱析菜单描述为例:< M enuItem Caption_Eng= \" StopFreq\" Caption_Chi= \"中止频率\" Type= \"TYPE_PARAM \" nID= \"103\" /> < M enuItem Caption_Eng= \" StepFreq\" Caption_Chi= \"步进频率\" Type= \"TYPE_COMPOUND\" nID= \"104\" > < options > < option nam e= \"AUTO\" /> < option nam e= \"MAN \" /> < / op tions> < /M enuItem >其中Caption是菜单的标题描述,现在只封装了英文和中文,需要的时候可以使用添加各国语言。Type描述的是菜单的功能类型。nID是唯一标识菜单功能的描述,通过此ID确定它的功能。通过这种描述可以实现对各种复杂结构的菜单科研设计成果仪器仪表用户进行描述,扩展度极高。

  2. 2菜单系统软件设计通过用例分析技术可以有效的帮助设计,按照功能单元可以将整个系统分为四个部分:菜单解析组件、菜单视图组件、菜单功能组件、菜单管理组件。

  菜单管理组件用于实现整个系统的产生和结束,同时也负责维护菜单树结构和树寻址。菜单解析组件用于完成对XML文档的解析,产生对应的数据结构并存入到管理组件中。

  菜单视图组件用于显示功能名称和系统参数,同时也接收用户的按键消息并通知功能组件。菜单功能组件用于实现操作功能,包括产生下级菜单、更改系统参数等。具体架构参看。

  菜单系统构架图解析组件为管理组件提供接口,视图则依赖于管理组件产生的菜单树。同时视图也作为观察者接受用户的消息并转发到功能组件里,功能组件完成解析并调用管理组件实现菜单功能。其具体设计如下:1)菜单解析组件设计解析XML文档需要用到XML解析器(提供了读写XML文档基本函数的功能包),本例中采用了微软的XML解析器。为了最大程度简化解析过程,可设计一个递归函数来完成整个命令树的构建。其解析思想是对XML文档节点深度优先的查找方法,遍历整个XM L文档。每当查找到新一个节点就在内存中动态生成一个新的十字链表节点,然后将新节点连接到原节点上,从而在内存中构成一个树形结构的菜单树。

  2)菜单视图组件设计菜单的视图基本需要的功能就是实现一个能够用于显示字符的容器和接收按键消息功能,并能根据菜单树种的类型完成不同显示样式。如果需要优化美观,还可以采用贴位图的办法来获得更好的用户界面。

  3)管理组件设计管理组件维护着整个菜单树的结构和寻址。一般的菜单树都是树型结构,构建的时候可以考虑使用二叉树或者十字链表来构建,可以获得比较优化的菜单结构。菜单的寻址过程其实就是对典型的树查找过程,任意查找算法可以实现。

  结束使用XM L封装数据,再通过解析实现动态可配置的软件具有高度的扩展性和灵活性,是现在流行的一种软件技术,现在已经发展成为一种重要的体系结构。采用上述技术设计的菜单系统已用于多种仪器中,实践证明该设计方法是十分成功有效的。

  【中国粮油仪器在线】部分信息来自互联网,力求安全及时、准确无误,目的在于传递更多信息,并不代表本网对其观点赞同或对其真实性负责。