CN106055338B - 一种开放式数控***人机界面二次开发平台及其设计方法 - Google Patents
一种开放式数控***人机界面二次开发平台及其设计方法 Download PDFInfo
- Publication number
- CN106055338B CN106055338B CN201610405669.8A CN201610405669A CN106055338B CN 106055338 B CN106055338 B CN 106055338B CN 201610405669 A CN201610405669 A CN 201610405669A CN 106055338 B CN106055338 B CN 106055338B
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- layer
- platform
- xml
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Document Processing Apparatus (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出了一种开放式数控***人机界面二次开发平台,包括PC端配置平台与NC端解析平台,所述PC端配置平台将XML配置文件通过以太网传输至NC端解析平台;本发明的设计方法,包括S0,所述PC端配置平台配置数控***人机界面的组件及其属性,自动生成XML配置文件;S1,所述PC端配置平台将XML配置文件通过以太网传送至NC端解析平台;S2,所述NC端解析平台读取并解析XML配置文件,完成解析后数据与原数控***的交互并显示PC端配置平台配置的人机界面。本发明的有益效果可以实现满足不同用户、不同***对于人机界面的定制化需求,快速便捷的开发定制界面,降低开发维护成本,满足开放式数控***的便于扩展、对用户开放等需求。
Description
技术领域
本发明涉及数控技术领域以及计算机应用领域,特别是指一种开放式数控***人机界面二次开发平台及其设计方法。
背景技术
随着工业化进程的不断推进,一个国家的数控化率的高低已经成为衡量其机械工业技术水平的一个重要指标。开放式数控***要求开发出方便扩展、功能柔性并且对用户开放的数控***,便于用户基于其开放平台结合专有工艺进行二次开发。数控***的人机界面发展也集中在专用机床的应用、特殊结构的引用以及用户操作简化等方面。
现在的数控***自带的标准化的人机界面,展现给用户的大多是同一种形式,这种标准化的人机界面对许多专用数控***都不是最优化的设计,用户经常会提出对人机界面的定制需求。而且现有的数控***一方面不能满足用户定制化需求,开发周期长,另一方面在维护时需要重写代码,维护成本高。
综上所述,数控***人机界面开发急需解决满足用户定制需求,面向专用数控***,降低开发与维护成本等问题。
发明内容
针对现有数控***人机界面只有标准化界面、不能满足用户定制需求、开发维护成本高等不足之处,本发明提出的一种开放式数控***人机界面二次开发平台及其设计方法,可以实现满足不同用户、不同***对于人机界面的定制化需求,快速便捷的开发定制界面,降低开发维护成本,满足开放式数控***的便于扩展、对用户开放等需求。
本发明的技术方案是这样实现的:
一种开放式数控***人机界面二次开发平台,包括:
PC端配置平台:用于配置数控***人机界面的组件及其属性,并自动生成XML配置文件;
NC端解析平台:用于读取并解析XML配置文件数据,完成数据与原数控***的交互并显示PC端配置平台配置的人机界面;
所述PC端配置平台将XML配置文件通过以太网传输至NC端解析平台,所述XML配置文件是用于描述人机界面的图形化数据。
上述的一种开放式数控***人机界面二次开发平台,其中,所述PC端配置平台包括:
组件注册层:用于注册定制人机界面所需的组件,并且初始化组件对应的属性,建立面向对象的二次开发平台接口框架,提供对于平台进行扩展的面向应用程序的二次开发接口API;
界面定制层:用于定制用户需求的人机界面并且完成各个组件的属性的配置,将配置的属性数据封装在XML数据包中;
文件生成层:用于根据配置文件生成协议,将XML数据包自动生成XML配置文件;
所述组件注册层将被定制的组件及其对应的属性的数据传输给界面定制层,所述界面定制层将接收到的数据封装在XML数据包中后传输给文件生成层。
界面定制层将用户配置的人机界面数据封装成数据包,然后发送给文件生成层,文件生成层依据文件生成协议,提取数据生成XML配置文件。
上述的一种开放式数控***人机界面二次开发平台,其中,所述XML数据包是用于描述数控***人机界面的数据单元,包括包头与包体,所述包头包含了标签、父节点包、子节点包集合;所述包体根据不同标签的值封装不同的特征集合。
上述的一种开放式数控***人机界面二次开发平台,其中,所述配置文件生成协议设置于文件生成层,用于自动生成XML配置文件;所述配置文件生成协议为Configuration-file Generation Protocol,即CGP协议。
所述配置文件生成协议包括封装方法与语法规则,所述封装方法为将XML数据包封装到XML配置文件的方法,将XML数据包组合封装成数据段后,包含在配置文件生成协议帧的信息部分;所述语法规则为用于检测XML配置文件合法性的DTD语法规则,检测生成的文件是否符合文档规范。
上述的一种开放式数控***人机界面二次开发平台,其中,所述配置文件生成协议帧的格式包括一级首部、一级信息部分与一级尾部;
一级首部封装了二次开发平台的***信息,包括一级标识、一级界面宽度、一级高度、一级页面数、一级过程数、一级语言、与CNC一级切换、一级上电首页等信息字段;
一级信息部分封装人机界面的每一个页面数据包,每一个页面数据包包括二级首部与二级数据段,二级首部封装页面属性数据,包括二级标识、二级页面名称、二级编号等字段;二级数据段封装页面的多个组件数据包;组件数据包包括三级首部与三级数据段,三级首部封装组件的标签、类型数据、编号,三级数据段包含了若干XML数据包,用于描述组件的属性数据;
一级尾部的一个字段封装DTD检验语法规则。
上述的一种开放式数控***人机界面二次开发平台,其中,所述NC端解析平台包括:
文件解析层:用于解析XML配置文件的数据,将数据通过状态通道由通信服务器传递给***接口;
调度管理层:用于实现模块初始化、功能模块调用、***配置与模块间交互功能;
通信服务层:用于实现GUI二次开发接口与数控***的HMI功能模块的交互;
***接口层:用于调用基于开放式控制***库的专用数控***二次开发平台的GUI二次开发接口,将PC端配置的数据传递给接口,实现与原有数控***的融合通信;
所述文件解析层通过以太网从PC端配置平台接收XML配置文件,所述文件解析层与调度管理层之间进行数据交换,所述调度管理层与通信服务层之间进行数据交换,所述通信服务层与***接口层之间进行数据交换。
一种开放式数控***人机界面二次开发平台的设计方法,包括如下步骤:
S0,所述PC端配置平台配置数控***人机界面的组件及其属性,自动生成XML配置文件;
SO1,所述组件注册层完成注册定制人机界面所需的组件,初始化组件对应的属性,建立面向对象的二次开发平台接口框架,提供对于平台进行扩展的面向应用程序的二次开发接口API;
S02,所述界面定制层将组件注册层注册定制的组件完成定制用户需求的人机界面,完成各个组件的属性的配置,将配置的属性数据封装在XML数据包中;
S03,所述界面定制层将XML数据包发送给文件生成层;
S04,所述文件生成层根据配置文件生成协议,将XML数据包自动生成XML配置文件;
S1,所述PC端配置平台将XML配置文件通过以太网传送至NC端解析平台;
S2,所述NC端解析平台读取并解析XML配置文件,完成解析后数据与原数控***的交互并显示PC端配置平台配置的人机界面;
S21,所述文件解析层通过以太网接收文件生成层传输的XML配置文件,解析XML配置文件的数据,所述文件解析层将经过解析的数据传输给调度管理层;
S22,所述调度管理层将接收到的数据经过模块初始化、功能模块调用、***配置与模块间交互的整理后通过状态通道传输给通信服务层;
S23,所述通信服务层将数据实现GUI二次开发接口与数控***的HMI功能模块的交互,与***接口层之间进行数据交换;
S24,所述***接口层调用基于开放式控制***库的专用数控***二次开发平台的GUI二次开发接口,将PC端配置的数据传递给接口,实现与原有数控***的融合通信。
上述的一种开放式数控***人机界面二次开发平台的设计方法,其中,在所述步骤S04中,
S041,封装配置文件生成协议帧的一级首部;
S0411,在得到一级首部信息时,判断标识是否为SystemProperty;若是,则封装该帧,至步骤S042;若不是,则丢弃该帧,不进行封装,不生成XML配置文件;
S042,将定制好的DTD声明封装到装配置文件生成协议帧的一级尾部;
S043,封装配置文件生成协议帧的一级信息部分,一级信息部分由多个页面数据包构成,从页面集合中循环读取封装多个页面数据包;
S0431,判断页面数据包的二级首部的标识是否为ScenePage;若是,则封装到该页面数据包二级首部,至步骤S0432;若不是,则丢弃该页面数据包,不将其封装到配置文件生成协议帧的一级信息部分;
S0432,封装页面数据包的二级数据段部分,二级数据段部分由多个组件数据包构成,即从页面的组件集合中循环读取封装成多个组件数据包;
S04321,判断组件数据包三级首部的标识是否为Button、Label、LineEdit等组件名称;若是,则封装该组件数据包的三级首部,至步骤S04322;若不是,则丢弃该组件数据包;
S04322,封装组件数据包的三级数据段部分,数据段部分由多个XML数据包构成;将界面定制层封装的XML数据包封装到对应的组件数据包的三级数据段中;
S044,将用户定制的信息封装成帧,配置文件生成协议帧数据封装完成;
S045,构造XML对象,并按照树形结构挂接,完成自动生成配置文件。
上述的一种开放式数控***人机界面二次开发平台的设计方法,其中,在所述步骤S21中,解析XML配置文件,采用基于预处理的解析方法如下:
S211,从***配置信息读取***的上电首页;
S212,根据上电首页页码采用XPath技术查找页码对应的页面节点;
S213,解析该页面节点,并将得到的数据保存在缓冲区中;
S214,当前要显示的页面页码变化时,从缓冲区查找是否有解析过的该页面数据;
S215,若有该页面的数据,直接读取显示;
S216,若没有该页面的数据,再从配置文件查找页面数据继续解析操作。
上述的一种开放式数控***人机界面二次开发平台的设计方法,其中,在所述步骤S22中,
S221,调度管理层初始化HMI模块,并且调用HMI模块;
S222,调用数控***GUI二次开发接口;
S223,GUI二次开发接口通过命令通道,经由通信服务器传递读取命令到命令缓冲区;
S224,进程读取命令缓冲区的命令;
S225,进程执行读取的命令,将配置文件数据读取并写入状态缓冲区;
S226,状态缓冲区的数据通过状态通道经由通信服务器传递给GUI二次开发接口;
S227,接口接收数据并显示人机界面;
S228,数据传递机制过程结束。
本发明具有以下有益效果及优点:
1.支持可视化配置。应用本发明设计的二次开发平台,用户通过可视化的组件完成人机界面配置,自动生成配置文件,用户配置所见即所得,使用门槛低,***开发维护成本大大降低。
2.支持组件及组件属性扩展。本发明方法采用面向对象的二次开发技术,利用面向对象的封装性和继承性,将每一个组件、属性、属性编辑器都封装成对象,用户只需要实现预留接口即可实现对组件及其属性的扩展。
3.支持配置文件自动生成。本发明采用XML文件描述人机界面的图形化数据,定义了CGP协议,通过协议可以自动生成配置文件并自动检测配置文件语法的合法性。
4.支持与专用数控***的交互。本发明采用统一的消息接口通信,设计了基于数控***的统一消息库和统一消息接口的模块交互机制,完成与已有数控***的融合通信。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种开放式数控***人机界面二次开发平台的总体框架图;
图2为本发明的XML数据包结构示意图;
图3为本发明的CGP帧结构示意图;
图4为本发明的CGP帧首部数据结构示意图;
图5为本发明的页面数据包首部数据结构示意图;
图6为本发明的组件数据包首部数据结构示意图;
图7为本发明的数据传递机制图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一种开放式数控***人机界面二次开发平台的总体框架图。
一种开放式数控***人机界面二次开发平台,包括PC端配置平台与NC端解析平台,其中,PC端配置平台用于配置数控***人机界面的组件及其属性,并自动生成XML配置文件;NC端解析平台用于读取并解析XML配置文件数据,完成数据与原数控***的交互并显示PC端配置平台配置的人机界面;PC端配置平台将XML配置文件通过以太网传输至NC端解析平台,所述XML配置文件是用于描述人机界面的图形化数据。
PC端配置平台包括组件注册层、界面定制层与文件生成层,其中,组件注册层用于注册定制人机界面所需的组件,并且初始化组件对应的属性,建立面向对象的二次开发平台接口框架,提供对于平台进行扩展的面向应用程序的二次开发接口API;界面定制层用于定制用户需求的人机界面并且完成各个组件的属性的配置,将配置的属性数据封装在XML数据包中;文件生成层用于根据配置文件生成协议,将XML数据包自动生成XML配置文件;组件注册层将被定制的组件及其对应的属性的数据传输给界面定制层,界面定制层将接收到的数据封装在XML数据包中后传输给文件生成层。
配置文件生成协议设置于文件生成层,用于自动生成XML配置文件;所述配置文件生成协议为Configuration-file Generation Protocol,即CGP协议。
配置文件生成协议包括封装方法与语法规则,所述封装方法为将XML数据包封装到XML配置文件的方法,将XML数据包组合封装成数据段后,包含在配置文件生成协议帧的信息部分;所述语法规则为用于检测XML配置文件合法性的DTD语法规则,检测生成的文件是否符合文档规范。
如图3所示,配置文件生成协议帧的格式包括一级首部、一级信息部分与一级尾部;
一级首部封装了二次开发平台的***信息,包括一级标识、一级界面宽度、一级高度、一级页面数、一级过程数、一级语言、与CNC一级切换、一级上电首页等信息字段;
一级信息部分封装人机界面的每一个页面数据包,每一个页面数据包包括二级首部与二级数据段,二级首部封装页面属性数据,包括二级标识、二级页面名称、二级编号等字段;二级数据段封装页面的多个组件数据包;组件数据包包括三级首部与三级数据段,三级首部封装组件的标签、类型数据、编号,三级数据段包含了若干XML数据包,用于描述组件的属性数据;
一级尾部的一个字段封装DTD检验语法规则。
NC端解析平台包括文件解析层、调度管理层、通信服务层与***接口层。其中,文件解析层用于解析XML配置文件的数据,将数据通过状态通道由通信服务器传递给***接口;调度管理层用于实现模块初始化、功能模块调用、***配置与模块间交互功能;通信服务层用于实现GUI二次开发接口与数控***的HMI功能模块的交互;***接口层用于调用基于开放式控制***库的专用数控***二次开发平台的GUI二次开发接口,将PC端配置的数据传递给接口,实现与原有数控***的融合通信;所述文件解析层通过以太网从PC端配置平台接收XML配置文件,所述文件解析层与调度管理层之间进行数据交换,所述调度管理层与通信服务层之间进行数据交换,所述通信服务层与***接口层之间进行数据交换。
PC端配置平台注册组件、属性、属性编辑器,然后从注册的组件中选择需要的组件在页面中进行定制,根据不同的数控***人机界面需求定制不同的人机界面,然后配置各个组件的属性值,将配置完毕的人机界面信息保存到XML配置文件中;通过以太网将配置文件发送到NC端解析平台;数控***解析配置文件,根据属性值显示人机界面,最终达到显示用户定制的人机界面的目的。
组件注册层采用基于面向对象的二次开发技术,将平台中涉及到的组件、组件属性、属性编辑器等一切客观的实体都看成对象,复杂的对象可以由简单的对象经过组合构成,例如组件的几何形状属性是一个属性对象,它就是由X、Y、宽度、高度四个属性对象组成。每一个属性对象都有各自绑定的属性编辑器对象。对象与对象之间通过统一的信号-槽的消息传递机制实现相互联系。
为了支持平台的可扩展性和可移植性,采用面向对象的二次开发技术,将各个对象的定义与实现分离,通过继承展现各个对象之间的关系,再通过各个对象提供的重载和虚函数的特性以及动态联编技术和实体的动态性,建立了面向对象的二次开发平台接口框架,提供了对于平台进行扩展的面向应用程序的二次开发接口API,包括组件扩展接口API、组件属性扩展接口API和属性编辑器扩展接口API等。用户基于平台提供的API可以实现对组件、组件属性、属性编辑器等对象和行为的扩展,使平台具有良好的可扩展性、重用性。
通过分析平台的组件、属性等总体对象,归纳出各种类型对象的公有属性,再将设计对象按照不同的特征结构进行分类设计。设计过程中,公有的属性放到结构的顶层,特有的属性放到结构的底层的具体对象中。对于组件,设计了所有组件的父类AbstractItem,它的属性可以分为两类:静态属性特征用于描述组件的数据,例如组件的名称;动态属性特征用于描述对组件的操作,如拖拽、编辑等操作。这些属性都封装在顶层的结构中,对于用户来说是不可见的,体现了面向对象的封装性。
用户在扩展组件时,只需要实现顶层预留的接口:
CreateObject():用于创建要显示的组件。平台采用图形视图框架结构开发,在场景视图中添加的组件都要通过QGraphicsProxyWidget代理进行添加;
InitProperty():用于绑定组件属性,将各个属性对象绑定到组件;
SetDefault():设置各个属性的默认值。
上述接口实现以后,用户就可以在BsaeInit对象的RegisterBaseItem()函数中将自定义的组件添加进去,然后添加到组件显示列表,就可以从组件显示列表中选择组件添加到界面中。
界面定制层实现界面的定制功能,完成各种组件的添加、组件属性的设置;并且将组件属性数据封装到XML数据包中。
如图2所示,XML数据包是用来描述数控***人机界面的数据单元,包括包头和包体。其中包头包含了标签、父节点包、子节点包集合;包体部分则根据标签的值封装不同的特征集合。
包头封装的第一个字段为属性的标签字段,例如字段值若为Property,则数据包封装了属性信息;若为ScenePage,则数据包封装了页面信息;若为Button,则数据包封装了Button的数据信息。第二个字段为XML数据包的父节点包。第三个字段封装XML数据包的子节点包集合。
包体则存储特征名称及其对应的特征值。例如若标签字段为Property,则应该包括属性值、属性名称、属性类型三个特征值。若标签字段为Button、Label或者LineEdit,则应该包括组件类型、组件编号等特征值。
如图4所示为CGP帧一级首部数据结构。一级首部的前一部分是固定长度,共占48个字节,是所有的CGP帧必须具有的。一级首部的固定部分后面是可变部分,可变部分的长度主要由过程数决定,封装每一个过程的过程号、轴数、轴名以及主轴数,每一块占用16个字节,其中过程号、轴数、主轴数采用短整型,占用两个字节;轴名占用10个字节。可选1-8块,也就是可变部分长度是16字节-128字节。
CGP帧一级首部的固定部分各字段含义为:标识字段占16字节,记录***标识,合法的标识为SystemProperty;界面宽度、界面高度分别占用4个字节,记录新建的页面的分辨率;页面数占用4个字节,记录***可以创建的页面数量,取值范围为1-14;过程数记录***的过程数量,占用4字节,取值范围为1-8;语言记录配置文件传到NC解析平台采用的解释语言,占用4个字节,0表示中文,1表示英文;与CNC位置屏切换占用1字节,采用布尔变量记录,默认为false;上电首页占用4字节,记录***启动后加载的首页的页面数值。剩余的7个字节为预留字节,便于扩展。
如图5所示,一级信息部分封装人机界面的每一个页面数据包。每一个页面数据包分成二级首部和二级数据段两部分,二级首部封装页面属性数据,包括标识、页面名称、编号三个字段,其中标识占用16个字节,合法的标识为ScenePage;页面名称占用12个字节;页面编号占用4个字节;三个字段均为页面数据包的固定部分。二级数据段部分封装页面的多个组件数据包。
如图6所示,组件数据包又包括三级首部和三级数据段两部分,三级首部封装组件的标签、类型、编号,其中标签占用16个字节,描述各个组件的名称;类型战中8个字节,采用长整形描述;编号占用四个字节;还有四个字节的预留;其中前三个字段为所有的组件数据包的固定部分;三级数据段则包含了若干的XML数据包,用于描述组件的属性数据。
一级尾部的一个字段封装DTD检验语法规则。生成XML配置文件后,读取CGP帧的尾部信息,对XML文件进行语法的合法性检测。如果合法,则可以通过以太网将文件上传到NC服务端,进行后续的工作;如果不合法,则提示不合法的地方,重新封装生成文件。
在界面配置层完成界面的定制工作后,在文件生成层封装界面信息生成XML配置文件时,采用从底层至上层的原则进行,即从CGP帧到页面数据包到组件数据包再到XML数据包的过程。
文件解析层解析XML配置文件的数据,将数据通过状态通道由通信服务器传递给***接口;调度管理层实现模块初始化、功能模块调用、***配置与模块间交互等功能,将中性语言描述的数控专用控制功能、图形用户界面定制等功能转化成功能模块调用。通信服务层实现GUI二次开发接口与数控***的HMI功能模块的交互。***接口层调用基于试试控制***库的专用数控***二次开发平台的GUI二次开发接口,将PC端配置的数据传递给接口,实现与原有数控***的融合通信。
一种开放式数控***人机界面二次开发平台的设计方法,包括如下步骤:
S0,所述PC端配置平台配置数控***人机界面的组件及其属性,自动生成XML配置文件;
SO1,所述组件注册层完成注册定制人机界面所需的组件,初始化组件对应的属性,建立面向对象的二次开发平台接口框架,提供对于平台进行扩展的面向应用程序的二次开发接口API;
S02,所述界面定制层将组件注册层注册定制的组件完成定制用户需求的人机界面,完成各个组件的属性的配置,将配置的属性数据封装在XML数据包中;
S03,所述界面定制层将XML数据包发送给文件生成层;
S04,所述文件生成层根据配置文件生成协议,将XML数据包自动生成XML配置文件;
S1,所述PC端配置平台将XML配置文件通过以太网传送至NC端解析平台;
S2,所述NC端解析平台读取并解析XML配置文件,完成解析后数据与原数控***的交互并显示PC端配置平台配置的人机界面;
S21,所述文件解析层通过以太网接收文件生成层传输的XML配置文件,解析XML配置文件的数据,所述文件解析层将经过解析的数据传输给调度管理层;
S22,所述调度管理层将接收到的数据经过模块初始化、功能模块调用、***配置与模块间交互的整理后通过状态通道传输给通信服务层;
S23,所述通信服务层将数据实现GUI二次开发接口与数控***的HMI功能模块的交互,与***接口层之间进行数据交换;
S24,所述***接口层调用基于开放式控制***库的专用数控***二次开发平台的GUI二次开发接口,将PC端配置的数据传递给接口,实现与原有数控***的融合通信。
上述的一种开放式数控***人机界面二次开发平台的设计方法,其中,在所述步骤S04中,
S041,封装配置文件生成协议帧的一级首部;
S0411,在得到一级首部信息时,判断标识是否为SystemProperty;若是,则封装该帧,至步骤S042;若不是,则丢弃该帧,不进行封装,不生成XML配置文件;
S042,将定制好的DTD声明封装到装配置文件生成协议帧的一级尾部;
S043,封装配置文件生成协议帧的一级信息部分,一级信息部分由多个页面数据包构成,从页面集合中循环读取封装多个页面数据包;
S0431,判断页面数据包的二级首部的标识是否为ScenePage;若是,则封装到该页面数据包二级首部,至步骤S0432;若不是,则丢弃该页面数据包,不将其封装到配置文件生成协议帧的一级信息部分;
S0432,封装页面数据包的二级数据段部分,二级数据段部分由多个组件数据包构成,即从页面的组件集合中循环读取封装成多个组件数据包;
S04321,判断组件数据包三级首部的标识是否为Button、Label、LineEdit等组件名称;若是,则封装该组件数据包的三级首部,至步骤S04322;若不是,则丢弃该组件数据包;
S04322,封装组件数据包的三级数据段部分,数据段部分由多个XML数据包构成;将界面定制层封装的XML数据包封装到对应的组件数据包的三级数据段中;
S044,将用户定制的信息封装成帧,配置文件生成协议帧数据封装完成;
S045,构造XML对象,并按照树形结构挂接,完成自动生成配置文件。
上述的一种开放式数控***人机界面二次开发平台的设计方法,其中,在所述步骤S21中,解析XML配置文件,采用基于预处理的解析方法如下:
S211,从***配置信息读取***的上电首页;
S212,根据上电首页页码采用XPath技术查找页码对应的页面节点;
S213,解析该页面节点,并将得到的数据保存在缓冲区中;
S214,当前要显示的页面页码变化时,从缓冲区查找是否有解析过的该页面数据;
S215,若有该页面的数据,直接读取显示;
S216,若没有该页面的数据,再从配置文件查找页面数据继续解析操作。
如图5所示,NC端读取解析配置文件数据,基于数控***的统一消息库和统一消息接口的模块交互机制,在所述步骤S22中,
S221,调度管理层初始化HMI模块,并且调用HMI模块;
S222,调用数控***GUI二次开发接口;
S223,GUI二次开发接口通过命令通道,经由通信服务器传递读取命令到命令缓冲区;
S224,进程读取命令缓冲区的命令;
S225,进程执行读取的命令,将配置文件数据读取并写入状态缓冲区;
S226,状态缓冲区的数据通过状态通道经由通信服务器传递给GUI二次开发接口;
S227,接口接收数据并显示人机界面;
S228,数据传递机制过程结束。
为测试本发明方法实施例配置如下:
数控***:LT-GJ301数控***,硬件平台为VIA C3533ACPU,256M内存;
数控机床:型号为CAK6116
基于Windows2007操作***的PC机,硬件平台为Intel Core22.10GHz CPU,2GB内存。
所述数控***部分作为NC端。该平台的***接口层、通信服务层、调度管理层基于本发明的统一消息接口机制完成,文件解析层基于本发明的文件解析方法完成。
所述PC端配置平台基于Qt的图形视图框架开发完成。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种开放式数控***人机界面二次开发平台,其特征在于,包括:
PC端配置平台:用于配置数控***人机界面的组件及其属性,并自动生成XML配置文件;
NC端解析平台:用于读取并解析XML配置文件数据,完成数据与原数控***的交互并显示PC端配置平台配置的人机界面;
所述PC端配置平台将XML配置文件通过以太网传输至NC端解析平台,所述XML配置文件是用于描述人机界面的图形化数据,
所述PC端配置平台包括:
组件注册层:用于注册定制人机界面所需的组件,并且初始化组件对应的属性,建立面向对象的二次开发平台接口框架,提供对于平台进行扩展的面向应用程序的二次开发接口API;
界面定制层:用于定制用户需求的人机界面并且完成各个组件的属性的配置,将配置的属性数据封装在XML数据包中;
文件生成层:用于根据配置文件生成协议,将XML数据包自动生成XML配置文件;
所述组件注册层将被定制的组件及其对应的属性的数据传输给界面定制层,所述界面定制层将接收到的数据封装在XML数据包中后传输给文件生成层。
2.根据权利要求1所述的一种开放式数控***人机界面二次开发平台,其特征在于,所述XML数据包是用于描述数控***人机界面的数据单元,包括包头与包体,所述包头包含了标签、父节点包、子节点包集合;所述包体根据不同标签的值封装不同的特征集合。
3.根据权利要求1所述的一种开放式数控***人机界面二次开发平台,其特征在于,所述配置文件生成协议设置于文件生成层,用于自动生成XML配置文件;
所述配置文件生成协议包括封装方法与语法规则,所述封装方法为将XML数据包封装到XML配置文件的方法,将XML数据包组合封装成数据段后,包含在配置文件生成协议帧的信息部分;所述语法规则为用于检测XML配置文件合法性的DTD语法规则,检测生成的文件是否符合文档规范。
4.根据权利要求3所述的一种开放式数控***人机界面二次开发平台,其特征在于,
所述配置文件生成协议帧的格式包括一级首部、一级信息部分与一级尾部;
一级首部封装了二次开发平台的***信息;
一级信息部分封装人机界面的每一个页面数据包,每一个页面数据包包括二级首部与二级数据段,二级首部封装页面属性数据;二级数据段封装页面的多个组件数据包;组件数据包包括三级首部与三级数据段,三级首部封装组件的标签、类型数据、编号,三级数据段包含了若干XML数据包,用于描述组件的属性数据;
一级尾部的一个字段封装DTD检验语法规则。
5.根据权利要求4所述的一种开放式数控***人机界面二次开发平台,其特征在于,所述NC端解析平台包括:
文件解析层:用于解析XML配置文件的数据,将数据通过状态通道由通信服务器传递给***接口;
调度管理层:用于实现模块初始化、功能模块调用、***配置与模块间交互功能;
通信服务层:用于实现GUI二次开发接口与数控***的HMI功能模块的交互;
***接口层:用于调用基于开放式控制***库的专用数控***二次开发平台的GUI二次开发接口,将PC端配置的数据传递给接口,实现与原有数控***的融合通信;
所述文件解析层通过以太网从PC端配置平台接收XML配置文件,所述文件解析层与调度管理层之间进行数据交换,所述调度管理层与通信服务层之间进行数据交换,所述通信服务层与***接口层之间进行数据交换。
6.一种如权利要求1~5任一项所述的开放式数控***人机界面二次开发平台的设计方法,其特征在于,包括如下步骤:
S0,所述PC端配置平台配置数控***人机界面的组件及其属性,自动生成XML配置文件;
SO1,所述组件注册层完成注册定制人机界面所需的组件,初始化组件对应的属性,建立面向对象的二次开发平台接口框架,提供对于平台进行扩展的面向应用程序的二次开发接口API;
S02,所述界面定制层将组件注册层注册定制的组件完成定制用户需求的人机界面,完成各个组件的属性的配置,将配置的属性数据封装在XML数据包中;
S03,所述界面定制层将XML数据包发送给文件生成层;
S04,所述文件生成层根据配置文件生成协议,将XML数据包自动生成XML配置文件;
S1,所述PC端配置平台将XML配置文件通过以太网传送至NC端解析平台;
S2,所述NC端解析平台读取并解析XML配置文件,完成解析后数据与原数控***的交互并显示PC端配置平台配置的人机界面;
S21,所述文件解析层通过以太网接收文件生成层传输的XML配置文件,解析XML配置文件的数据,所述文件解析层将经过解析的数据传输给调度管理层;
S22,所述调度管理层将接收到的数据经过模块初始化、功能模块调用、***配置与模块间交互的整理后通过状态通道传输给通信服务层;
S23,所述通信服务层将数据实现GUI二次开发接口与数控***的HMI功能模块的交互,与***接口层之间进行数据交换;
S24,所述***接口层调用基于开放式控制***库的专用数控***二次开发平台的GUI二次开发接口,将PC端配置的数据传递给接口,实现与原有数控***的融合通信。
7.根据权利要求6所述的一种开放式数控***人机界面二次开发平台的设计方法,其特征在于,在所述步骤S04中,
S041,封装配置文件生成协议帧的一级首部;
S0411,在得到一级首部信息时,判断标识是否为SystemProperty;若是,则封装该帧,至步骤S042;若不是,则丢弃该帧,不进行封装,不生成XML配置文件;
S042,将定制好的DTD声明封装到装配置文件生成协议帧的一级尾部;
S043,封装配置文件生成协议帧的一级信息部分,一级信息部分由多个页面数据包构成,从页面集合中循环读取封装多个页面数据包;
S0431,判断页面数据包的二级首部的标识是否为ScenePage;若是,则封装到该页面数据包二级首部,至步骤S0432;若不是,则丢弃该页面数据包,不将其封装到配置文件生成协议帧的一级信息部分;
S0432,封装页面数据包的二级数据段部分,二级数据段部分由多个组件数据包构成,即从页面的组件集合中循环读取封装成多个组件数据包;
S04321,判断组件数据包三级首部的标识是否为Button、Label、LineEdit等组件名称;若是,则封装该组件数据包的三级首部,至步骤S04322;若不是,则丢弃该组件数据包;
S04322,封装组件数据包的三级数据段部分,数据段部分由多个XML数据包构成;将界面定制层封装的XML数据包封装到对应的组件数据包的三级数据段中;
S044,将用户定制的信息封装成帧,配置文件生成协议帧数据封装完成;
S045,构造XML对象,并按照树形结构挂接,完成自动生成配置文件。
8.根据权利要求6所述的一种开放式数控***人机界面二次开发平台的设计方法,其特征在于,在所述步骤S21中,解析XML配置文件,采用基于预处理的解析方法如下:
S211,从***配置信息读取***的上电首页;
S212,根据上电首页页码采用XPath技术查找页码对应的页面节点;
S213,解析该页面节点,并将得到的数据保存在缓冲区中;
S214,当前要显示的页面页码变化时,从缓冲区查找是否有解析过的该页面数据;
S215,若有该页面的数据,直接读取显示;
S216,若没有该页面的数据,再从配置文件查找页面数据继续解析操作。
9.根据权利要求6所述的一种开放式数控***人机界面二次开发平台的设计方法,其特征在于,在所述步骤S22中,
S221,调度管理层初始化HMI模块,并且调用HMI模块;
S222,调用数控***GUI二次开发接口;
S223,GUI二次开发接口通过命令通道,经由通信服务器传递读取命令到命令缓冲区;
S224,进程读取命令缓冲区的命令;
S225,进程执行读取的命令,将配置文件数据读取并写入状态缓冲区;
S226,状态缓冲区的数据通过状态通道经由通信服务器传递给GUI二次开发接口;
S227,接口接收数据并显示人机界面;
S228,数据传递机制过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610405669.8A CN106055338B (zh) | 2016-06-08 | 2016-06-08 | 一种开放式数控***人机界面二次开发平台及其设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610405669.8A CN106055338B (zh) | 2016-06-08 | 2016-06-08 | 一种开放式数控***人机界面二次开发平台及其设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106055338A CN106055338A (zh) | 2016-10-26 |
CN106055338B true CN106055338B (zh) | 2019-05-10 |
Family
ID=57169775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610405669.8A Active CN106055338B (zh) | 2016-06-08 | 2016-06-08 | 一种开放式数控***人机界面二次开发平台及其设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106055338B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106814701B (zh) * | 2016-12-26 | 2019-04-23 | 武汉华中数控股份有限公司 | 管控数控平台***及其构建方法 |
CN109729072B (zh) * | 2018-11-29 | 2022-05-24 | 沈阳无距科技有限公司 | 通信协议信息处理方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981855A (zh) * | 2012-11-23 | 2013-03-20 | 蓝盾信息安全技术股份有限公司 | 基于模板的界面自动生成的方法及*** |
CN103019738A (zh) * | 2012-12-28 | 2013-04-03 | 广州数控设备有限公司 | 一种界面可自定义的数控***及实现方法 |
CN103176784A (zh) * | 2011-12-23 | 2013-06-26 | 中国科学院沈阳计算技术研究所有限公司 | 基于面向对象可重构的开放式数控***人机界面设计方法 |
CN104679499A (zh) * | 2013-11-30 | 2015-06-03 | 中国科学院沈阳自动化研究所 | 一种ic装备人机交互界面可定制数据显示方法 |
CN104731584A (zh) * | 2015-02-26 | 2015-06-24 | 武汉爱科唯自动化科技有限公司 | 一种开放式数控***人机界面可定制的组态设计方法 |
-
2016
- 2016-06-08 CN CN201610405669.8A patent/CN106055338B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176784A (zh) * | 2011-12-23 | 2013-06-26 | 中国科学院沈阳计算技术研究所有限公司 | 基于面向对象可重构的开放式数控***人机界面设计方法 |
CN102981855A (zh) * | 2012-11-23 | 2013-03-20 | 蓝盾信息安全技术股份有限公司 | 基于模板的界面自动生成的方法及*** |
CN103019738A (zh) * | 2012-12-28 | 2013-04-03 | 广州数控设备有限公司 | 一种界面可自定义的数控***及实现方法 |
CN104679499A (zh) * | 2013-11-30 | 2015-06-03 | 中国科学院沈阳自动化研究所 | 一种ic装备人机交互界面可定制数据显示方法 |
CN104731584A (zh) * | 2015-02-26 | 2015-06-24 | 武汉爱科唯自动化科技有限公司 | 一种开放式数控***人机界面可定制的组态设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106055338A (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110889270B (zh) | 一种表单页面文档生成方法、表单页面渲染方法及装置 | |
CN103593173B (zh) | 一种应用程序的一体化开发***、方法及装置 | |
US20090276764A1 (en) | High-level hypermedia synthesis for adaptive web | |
US6356950B1 (en) | Method for encoding and decoding data according to a protocol specification | |
CN105183466B (zh) | 一种简化echarts调用的封装方法 | |
CN103281311A (zh) | 一种使用Protobuf描述的物联网协议解析方法 | |
CN104407863A (zh) | 抽象控件模型编程装置和方法 | |
CN106055338B (zh) | 一种开放式数控***人机界面二次开发平台及其设计方法 | |
CN103490909B (zh) | 计费处理方法及装置 | |
CN110333863A (zh) | 一种生成、显示小程序页面的方法及装置 | |
CN111552838A (zh) | 数据处理方法及装置、计算机设备、存储介质 | |
CN104144215A (zh) | 一种物联网泛在设备资源模型的构建方法 | |
CN108388454A (zh) | 动态提供兼容js脚本内容的方法、装置和终端设备 | |
CN107861723A (zh) | 海量数据处理方法及其*** | |
CN108446105A (zh) | 一种轻量级API Server开发框架及开发方法 | |
CN106027674A (zh) | 一种互联网与智能制造相结合的架构*** | |
US7953886B2 (en) | Method and system of receiving and translating CLI command data within a routing system | |
CN109861998A (zh) | 一种基于北斗短报文协议的插件式动态解析***及方法 | |
CN108885544A (zh) | 前端页面国际化处理方法、应用服务器及计算机可读存储介质 | |
CN103377192A (zh) | ***广告的方法及*** | |
CN110109675A (zh) | 智能合约处理方法、装置以及计算机可读存储介质 | |
Bauer | IoT Virtualization with ML-based Information Extraction | |
CN104077414B (zh) | 一种应用于lte网络信号的解码装置及其解码方法 | |
CN101126985A (zh) | 一种基于解释器和解析器实现地理信息服务的***及方法 | |
CN115373684A (zh) | 一种小程序融合方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |