一种组态软件的画面设计方法

文档序号:6618805阅读:475来源:国知局
专利名称:一种组态软件的画面设计方法
技术领域
本发明涉及组态软件领域中一种人机界面(HMI)设计方法,可广泛用于各种组态 或监控软件的人机界面(HMI)构建过程。
背景技术
在各种监控软件使用场合中,以画面设计为中心的HMI被广泛应用,监控系统的 进步也促使HMI设计在发生巨大的变化,监控系统的发展已经越来越向大型化,柔性需求, 专业化,多系统集成,开放性,可定制,过程化的趋势发展,此趋势也决定了现有监控系统领 域发展的两种模式一种模式为组态软件厂商在组态软件基础上开发专用组态软件功能, 另一种模式为原有的监控软件生产商慢慢向通用的监控系统中渗透;从表面上来看,各个 厂商HMI系统的功能是在不断地拓展改进和进行大规模的专用功能集成,本质上HMI之争 已演变为专用和通用之争,开放与封闭之争。现有的组态软件和监控软件产品设计的HMI资源,尤其是画面资源基本不兼容, 即使是有极少数软件系统提供了标准的SVG画面方式的导出,但对于动态画面部分,事件 处理部分,控件部分仍然不具有任何开放性,这种现状严重阻碍了大型监控系统的系统集 成(尤其是与老系统和其他厂家系统)实施。本系统提供的一致化的开放式系统描述可以 有效消除资源的格式障碍,实现整个设计模型的完全开放。现在的工程实施讲求更高的工作效率和系统对柔性需求的适应能力,一个大型监 控系统涉及的画面资源和数据资源非常巨大,工程实施时间却非常紧迫,对一般的监控系 统和组态系统来说,更大的挑战来自于各种资源建立后对资源内容的动态修改和临时的应 用扩充,本发明提供的复用机制可以有效应对资源内容的频繁更改引起的工程实施难度增 加,自定义的插件机制则可以轻松应对各种各样应用的不断扩充。监控软件或组态软件厂商一般在自己的产品中均提供可复用的元件库,但是对于 大部分系统来说,元件库的扩充通常需要专业的编程人员来实现,本发明提出的可复用元 件设计方法降低了这类元件建立的门槛,任何工程人员均可轻松已可视化的方式建立专业 的元件加入系统内使用。

发明内容
1.定义了一种HMI画面模型的构建方式;即使用画面和元件建立画面模型;该模 型简化了 HMI画面模型传统的画面/图层/图素结构方式,将图层控制功能放到了每个元 件的控制字中,简化了画面结构,同时对元件提供了更为精细的控制;建立图形模型的画面 本身和画面元素均是可描述的,可以通过属性描述符描述这两各组成部分的完整特性,从 而使整个画面具有完全的开放性、可读性和可扩充特性。2.本发明定义了 HMI画面模型构成元素的描述模型,即使用属性、驱动、事件三要 素对构成元素进行描述的方式。其中属性用来描述画面各元素的特征定义;驱动用来实现 各元素的动态特性;事件则用来定义元素生存期行为以及与元素外界的交互过程。
3.本发明同时定义了各种典型的HMI元件驱动模式和不同驱动模式下的驱动配 置状况,这些典型的元件驱动模式包括1)模拟量输出驱动用来显示一个变量/对象属性/表达式的值。2)动画驱动用变量/对象属性/表达式来驱动一个动画元件动画的启停,用另 一个变量/对象属性/表达式来驱动动画速度。3)旋转动画驱动用变量/对象属性/表达式来控制一个元件进行旋转。4)闪烁驱动用变量/对象属性/表达式来控制一个元件进行闪烁。5)颜色驱动用变量/对象属性/表达式来控制一个元件的线色/填充色或文本 颜色。6)条件驱动用变量/对象属性/表达式的真假值来控制元件的颜色。7)数字量驱动用变量/对象属性/表达式的真假来控制元件显示内容。8)元件允许驱动用变量/对象属性/表达式的真假来控制元件是否有效。9)填充驱动用变量/对象属性/表达式的计算结果来控制一个几何图形的填充 比例。10)水平/垂直移动驱动用变量/对象属性/表达式的计算结果来控制一个元 件在画面上的位置。11)水平/垂直移动缩放用变量/对象属性/表达式的计算结果来控制一个元 件在画面上的缩放程度。12)流动驱动用几个变量/对象属性/表达式的计算结果来分别控制一个线型 元件或一个几何元件边缘的流动效果,流动速度,流动方向。13)多条件颜色驱动用一组变量/对象属性/表达式序列来控制不同表达式成 立的情况下元素的线色,填充色或文本颜色。14)多条件内容驱动用一组变量/对象属性/表达式序列来控制不同表达式成 立的情况下元素所显示的不同内容。15)旋转驱动用变量/对象属性/表达式的计算结果来控制一个元件在画面上 的旋转角度。16)离散量输出驱动用变量/对象属性/表达式的计算结果控制特定结果对应 的特定内容输出。17)透明度驱动用变量/对象属性/表达式的计算结果来控制一个元件在画面 上的透明度。18)单元循环填充驱动用变量/对象属性/表达式的计算结果来控制一系列带 有填充属性的元件,使他们在计算结果为真的情况下逐个填充指定的填充色。19)单元循环可视驱动用变量/对象属性/表达式的计算结果来控制一系列元 件,使他们在计算结果为真的情况下逐个进行显示/隐藏。20)变量输出驱动输出一个变量、属性或表达式的值。21)可视驱动用变量/对象属性/表达式的真假来控制元件是否可视。4.本发明定义了事件模型和事件的典型响应模型;这些典型的响应模型包括1)变量设置给指定变量赋指定的数据。2)发送一个脉冲到指定变量对于上升沿脉冲给指定变量先赋一个零值,延时指定的时间后,给指定变量先赋一个一值;对于下降沿脉冲给指定变量先赋一个一值,延 时指定的时间后,给指定变量先赋一个零值;以上延时时间即为脉冲宽度。3)打开一幅画面调用系统的画面打开服务打开一幅画面,画面服务需要有监控 系统提供。4)模拟量输入弹出一个计算器方式的交互窗口,让用户输入一个指定的模拟量 值,确定后将此值赋给指定的变量。5)执行程序执行一个指定的程序。6)变量取反脚本获得指定变量的值,取反后重新赋给指定变量。5.本发明为整个画面模型定义了一套完整的复用模型及每种复用模型的应用原 理,复用模型中包含下列组成元件样式、驱动样式、画面样式和可重用元件;其中元件样 式解决了不同元件元件一级的风格重用,驱动样式解决了不同类型元件的驱动重用,画面 样式解决了画面一级的风格重用,可重用元件解决了同一类元件的统一风格;6.本发明提供了一套可重用元件的定义机制,可重用元件的构建模型由元件组 合,属性映射,可重用元件事件模型三部分组成,其中元件组合描述了可重用元件的外观 形状;属性映射用来为可重用元件建立自定义的属性,这些属性是到元件组合中各个子元 件属性的映射;事件模型则定义了可重用元件事件的可重用层次,可重用元件的事件模型 包括子元件事件模型、可重用元件事件模型、可重用元件实例事件模型三种事件模型方 式。7.本发明提供的方法了实现整个HMI画面模型的可描述特性和格式的开放性;定 义了使用属性描述符描述属性项,使用属性项构建属性表的方法,定义了使用属性表对HMI 设计中的画面元素进行表达的方法;发明同时提供了一套标准的属性描述符并提供用户对 属性描述符的扩充机制。


图1可描述的模型实现图2画面模型构建方式图3元件模型构成图4元件模型中的动态驱动设计图5可重用元件模型图6元件样式模型图7驱动样式模型图8画面样式模型
具体实施例方式1.如图1所示,为了实现HMI画面模型的可描述,需要为HMI画面模型的各个 元素制定统一的描述方法,为每个画面模型涉及到的元素建立属性表可以实现统一的模型 描述方法,属性表包含了一系列属性条目,每一条属性条目可以确定元素的一个特征,属性 条目包含了元素一个特征的文字表述,此特征的属性描述符和一些属性控制字构成,其中 属性描述符用于说明此属性的类型,属性描述符在HMI整个设计中具有一致的含义,属性描述符使每一个属性值具有可复制性和可序列化特性,并可以将属性条目导出为XML格式 文档。使用属性表定义画面元素的方式使画面模型包含的各种元素都可访问性和可设置, 属性的访问和设置均可以通过一个通用的属性访问和设置接口来完成。2.画面模型构成和元件模型构成本发明对画面模型的设计分为两个部分,即画面组成模型和对各画面元素的描述 模型,如图2所示。a)画面组成模型分为两种元素,即画面自身和元件;画面是元件的容器,元件是 画面的组成部分;b)对于这两个要素的描述模型,使用属性/驱动/事件三个要素来确定,其中驱动 仅在元件中包含;c)图形元素的属性包括画面尺寸,画面名称属性;图形的事件定义包括图形载入 事件,图形销毁事件,图形活动期间事件。d)元件模型的三个要素中元件属性定义了元件的外观和尺寸大小以及专属于特 定元件的配置,如图片控件的图片资源属性;驱动则定义了元件的动态特性;元件的事件 定义和事件相应包括如下几种i.生存期事件包括图形元素的对象创建,对象销毁,对象活动期间的事件;生存 期事件对于画面来讲包含画面的载入和销毁,画面活动期间的定时事件;对于元件包含元 件的初始化和销毁,元件活动期间的定时器事件;ii.交互事件包括鼠标事件和键盘事件,鼠标事件包括左键,中键,右键的弹起, 按下,持续按下,点击,双击,鼠标拖动元件事件(垂直或水平方向);键盘事件包含对系统 键盘按键和各种组合键产生的按键事件;iii.控件事件每种窗口控件具有不同的控件事件;3.元件模型中的动态驱动设计元件模型中的动态驱动要素用于实现元件的动态特征,动态驱动的原动力是数 据,数据可以是取自监控系统平台或组态软件系统数据库提供的变量数据,每一类驱动通 过制定一类驱动规则来对元件的特定外观进行控制,这些控制包括改变元件位置和尺寸, 改变元件颜色或元件显示的内容,控制元件的显示和隐藏等;4.可重用元件模型本设计提供一种完全基于属性映射和事件模型的可重用元件定义方法,此方法适 用于一类具有相同行为的画面元素,它们的外观相同,并且驱动特性和事件响应特性也完 全相同,属性映射性可以实现可重用元件的定制,事件模型则定义了一个可重用元件在使 用时的事件产生和响应模式,本设计定义了三种事件模型供使用者按照不同的适用场合下 选取。这三种事件模型定义如下a)子元件事件模型指可重用元件的事件来自于包含在可重用元件中的子元件;b)可重用元件的事件模型是指可重用元件的事件来自于可重用软件整体,但所 有可重用元件事件实例均共享此事件模型;c)实例模型是指可重用元件只有在实例化时才可以进行的事件设置的模式;5.元件样式模型元件样式用于控制整个画面系统所有元件的统一风格;这些风格包含元件的外观属性,如线色,填充色,文本色,文本字体等;此样式用来控制系统的整个显示风格,或统一 系统的字体相关设置,样式内容的改变会引起引用此样式的元件渲染效果发生变化,但是 不需要修改任何元件。6.驱动样式模型如图7所示,驱动样式用于控制具有相同行为的不同元件;驱动样式为一组元 件变化的规则(序列),每条规则表述为一个条件对应一个外观变化集合,外观变化集合 包括颜色变化,元件内容变化,元件显示隐藏,元件闪烁;规则是一个逻辑表达式;驱动样 式适用于对象驱动和分类驱动两种驱动方式,其中对象驱动用于处理面向对象的方式,分 类驱动用于处理面向变量的组态方式;工作方式为驱动定时逐条计算变化规则条目中的 表达式项,当计算结果为真时,根据预设的元件外观变化配置驱动元件改变外观,显示/隐 藏,或闪烁。7.图形样式模型如图8所示,画面复用通过图形样式来实现,图形样式可以是一幅包含任何元素 的普通画面,系统提供一个全局的图形样式库对用户建立的图形样式进行管理;图形样式 作为一个画面的属性存在,当设置了图形样式的画面被图形渲染器时,图形渲染器将首先 渲染图形样式,然后才绘制画面内容,画面样式的改变不需要改变引用此样式的画面,因此 可以为系统的画面资源添加一种统一的显示风格。
1权利要求
一种组态软件画面设计方法定义了一套用于HMI模型设计的模型描述方式,本方式使用属性描述符来描述HMI模型构建过程中各个元素的特性和行为;属性描述符被属性描述符库统一管理,属性描述符库包含HMI通用的属性描述符列表,并可以进行扩充;一个模型的所有特性可以通过一个属性表描述,一个属性表包含一系列属性条目,每个条目描述一个特性,一个属性表条目由属性组、属性名称、属性类型描述符和一些属性控制字组成;通过特定的属性访问和设置接口可以访问这个属性表,并对属性进行设置。
2.如权利要求1所述的方法,属性描述符用于定义一类属性特征,通过如下要素确定1)全局唯一的一个属性描述符名称,必须具有明确的字面含义,字符长度不超过48字 符,任何属性类型均通过此属性描述符定义;2)与编程语言相关的基本数据类型,此项用于完成属性描述符定义的具体数据类型操作;3)属性约束,用于属性范围进行约束;4)对象类名,当数据类型为对象时,此要素提供一个类标示名称或一个类工厂接口; 如果所选用的编程语言支持从名称生成类实例,则此要素是一个类名称,否则这里是一个 类工厂名称,用于在需要获得类实例时创建对应的类实例;无论哪一种方式,所生成的类对 象必须支持可复制接口和序列化接口。
3.如权利要求2所述的方法,属性描述符对应的编程语言相关的基本数据类型是下列 值,但不限于下列类型中的一个基础数据类型C++数据类型含义.Net数据类型含义Java数据类型含义基础数据类型键值IntegerIntintint1FloatFloatfloatfloat2Doubledoubledoubledouble3Stringchar 氺stringString4BooleanBoolbooleanBoolean5ByteBytebytebyte6ShortShortshortshort7LongLonglonglong8TimeSYSTEMTIMEDateTimeCalender9Facadevoid 氺objectObject10Objectvoid 氺ObjectObject11Object Refvoid 氺objectObject12
4.如权利要求1所述的方法,系统属性描述符库包含HMI通用的属性描述符列表如下 但不限于列表中所示的内容
5.如权利要求2所述的方法,属性描述符包含的属性约束可能是下列约束中的一个1)文件类型约束本约束针对File,ImageFile描述符修饰的属性,用于指定文件的过 滤类型;2)字符串长度约束本约束针对String描述符修饰的属性,用于指定字符串的长度限制;3)整数范围约束本约束针对Integer,Short,Long描述符修饰的属性,用于指定一个 数值区间;4)浮点数范围约束本约束针对Float描述符修饰的属性,用于指定一个数值区间;5)双精度浮点数约束本约束针对Double描述符修饰的属性,用于指定一个数值区间;6)元件外观约束本约束针对Facade描述符修饰的属性,用于指定Fapde属于哪一种 类型;7)整型枚举约束本约束针对Integer,Short,Long描述符修饰的属性,用于约束整数 只能从一个给定的整数队列中进行选取;8)字符串枚举约束本约束针对String描述符修饰的属性,用于约束字符串只能从一 个给定的字符串队列中进行选取一个;9)整型与逻辑约束本约束针对Integer,Short,Long描述符修饰的属性,用于约束整 数只能是一个给定的整数队列中若干整数的与运算值;其中运算结果不允许超过平台对整 数类型的长度限制;10)字符串与逻辑约束本约束针对String描述符修饰的属性,用于约束字符串只能 从一个给定的字符串队列中进行选取一个或多个。
6.如权利要求1所述的方法,允许用户或开发者自定义基础数据类型为对象类型的属 性描述符,以使属性描述符符合特定的使用需求;其中用户自定义属性描述符包含的类定 义对象必须实现一个复制接口和一个序列化接口 ;复制接口功能用于在属性值复制时进行 调用;接口定义方式按照下面的形式(Java编程环境下,其他编程语言可参照此定义)public interface IClone{ public Object CloneO ;ι序列化接口功能用于实现属性值持久化存储;接口定义方式按照下面的形式(Java编程环境下,其他编程语言可参照此定义)public interface ISerializeProperty{/ *持久化属性值到一个序列化存储器中,需要指定对象版本格式* / void save (Object Serialize!*,int ver,int mver); / *从一个序列化存储器中读入一个属性值,需要指定对象版本格式* / void load (Object Serialize!*,int ver, int mver);ιISerializeProperty接口的序列化函数中的Serializer对象是由用户提供的序列 化存储器,该存储器随不同的编程语言而不同,支持写入和读取相匹配编程语言的基础数 据类型,该序列化存储器满足如下接口方式(Java编程环境下,其他编程语言可参照此定 义)public interface Serializer{ /*存储一个对象值*/ void write (Object obj); /*读取一个对象值*/ Object read ();}o
7.如权利要求1所述的方法,一个属性条目中包含的属性控制字确定如下属性特征1)唯一性控制字,确定此属性在一类元素中具有唯一的属性值,此控制字控制的属性常常作为元素的键值使用;2)仅读控制字,此控制字确定该属性仅可以被读取,不可以进行设置;3)关键字控制字,包含此控制字的属性必须具有初始化值;4)内部约束控制字,包含此控制字的属性值只能由包含此属性的对象自身提供。
8.如权利要求1所述的方法,通过属性访问接口可以访问任何元素的任何特征,属性 访问接口可以获取属性列表,通过属性名称获取或设置属性,并进行属性拷贝;属性访问接 口定义如下(Java编程环境下,其他编程语言可参照此定义)public interface PropertyAccess{ /*获取元素的属性表*/ Object getPropertyTable(); /*获取属性分组中指定属性项的值*/ Object getProp (String strGroup,String strProp); /*设置指定属性分组中指定属性项的值*/boolean setProp (String strGroup, String strProp,Object oval);
9.一种组态软件画面设计方法,实现了一套HMI画面模型的构建方式和此构建方式下 个组成元素的模型描述,画面模型构建方式采用单一的画面/元件结构,取消了传统构建 方式的画面/图层/元件构建方式,将图层控制功能放到了每个元件的控制字中,简化了画 面结构,同时对元件提供了更为精细的控制。本发明定义了使用属性,驱动和事件三个要素 描述画面结构包含的各个元素的方法,其中1)属性用来描述画面各元素的特征定义;2)驱动用来实现各元素的动态特性;其实现方法是,建立一个变化数据(此变化数据 可以是一个监控系统中提供的的一个变量数据,也可以是由变量数据,常数和运算符组成 的算术或逻辑表达式,算术表达式可以包含+、_、X、/、=、彡、彡、<、>、&&、I I、!、 、 (、)等算术和逻辑运算符)与元件外观属性值的对应关系,此对应关系可以是线性关系,也 可以是离散关系,或是一个简单的值对应关系;当数据变化时,驱动将按照指定的逻辑规则 改变元件的外观和属性;本设计方法提供了一套完整的驱动模型,可以完成大部分监控系 统对动态数据表现的要求,这些驱动方式如下表所示5 3)事件则用来定义元素生存期行为以及与元素外界的交互过程,本事件定义方法中的 画面元素事件分为如下几类i.生存期事件包括图形元素的对象创建,对象销毁,对象活动期间的事件;生存期事 件对于画面来讲包含画面的载入和销毁,画面活动期间的定时事件;对于元件包含元件的 初始化和销毁,元件活动期间的定时器事件; 交互事件包括鼠标事件和键盘事件,鼠标事件包括左键,中键,右键的弹起,按下,持续按下,点击,双击,鼠标拖动元件事件(垂直或水平方向);键盘事件包含对系统键盘按 键和各种组合键产生的按键事件;iii.控件事件每种窗口控件具有不同的控件事件;元素生存期行为和元素与外界的交互过程可以是系统设计的内置行为或是完全由使 用者书写的一段脚本,内置行为有涉及到对监控系统数据进行操作,这些行为实现要求用 户提供一个对监控系统数据进行操作和访问的接口,此接口通过变量方式提供数据访问和 设置功能,接口具有如下格式(Java编程环境下,其他编程语言可参照此定义) public interface DataOperator{ /*获取指定变量的值*/ Object getVarValue(String varnme); /*设置指定变量的值*/
10. 一种组态软件画面设计方法,涉及为整个画面模型定义的一套复用模型,该复用模 型涵盖了画面个元素和它们的描述要素,该复用模型包含如下组成1)画面复用模型此复用模型适用于为一组画面建立统一风格;画面复用通过图形样式来实现,图形样 式可以是一幅包含任何元素的普通画面,系统提供一个全局的图形样式库对用户建立的图 形样式进行管理;2)元件样式用于控制整个画面系统所有元件的统一风格;这些风格包含元件的外观属性,如线色, 填充色,文本色,文本字体等;此样式用来控制系统的整个显示风格,或统一系统的字体相 关设置,样式内容的改变会引起引用此样式的元件渲染效果发生变化,但是不需要修改任 何元件;3)驱动样式驱动样式用于控制具有相同行为的不同元件;驱动样式为一组元件变化的规则(序 列),每条规则表述为一个条件对应一个外观变化集合,外观变化集合包括颜色变化,元件 内容变化,元件显示隐藏,元件闪烁;规则是一个逻辑表达式;驱动样式适用于对象驱动和分类驱动两种驱动方式,其中对象驱动用于处理面向对象的方式,分类驱动用于处理面向 变量的组态方式;工作方式为驱动定时逐条计算变化规则条目中的表达式项,当计算结 果为真时,根据预设的元件外观变化配置驱动元件改变外观,显示/隐藏,或闪烁;4)可重用元件可复用元件用于控制同一类元件的统一风格;元件可复用部分包括属性,事件,驱动, 可复用元件可以由用户来定制,可重用元件模型由三部分构成,元件组合,属性映射,可重 用元件事件模型;元件组合描述了可重用元件的外观形状,属性映射用来为可重用元件建 立自定义的属性,这些属性是到元件组合中各个子元件属性的映射。
11.如权利要求10所述的可重用元件定义,可重用元件的事件模型包括子元件事件 模型、可重用元件事件模型、可重用元件实例事件模型三种事件模型方式;这三种事件模型 含义如下1)子元件事件模型是指可重用元件的事件来自于包含在可重用元件中的子元件;2)可重用元件的事件模型是指可重用元件的事件来自于可重用软件整体,但所有可重 用元件事件实例均共享此事件模型;3)实例模型是指可重用元件只有在实例化时才可以进行的事件设置的模式。
全文摘要
本发明涉及一种组态软件画面设计方法,本方法定义了一套人机界面(HMI)画面模型的构建方式。本发明涉及为整个画面模型定义的一套复用模型,这些复用模型包括针对画面模型中不同构成元素的复用。本发明为系统的可描述特性实现创建了一套属性描述方法,此描述方法的核心是建立了一种属性描述语法,通过全局的属性描述符库来对属性进行描述,属性描述符可以使以上所有涉及元素的属性具有确定语义和可访问,可复制,可序列化特性。该设计方法涉及的HMI设计模型与传统HMI设计相比,增加了画面开放性和完整的可复用特性,因此非常适合于现有监控系统高度开放性、标准化、可扩展、柔性组态的发展趋势。
文档编号G06F9/44GK101882071SQ200910083649
公开日2010年11月10日 申请日期2009年5月7日 优先权日2009年5月7日
发明者刘刚, 徐延明, 焦邵华, 黄磊 申请人:北京四方继保自动化股份有限公司;北京四方博能自动化设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1