一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于xml文件的跨平台HMI组态配置系统和方法与流程

2022-05-18 15:45:51 来源:中国专利 TAG:

一种基于xml文件的跨平台hmi组态配置系统和方法
技术领域
1.本发明涉及人机界面领域,尤其涉及一种基于xml文件的跨平台hmi组态配置系统和方法。


背景技术:

2.人机界面(human machine interaction,简称hmi),又称用户界面或使用者界面,是人与计算机之间传递、交换信息的媒介和对话接口,是计算机系统的重要组成部分。工控组态软件直接利用pc机连接plc对工业设备进行监控,目前使用的人机界面大多数属于设备专用人机界面,只能用于特定的监控环境,一旦监控环境发生改变,例如设备的增减或者更换不同的使用平台,就需要重新编写应用程序,无疑增加了工业控制系统的开发和维护成本。因此,为了解决上述问题,本发明提供了一种基于xml文件的跨平台hmi组态配置系统和方法,可快速设立组态软件,提高组态软件的运行效率,扩展性强。


技术实现要素:

3.有鉴于此,本发明提出了一种基于xml文件的跨平台hmi组态配置系统和方法,可快速设立组态软件,提高组态软件的运行效率,扩展性强。
4.本发明的技术方案是这样实现的:本发明提供了一种基于xml文件的跨平台hmi组态配置方法,包括以下步骤:
5.s1、利用上位机组态平台编辑出监控组态界面,生成xml格式的配置文件,通过串口将组态元件、配置文件和资源文件下载到下位机;
6.s2、下位机通过设定的xml文件读取机制读取配置文件到内存中运行,进行plc监控与控制。
7.在以上技术方案的基础上,优选的,s1中生成xml格式的配置文件具体步骤为:
8.s101、收集各种特征值,并建立对应的特征值描述文件;
9.s102、定义统一的xml模板,对xml模板进行配置。
10.在以上技术方案的基础上,优选的,s101中特征值描述文件包括输出文件名和路径描述、收集方法描述、数据收集时间描述和数据源描述。
11.在以上技术方案的基础上,优选的,s102中xml模板包括根元素和根元素的profiie子元素;
12.根元素的profiie子元素用于定义特征值提取方法、特征值名称;
13.profiie子元素包括description子元素、pollinterval子元素、outputhandler元素、provider元素;
14.description子元素代表profile元素的描述;
15.pollinterval子元素代表profile元素内定义的所有特征值的提取间隔;
16.outputhandler元素负责处理特征值提取过程中数据的输出属性;
17.provider元素代表特征值的供应者;provider元素包括ipservice子元素,其代表
要被监测的应用的主机名和端口号。
18.在以上技术方案的基础上,优选的,s2中下位机通过设定的xml文件读取机制读取配置文件到内存中运行具体包括以下步骤:
19.s201、将一个或多个xml格式的配置文件作为输入参数提取特征值;
20.s202、基于配置文件对应的xml模板中定义的特征值提取方法提取xml文档中元素数据,并将xml文档中每个元素的值和其对应的属性记录到数据结构中;
21.s203、初始化线程池,逐个遍历所有文件,读取xml文档中供应者和其特征值读取间隔,将供应者按读取间隔加入到线程池中;
22.s204、基于指定的输出方式将特征值存储在指定的特征值存储文件内。
23.在以上技术方案的基础上,优选的,s203具体包括以下步骤:
24.s301、初始化线程池,遍历所有xml格式配置文件中每个profiie子元素内的实例对象中包含的不同provider类实例对象;
25.s302、判断特征值提取间隔是否为零,若是,则直接丢弃该实例对象;反之,将profiie子元素内的实例对象加入到触发列表中,并获取profiie子元素的对象实例中包含的provider类实例对象的迭代器;
26.s303、判断迭代器是否还存在元素,若是,则将provider类实例对象加入到线程池中,并按照特征值读取间隔执行。
27.另一方面,本发明提供一种基于xml文件的跨平台hmi组态配置系统,其包括上位机、下位机和若干个plc控制器,上位机采用上述方法设置统一格式的xml模板,并配置xml格式的配置文件;上位机基于人机界面选择对应的plc控制器驱动;上位机选择组态元件并进行编辑;上位机对配置文件、plc控制器驱动和组态元件进行编译;
28.下位机与上位机通过串口通信并模拟仿真,下位机将上位机编译的文件通过串口下载至下位机的运行环境中,并采用上述方法运行。
29.本发明的一种基于xml文件的跨平台hmi组态配置系统和方法相对于现有技术具有以下有益效果:
30.(1)通过将配置文件以及各类资源文件设置为xml格式,hmi组件在跨平台使用时,可以实现hmi组件跨平台配置;
31.(2)设计统一的xml模板,并在xml模板中定义了不同特征值和供应者,使配置文件具有泛型结构;当监控环境发生改变更时,只需要在xml模板中增加供应者和对应的特征值,无需更改整个系统的架构即可满足系统不断变化的需求,扩展性强;
32.(3)优化了xml模板的结构,下位机对通过对xml格式的配置文件解析时,可以得到profile元素包含的属性值或子元素节点,并将这些值赋予profile类中的变量,从而实现特征值提取文件元素到相应类的映射,映射完成后,在profile类内部,得到包含provider元素抽象类的链表。通过对链表中不同特征值供应者的不同编程实现,就可以实现对不同应用的不同特征值进行提取的目标;同时,本实施例中xml模板的结构可以最大程度地方便模块扩展,如果用户需要增加新的特征值或供应者,只需要在xml模板定义相应的特征值供应者;
33.(4)采用多线程操作实现在同一时间对多个不同的xml文件所包含的特征值进行监视和提取,提高了组态软件设立效率;
34.(5)一方面将profiie子元素中包含的provider类实例对象设计为线程类,可以实时提取并记录特征值;另一方面,设置了多个provider类实例对象,从而实现同时对多个不同应用的不同特征值提取目的。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本发明一种基于xml文件的跨平台hmi组态配置系统的结构图;
37.图2为本发明一种基于xml文件的跨平台hmi组态配置方法的流程图;
38.图3为本发明一种基于xml文件的跨平台hmi组态配置方法中s1的具体步骤;
39.图4为本发明一种基于xml文件的跨平台hmi组态配置方法中s102的具体步骤;
40.图5为本发明一种基于xml文件的跨平台hmi组态配置方法中s203的具体步骤。
具体实施方式
41.下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
42.实施例1
43.目前使用的人机界面大多数属于设备专用人机界面,只能用于特定的监控环境,一旦监控环境发生改变,例如设备的增减或者更换不同的使用平台,就需要重新编写应用程序,无疑增加了工业控制系统的开发和维护成本。因此,为了解决上述问题,本实施例提供一种基于xml文件的跨平台hmi组态配置系统,将上位机组态软件的配置文件和各类资源文件设置成xml格式文件,以实现hmi组件跨平台配置。具体的,如图1所示,一种基于xml文件的跨平台hmi组态配置系统包括上位机、下位机和若干个plc控制器,
44.优选的,上位机基于人机界面设置统一格式的xml模板,并配置xml格式的配置文件;上位机基于人机界面选择对应的plc控制器驱动;上位机选择组态元件并进行编辑;上位机对配置文件、plc控制器驱动和组态元件进行编译;
45.优选的,下位机与上位机通过串口通信并模拟仿真,下位机将上位机编译的文件通过串口下载至下位机的运行环境中运行。
46.本实施例的有益效果为:通过将配置文件以及各类资源文件设置为xml格式,hmi组件在跨平台使用时,可以实现hmi组件跨平台配置。
47.实施例2
48.当监控环境发生改变更时,例如设备的增减,就需要重新配置xml格式的配置文件,扩展性差并且组态软件运行效率低。为了解决这个问题,如图2所示,本发明提供一种基于xml文件的跨平台hmi组态配置方法,包括以下步骤:
49.s1、利用上位机组态平台编辑出监控组态界面,生成xml格式的配置文件,通过串
口将组态元件、配置文件和资源文件下载到下位机;
50.优选的,当监控环境发生改变更时,例如设备的增减,就需要重新配置xml格式的配置文件,扩展性差并且组态软件运行效率低。为了解决这个问题,本实施例定义了统一格式的xml模板,所述xml模板中定义了不同特征值和供应者,使配置文件具有泛型结构;当监控环境发生改变更时,只需要在xml模板中增加供应者和对应的特征值,无需更改整个系统的架构即可满足系统不断变化的需求。如图3所示,s1中生成xml格式的配置文件具体包括以下步骤:
51.s101、收集各种特征值,并建立对应的特征值描述文件;
52.其中,特征值描述文件包括输出文件名和路径描述、收集方法描述、数据收集时间描述、数据源描述。
53.s102、定义统一的xml模板,对xml模板进行配置。
54.优选的,为了使xml模板能适应不同用户对不同特征值的提取需求,本实实施例中,在xml模板中定义了特征值和供应者元素,其中,一个供应者可以提供多个特征值,一个xml模板中可以包含一个或多个供应者元素,这种结构可以最大程度地细分特征值的分类,同时将各类资源和数据进行分类保存,保证xml模板的某部分增加或者删除时,不会影响其他部分的使用。
55.优选的,xml模板具体结构包括根元素和根元素的profiie子元素,profiie子元素代表被监视应用的对应文件,用于定义特征值提取方法、特征值名称。进一步优选的,profiie子元素包括description子元素、pollinterval子元素、outputhandler元素、provider元素;其中,description子元素代表profile元素的描述;pollinterval子元素代表profile元素内定义的所有特征值的提取间隔;outputhandler元素负责处理特征值提取过程中数据的输出属性;provider元素代表特征值的供应者。进一步优选的,provider元素包括ipservice子元素,其代表要被监测的应用的主机名和端口号。
56.本实施例中xml模板的结构好处是:下位机对通过对xml格式的配置文件解析时,可以得到profile元素包含的属性值或子元素节点,并将这些值赋予profile类中的变量,从而实现特征值提取文件元素到相应类的映射,映射完成后,在profile类内部,得到包含provider元素抽象类的链表。通过对链表中不同特征值供应者的不同编程实现,就可以实现对不同应用的不同特征值进行提取的目标;同时,本实施例中xml模板的结构可以最大程度地方便模块扩展,如果用户需要增加新的特征值或供应者,只需要在xml模板定义相应的特征值供应者。
57.s2、下位机通过设定的xml文件读取机制读取配置文件到内存中运行,进行plc监控与控制。
58.本实施例的有益效果为:设计统一的xml模板,并在xml模板中定义了不同特征值和供应者,使配置文件具有泛型结构;当监控环境发生改变更时,只需要在xml模板中增加供应者和对应的特征值,无需更改整个系统的架构即可满足系统不断变化的需求,扩展性强;
59.优化了xml模板的结构,下位机对通过对xml格式的配置文件解析时,可以得到profile元素包含的属性值或子元素节点,并将这些值赋予profile类中的变量,从而实现特征值提取文件元素到相应类的映射,映射完成后,在profile类内部,得到包含provider
元素抽象类的链表。通过对链表中不同特征值供应者的不同编程实现,就可以实现对不同应用的不同特征值进行提取的目标;同时,本实施例中xml模板的结构可以最大程度地方便模块扩展,如果用户需要增加新的特征值或供应者,只需要在xml模板定义相应的特征值供应者。
60.实施例3
61.由于实施例2中每个供应者实例都是单线程,导致组态软件设立效率低,并且具有复杂的组态逻辑,组态软件运行效率低,因此,为了解决上述问题,本实施例预先设定了多线程的xml文件读取机制,如图4所示,具体的如下所示:
62.s201、将一个或多个xml格式的配置文件作为输入参数提取特征值;
63.本实施例采用多线程操作实现在同一时间对多个不同的xml文件所包含的特征值进行监视和提取,提高了组态软件设立效率。
64.s202、基于配置文件对应的xml模板中定义的特征值提取方法提取xml文档中元素数据,并将xml文档中每个元素的值和其对应的属性记录到数据结构中;
65.s203、初始化线程池,逐个遍历所有文件,读取xml文档中供应者和其特征值读取间隔,将供应者按读取间隔加入到线程池中;
66.s204、基于指定的输出方式将特征值存储在指定的特征值存储文件内。
67.优选的,步骤s201采用多线程的方式同时提取不同的特征值,不同的特征值其提取方法不同,需要不同的特征提取方法提取,但是在进行特征值提取过程中使用到的提取方法名称相同,不同的是方法的具体实现,因此,容易发生特征值提取时采用的方法名称相同但使用了错误的步骤的情况,因此,为了解决上述问题,本实施例一方面将profiie子元素中包含的provider类实例对象设计为线程类,可以实时提取并记录特征值;另一方面,设置了多个provider类实例对象,从而实现同时对多个不同应用的不同特征值提取目的。如图5所示,s203具体包括以下步骤:
68.s301、初始化线程池,遍历所有xml格式配置文件中每个profiie子元素内的实例对象中包含的不同provider类实例对象;
69.s302、判断特征值提取间隔是否为零,若是,则直接丢弃该实例对象;反之,将profiie子元素内的实例对象加入到触发列表中,并获取profiie子元素的对象实例中包含的provider类实例对象的迭代器;
70.s303、判断迭代器是否还存在元素,若是,则将provider类实例对象加入到线程池中,并按照特征值读取间隔执行;反之,则直接丢弃该实例对象。
71.本实施例的有益效果为:采用多线程操作实现在同一时间对多个不同的xml文件所包含的特征值进行监视和提取,提高了组态软件设立效率;
72.一方面将profiie子元素中包含的provider类实例对象设计为线程类,可以实时提取并记录特征值;另一方面,设置了多个provider类实例对象,从而实现同时对多个不同应用的不同特征值提取目的。
73.以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献