一种嵌入式人机界面组态信息编码方法

文档序号:6289881阅读:279来源:国知局
专利名称:一种嵌入式人机界面组态信息编码方法
技术领域
本发明属于工业自动化控制技术领域,涉及一种嵌入式人机界面的组态信息编码
方法。
背景技术
组态是使用软件工具对计算机及软件的各种资源进行配置,达到使计算机或软件 按照预先设置,自动执行特定任务,满足使用者所要求的目的。控制系统人机界面,是用户 和控制设备之间传递和交换信息的媒体,用户可以根据控制需要,组态不同的画面,并在不 同的画面上以文字、图形、按钮、图表等元件的方式监控现场设备的工作状态。
嵌入式人机界面系统是用来监控、显示和改变某一特定过程或机器的图形软硬件 系统,一般由嵌入式计算机、触摸屏、通信接口以及运行其上的组态软件运行环境组成。组 态软件的开发环境运行于计算机中,利用组态软件的开发环境进行操作界面的组态开发, 将组态好的信息进行编码传送到嵌入式人机界面系统中。人机界面系统对传送来的信息编 码进行分析并处理,在嵌入式显示设备上按照组态信息进行显示和操作。目前大多数嵌入 式人机界面组态软件采用XML格式对组态信息进行存储和编码,以牺牲存储空间为代价, 换取了可读性。然而嵌入式装置内存资源有限,因此,开发高效的编码方法成为提高嵌入式 人机界面运行效率的关键因素。

发明内容
本发明针对嵌入式人机界面组态信息转换问题,提出了一种基于多层嵌套索引式
结构的组态信息编码设计方案,节省存储空间,提高解析效率。 本发明解决技术问题采用的技术方案如下 嵌入式人机界面组态软件总体分为组态开发环境和运行环境两个部分,组态信息 配置文件编码组态信息,是组态软件开发环境和运行环境进行信息交互的桥梁。组态信息 主要包括系统参数信息、画面信息、通信地址列表信息、字符信息和图像点阵信息,上述信 息分别编码于组态信息配置文件的各个数据区中。 组态信息编码为多层嵌套索引式结构。外层索引是各个数据区的定位数据,编码
于组态信息配置文件的开始位置。之后,顺序编码各部分数据区的数据。在各数据区内部
根据需要设置内层索引,对数据区内部数据信息进行定位。根据外层索引信息,实现数据区
的定位以及数据区之间的跳转,根据数据区内层索引,实现具体数据的定位和查询,从而实
现对组态配置文件中组态信息的管理和索引,在解析和需要调用某些参数时可以快速地定
位相应参数的地址。
(1)系统参数数据区编码 系统参数信息编码主要包括设备类型、通信参数以及整体显示信息(总画面数和 起始画面ID)。
(2)画面数据区编码
画面数据区编码包括画面索引编码和画面信息编码两部分。对画面数据区内部设 计索引结构,将各画面ID和画面信息的起始地址作为索引,定位每幅画面信息在数据区中 的地址。 在每幅画面信息编码的起始位置编码该画面的属性信息画面描述、跳转参数以
及画面显示刷新时间。画面跳转采用定时跳转方式,跳转参数编码包括画面的定时时间和
跳转至画面的ID ;画面显示刷新时间即本画面中变量刷新显示的时间间隔。 画面显示信息编码包括各幅画面中显示的基本图元和高级元件的属性及事件方
法参数信息。 人机界面支持丰富的图形及文本信息,其中一类是基本的图形元素,如直线、矩
形、椭圆、多边形、圆弧、刻度线、文本等。这类图元可称为静态图形元素,具有一些共同的属
性图元编号、线条颜色、线条粗细。编码时用两个字节保存图元编号,第一个字节编码图元
类型,第二个字节编码图元ID,作为该图元的组态信息编码单元的起始标志。随后编码该图
元信息所占的字节长度,以此标定该图元组态信息编码单元的区间。直线、弧线、刻度线等
线型图元应编码上述共有信息,以及轮廓信息,即起始位置横坐标、纵坐标、宽度和高度,这
里的宽度和高度指能将线型图元包围的最小矩形的宽度和高度。矩形、椭圆和多边形图元
具有线形图元的所有属性,此外,还应编码填充类型,分为无填充,全填充和斜线填充。文本
信息编码包括图元编号、文本颜色、字号、对齐方式、文本内容和位置横纵坐标。 画面中另一类是高级元件,与设备寄存器相关联,将关联的寄存器中的数据读取
并动态地显示和更新,或者由用户通过人机界面设定并写入相应的设备寄存器。高级元件
属于动态元件,具体包括位状态指示、位状态设定、数值显示、数值设定、功能键、动画等常
用元件,此外还包括柱状图、表针、趋势图、报警信息指示等元件。 每个元件作为一个信息编码单元,均具有一系列的属性(编号、位置坐标等)、方 法(读写寄存器、刷新等)和事件(单击等),据此对元件信息进行分类编码,元件支持的 每种方法具有唯一的MethodID,每种事件也具有唯一的EventID。用户在组态软件开发环 境中输入属性、方法和事件的相关参数,当生成组态信息时,这些参数信息便编码于配置文 件中。其中,对事件信息编码时,分两种情况当事件引起某元件的某个属性变化时,需编码 事件的EventlD、所触发的元件编号、属性名和属性变量值;当事件调用某元件的某种方法 时,需编码事件的EventlD、被触发元件的编号及该元件被触发的方法的MethodID。此外, 时间触发也会调用元件提供的方法,主要是画面刷新时间到时调用画面中元件各自的刷新 函数。
(3)通讯地址列表数据区编码 通讯地址列表区保存通讯设备地址和寄存器地址,将所有界面中关联的只读和读 写的寄存器按照所属设备进行分组,地址列表的起始地址作为定位信息,索引通讯寄存器 地址在数据区的位置。 通讯地址列表区首先编码系统连接设备的总数量,设备地址按照从低到高排列。 由地址最低的设备开始,依次编码设备地址信息和该设备中通讯寄存器的数量。然后按照 寄存器地址从低到高的顺序,依次编码该设备中所有通讯寄存器的地址,每两个字节存储 一个地址信息。按上述方法,对所有设备的寄存器地址信息进行编码。
(4)字符数据区编码
组态软件的运行环境存储GB2312字库,用于显示系统中使用的字符信息。字符数 据区编码画面中字符在字库中的区位码,运行环境通过该区位码索引相应的字符信息并显 示。
(5)图像点阵数据区编码 图像点阵数据区用于编码位图信息。依次编码各位图的位图编号,点阵数据起始 地址和点阵数据的长度,之后编码所有位图的图像点阵数据。 本发明的有益效果是提出了一种组态信息编码方法。该方法读取解析方便,节省 存储空间,解决了嵌入式人机界面组态信息的存储和转换问题,实现了开发环境和运行环 境的交互。


图1是人机界面组态软件的体系结构图。 图2是组态信息编码的总体结构图,图中实线箭头表示定位信息与数据区之间的
对应关系,虚线箭头表示所连接各部分的编码顺序。 图3是画面数据区编码的结构。 图4是通讯地址列表数据区编码的结构。 图5是图像点阵数据区编码的结构。
具体实施例方式
下面结合技术方案和附图详细叙述本发明的具体实施例。 嵌入式人机界面组态软件的体系结构如图1所示。组态软件开发环境运行于PC 机中,实现工程管理、画面编辑和组态信息生成;组态软件运行环境运行于嵌入式设备中, 实现文件加载和解析、画面显示和与现场设备之间的通讯;组态信息配置文件是开发环境 与运行环境信息交互的手段。 组态信息编码的总体结构如图2所示,在组态信息配置文件的开始位置编码各数 据区的起始地址作为定位数据,分别为系统参数信息定位、画面信息定位、通讯地址列表信 息定位、字符信息定位和图像点阵信息定位。由上述索引信息可定位到各个数据区,以下举 例说明各数据区的编码方法。 系统参数编码方式如下所示〈01XDevTypeXProtocalXComParmXTimelnterva lXTotalPage〉〈StartPage〉 其中,每对〈> 内编码信息占一个字节。〈01>是系统参数编码区编号;DevType是 连接的设备类型;Protocal是协议类型,Modbus RTU或Modbus ASCII ;ComParm包括通讯 波特率、数据位、停止位、校验和;Timelnterval是通讯时间间隔;TotalPage是总画面数; StartPage是起始画面ID。 画面数据区信息编码结构如图3所示,由画面索引,即画面定位信息,和画面信息 组成。画面索引包括一个字节的画面ID编码,和两个字节的画面地址编码。画面索引编码 方式如下 〈02XIDlXAddrlXID2XAddr2〉......〈IDnXAddrn〉 其中,Q2是画面索引编码区编号;ID1是第1幅画面的ID ;Addrl是第1幅画面数
6据的起始地址;ID2是第2幅画面的ID ;Addr2是第2幅画面数据的起始地址;IDn是第n幅 画面的ID ;Addrn是第n幅画面数据的起始地址。 画面信息包括画面属性信息和显示信息。画面属性信息即该画面的定时跳转信息 以及画面刷新时间信息,编码于画面信息起始位置处,由'@'标志开始和结束。具体编码方 式如下 @〈03XDespXTimeXtIDXRefTime>@ 其中,03是画面跳转编码区编号;Desp表示画面描述;Time表示画面定时跳转的 时间,时间到跳转到指定画面;tID表示定时跳转至画面的ID ;RefTime表示画面显示刷新 时间,即刷新本画面关联变量显示的时间间隔。 画面显示信息编码包括各类基本图元和高级元件信息编码。每个图元或元件作为 一个信息单元,每幅画面由若干信息单元组成。具体元件的编码方法如下
显示元件用于实时地查看设备中的某些变量信息,当现场设备内部寄存器数值放 生变化时,显示值随之产生变化,这些元件是只读的,如数值显示、位状态指示、柱状图、趋
势图等。 位状态指示元件属性编码包括元件编号,由元件类型码和元件ID构成;元件描
述,通常是该元件的参考名称,用户定义的说明性信息;轮廓信息,包括左上角横纵坐标、高
度、宽度。位状态指示元件支持的方法有寄存器读、更新文本、更新位图。其中,寄存器读方
法需要编码的参数有关联设备地址和寄存器地址;更新文本方法需对字体信息进行编码,
即状态为0和1两种状态下字体的颜色、字号、对齐方式和文本内容;编码更新位图方法时,
包括0和1两种状态下显示的位图地址信息,以便运行环境查找位图数据并显示。 位状态指示灯元件用来指示设备位寄存器的状态值,其编码格式如下 〈ID〉〈LengthXPosX〉〈PosYXWidth〉〈HeightXdevADXregADX0nftColrX0nftS
ize>〈0nalign>〈0fftColr>〈0fftSize>〈0falign>〈0nDA>〈0ffDA> 其中,ID是位状态指示灯编号,由元件类型码和元件ID两部分构成;Length是位 状态指示灯元件信息编码的字节长度;PosX是左上角横坐标,PosY是左上角纵坐标,Width 是宽度,Height是高度;devAD是通讯设备地址,regAD是通讯寄存器地址;0nftColr、 0nftSize、 0naligh分别表示状态为On时字体的颜色、字号、对齐方式,OfftColr、 OfftSize、 Ofaligh分别是状态为OFF时字体的颜色、字号、对齐方式;0nDA是状态为On时 显示位图在图像点阵数据区中的起始地址,OffDA是状态为OFF时显示位图在图像点阵数 据区中的起始地址。 数值显示元件属性编码包括元件编号,由元件类型码和元件ID构成;元件描述, 通常是该元件的参考名称;轮廓信息,包括左上角横坐标、纵坐标、宽度、高度;字体信息 颜色、字号、对齐方式;数值显示信息何种进制、整数部分位数、小数部分位数、有无符号。 数值显示元件支持寄存器读方法,该方法编码关联变量信息,即设备地址和寄存器地址。通 过设备地址定位到特定的现场设备,进而找到相关寄存器,实现数据源的定位,运行环境调 用寄存器读方法与设备进行通讯,实现数据的显示和刷新。 趋势图元件实时地显示一段时间内指定设备寄存器的数值变化曲线,其属性编码 包括元件编号,由元件类型码和元件ID构成;元件描述,通常是该元件的参考名称;轮廓 信息,包括左上角横纵坐标、宽度、高度。趋势图元件支持的方法有轨迹刷新,轨迹左移,轨迹右移,轨迹上移,轨迹下移。方法参数编码包括关联变量信息,包括所属设备地址,寄存 器首地址和轨迹线数目,第一条轨迹关联该寄存器首地址,第二条轨迹关联首地址加1的 变量地址,依此类推;采样属性,包括采样时间,即每隔多长时间与设备通讯一次,以及画面 显示的数据点数;轨迹属性,包括各不同轨迹号的轨迹线颜色,粗细,能取到的最大值和最 小值。运行环境根据上述参数调用相关方法函数绘制趋势图。 输入元件可实时更改设备中的寄存器值,若可同时将新数值进行显示,则具有读 写属性,如状态设定、数值输入元件等。 数值输入元件属性编码包括元件编号,由元件类型码和元件ID构成;元件描述, 通常是该元件的参考名称;轮廓信息左上角横坐标、纵坐标、宽度和高度;字体信息颜 色、字号、对齐方式;数值显示信息何种进制、整数部分位数、小数部分位数、有无符号、输 入最小值和最大值。数值输入元件支持寄存器写方法,寄存器读方法。方法参数编码包括 方法的MethodID,关联变量信息(设备地址和寄存器地址)。数值输入元件支持单击事件, 其编码包括事件的EventID,事件的响应信息,即数字小键盘元件的编号及其弹出Invoke 方法的MethodID。实现的功能是接收用户输入,并调用寄存器写方法和读方法与现场设备 进行通讯,实现对设备参数的实时监控。
数值输入元件信息的编码格式如下 〈ID〉〈LengthXPosX〉〈PosYXWidthXHeightXdevAdXregAdXfontColrXfontS izeXalignXBDHexXdigitXdecDigit〉〈signedXMinXMax〉〈Event皿XLink皿〉〈Meth odlDl〉〈EventlD2XLinklD2XMethodlD2〉...... 其中,ID是元件编号,包括元件类型码和元件ID两个字节编码;Length是数值 输入元件信息编码的字节长度;PosX是左上角横坐标,PosY是左上角纵坐标,Width是宽 度,Height是高度;devAd是所属设备地址,regAd是寄存器地址;fontColr是字体颜色, fontSize是字体大小,align是对齐方式;BDHex表示数值以何种进制进行显示,分为二 进制、十进制和十六进制,digit表示变量整数部分位数,decDigit表示小数部分位数, signed表示有无符号,Min和Max分别表示输入最小值和最大值。事件信息编码部分以
开始,以结束。其中,EventIDl、 EventlD2......表示事件链表的ID, LinkIDl、
LinklD2……分别表示与事件链接的图元对象的编号,MethodlDl、MethodlD2……表示上述 事件触发的图元对象的方法ID。 功能键触发特定动作以完成特定功能,如切换画面、弹出小键盘等。功能键属性 编码包括元件编号,由元件类型码和元件ID构成;功能码,以编号的形式标识功能键完成 何种类型的功能;轮廓信息,包括左上角横坐标、纵坐标、宽度、高度;字体信息,包括颜色、 字号、对齐方式、文本内容。功能键支持的方法有返回画面、切换画面、弹出小键盘。编码 与方法相关的参数信息,包括MethodID,返回或切换至窗口的ID,弹出的键盘元件的编号 等。功能键支持单击事件,编码时应包括事件的EventlD、触发的元件编号及被调用方法的 MethodID。运行环境解析上述编码中的相关信息,从而确定事件触发时调用何种元件的何 种方法。 通讯地址列表区信息编码结构如图4所示,其编码格式如下 〈0A〉〈DevNum〉〈devAl〉〈regCl〉〈Rl 1>〈R12>《〉〈devA2〉〈regC2〉〈R21〉〈R2
2X. >......〈devAn〉〈regCn〉〈Rnl〉〈Rn2〉〈. >
8
其中,OA是通讯地址列表编码区编号;DevNum表示连接的设备总数;devAl是第一 个设备的设备地址,regCl表示该设备通讯寄存器总数量,Rll、 R12……表示该设备中所有 寄存器地址编码;devA2是下一个设备的地址,regC2表示该设备通讯寄存器总数量,R21、 R22……表示该设备中所有寄存器地址编码;如上所述,按设备地址由低到高,设备内部寄 存器地址由低到高的顺序,完成所有通讯地址的编码。 字符数据区将开发环境组态时使用的字符内容和该字符在GB2312字库中的区位
码成对进行编码,各画面中重复出现的字符仅编码一次。运行环境解析出画面数据区中文
本信息编码后,根据字符数据区中该字符的区位码,在字库中查找字符信息并显示。 图像点阵数据区编码结构如图5所示,依次编码各位图信息,包括位图编号,作
为该位图的唯一标识;点阵数据起始地址和点阵数据长度,用于定位该位图在图像点阵信
息中的位置。随后编码所有位图的图像点阵信息。
权利要求
一种嵌入式人机界面组态信息编码方法,其特征在于如下步骤(1)系统参数数据区编码系统参数信息编码主要包括设备类型、通信参数以及整体显示信息;(2)画面数据区编码画面数据区编码包括画面索引编码和画面信息编码两部分;对画面数据区内部设计索引结构,将各画面ID和画面信息的起始地址作为索引,定位每幅画面信息在数据区中的地址;在每幅画面信息编码的起始位置编码该画面的属性信息画面描述、跳转参数以及画面显示刷新时间;画面跳转采用定时跳转方式,跳转参数编码包括画面的定时时间和跳转至画面的ID;画面显示刷新时间即本画面中变量刷新显示的时间间隔;画面显示信息编码包括各幅画面中显示的基本图元和高级元件的属性及事件方法参数信息;人机界面支持丰富的图形及文本信息,其中一类是基本的图形元素,这类图元可称为静态图形元素,具有一些共同的属性图元编号、线条颜色、线条粗细;编码时用两个字节保存图元编号,第一个字节编码图元类型,第二个字节编码图元ID,作为该图元的组态信息编码单元的起始标志;随后编码该图元信息所占的字节长度,以此标定该图元组态信息编码单元的区间;线型图元应编码上述共有信息,以及轮廓信息,即起始位置横坐标、纵坐标、宽度和高度,这里的宽度和高度指能将线型图元包围的最小矩形的宽度和高度;矩形、椭圆和多边形图元具有线形图元的所有属性,此外,还应编码填充类型,分为无填充,全填充和斜线填充;文本信息编码包括图元编号、文本颜色、字号、对齐方式、文本内容和位置横纵坐标;画面中另一类是高级元件,与设备寄存器相关联,将关联的寄存器中的数据读取并动态地显示和更新,或者由用户通过人机界面设定并写入相应的设备寄存器;高级元件属于动态元件,具体包括位状态指示、位状态设定、数值显示、数值设定、功能键、动画,此外还包括柱状图、表针、趋势图、报警信息指示;每个元件作为一个信息编码单元,均具有一系列的属性、方法和事件,据此对元件信息进行分类编码,元件支持的每种方法具有唯一的MethodID,每种事件也具有唯一的EventID;用户在组态软件开发环境中输入属性、方法和事件的相关参数,当生成组态信息时,这些参数信息便编码于配置文件中;其中,对事件信息编码时,分两种情况当事件引起某元件的某个属性变化时,需编码事件的EventID、所触发的元件编号、属性名和属性变量值;当事件调用某元件的某种方法时,需编码事件的EventID、被触发元件的编号及该元件被触发的方法的MethodID;此外,时间触发也会调用元件提供的方法,主要是画面刷新时间到时调用画面中元件各自的刷新函数;(3)通讯地址列表数据区编码通讯地址列表区保存通讯设备地址和寄存器地址,将所有界面中关联的只读和读写的寄存器按照所属设备进行分组,地址列表的起始地址作为定位信息,索引通讯寄存器地址在数据区的位置;通讯地址列表区首先编码系统连接设备的总数量,设备地址按照从低到高排列;由地址最低的设备开始,依次编码设备地址信息和该设备中通讯寄存器的数量;然后按照寄存器地址从低到高的顺序,依次编码该设备中所有通讯寄存器的地址,每两个字节存储一个地址信息;按上述方法,对所有设备的寄存器地址信息进行编码;(4)字符数据区编码组态软件的运行环境存储GB2312字库,用于显示系统中使用的字符信息;字符数据区编码画面中字符在字库中的区位码,运行环境通过该区位码索引相应的字符信息并显示;(5)图像点阵数据区编码图像点阵数据区用于编码位图信息;依次编码各位图的位图编号,点阵数据起始地址和点阵数据的长度,之后编码所有位图的图像点阵数据。
全文摘要
本发明属于工业自动化控制技术领域,涉及一种嵌入式人机界面的组态信息编码方法。嵌入式人机界面组态软件总体分为组态开发环境和运行环境两个部分,组态信息主要包括系统参数信息、画面信息、通信地址列表信息、字符信息和图像点阵信息,上述信息分别编码于组态信息配置文件的各个数据区中。组态信息编码为多层嵌套索引式结构。外层索引是各个数据区的定位数据,编码于组态信息配置文件的开始位置。之后,顺序编码各部分数据区的数据。在各数据区内部根据需要设置内层索引,对数据区内部数据信息进行定位。根据外层索引信息,实现数据区的定位以及数据区之间的跳转。本发明的有益效果是提出了一种组态信息编码方法。该方法读取解析方便,节省存储空间,解决了嵌入式人机界面组态信息的存储和转换问题,实现了开发环境和运行环境的交互。
文档编号G05B19/04GK101788797SQ20101001008
公开日2010年7月28日 申请日期2010年1月6日 优先权日2010年1月6日
发明者仲崇权, 刘洁, 钟威, 陈晨 申请人:大连理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1