CN104978264B - 组态软件中图库精灵的动态调试方法 - Google Patents
组态软件中图库精灵的动态调试方法 Download PDFInfo
- Publication number
- CN104978264B CN104978264B CN201410141000.3A CN201410141000A CN104978264B CN 104978264 B CN104978264 B CN 104978264B CN 201410141000 A CN201410141000 A CN 201410141000A CN 104978264 B CN104978264 B CN 104978264B
- Authority
- CN
- China
- Prior art keywords
- picture library
- smart
- debugging
- configuration
- attribute
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种组态软件中图库精灵的动态调试方法,包括步骤:步骤1:设计和制作图库精灵;步骤2:对步骤1中制作得到的图库精灵进行调试;步骤3:调整和修改图库精灵;步骤4:完成图库精灵设计并保存成果。本发明为用户带来的是全新的使用体验,减少了测试过程的时间花费,提高了工作效率,能够广泛应用于安全生产、信息集成及掌控、辅助调度指挥等领域中的一体化监控平台***中,有助于提高工程实施人员在建设和运营维护工作中进行自动化工程管理的效率。
Description
技术领域
本发明涉及一体化监控平台中实现HMI功能的核心软件和开发环境——组态软件,具体地,涉及组态软件中图库精灵的动态调试方法。
背景技术
在现有的工业控制应用软件中,组态模块都是其最核心的模块之一,目标是能够以图形方式对控制***现场环境中客观存在的事物进行模拟,同时建立它们之间的信息变化关系,形成简洁、直观、生动的现场环境和工艺流程图形画面以及人机交互界面。其中,作为体现面向对象设计思想、可复用性强的图库精灵的制作是搭建组态画面工作中最耗费时间的任务之一。
目前行业中实现的图库精灵通常包含面向对象设计的类模板实现方式,以及面向设备模式的离散点实现方式(例如可以实现自定义属性关联)两种实现途径。为了达到可靠的可复用性需求,面向对象设计的类模板实现方式有着可以模拟复杂实际设备和复用性好的优点,但同时需要图库精灵的设计人员能够对实际设备具有较好的归纳和抽象能力,类模板的设计成果直接关系到图库精灵最终复用性的好坏;而面向设备模式的离散点实现方式具有简单、快捷的特点,对图库精灵设计人员的行业知识要求相对较低,并且在结合了图库精灵支持具有自定义属性的情况下,也能实现通用性好的可复用性强的图库精灵。
现有技术中,采用了当制作好图库精灵后,需要将其应用到组态页面中,通过对组态页面的测试才能间接验证图库精灵本身的逻辑功能,缺乏一种独立的图库精灵的测试方法或功能,这种方案具有以下问题:
问题1、需要将制作好的图库精灵应用到组态页面后,才能间接进行逻辑和功能的测试,没有便捷的独立的测试方法;
问题2、遇到图库精灵的应用效果与设计思路不一致或者从美工、客户角度上考虑需要做一些细微的改进时,需要重新回到图库精灵的编辑模块中进行修改,然后重复问题1中的过程将其应用到组态画面中进行校验,直到达到一个平衡的满意点为止。在实际工作中,这种切换通常会令图库精灵的设计和制作人员很烦恼,也需要话费较多的时间;
问题3、对图库精灵的校验测试需要借助组态画面的运行测试达到间接地验证,这就导致一个的困难局面:要么无法进行全覆盖的图库精灵的逻辑测试;要么需要准备复杂的测试环境,这需要花费大量时间才能完成图库精灵的测试工作;
问题4、图库精灵的测试过程可重复性较差,无法直接对已经进行测试的用例进行记录和保存,可能需要借助其他文档进行记录,增加了文档维护和整理工作;而测试用例的重复操作往往显得难以避免,浪费了大量宝贵的工作时间,影响工作效率。
经检索,未发现与本发明相同或相似的文献,如下相关文献仅作为了解图库组态化设计的背景技术参考使用。
申请号:201110344645.3,专利名称:一种用于综合监控软件的图库的组态化设计***。该专利文献公开了一种用于综合监控***图库的组态化设计***,包括:基本对象库模块负责存储并提供所有支持的基本对象;图库编辑模块负责完成基于类模板的图库编辑,将基本对象库模块提供的基本对象组合成图元,将图元与类的属性关联,并设置公共的响应事件脚本处理方法;组态编辑模块,负责将图库编辑模块编辑好的图元拖放到组态画面上进行设置;组态运行模块,负责运行组态画面,查看组态画面中图元精灵的实际运行效果。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种组态软件中图库精灵的动态调试方法,包括提供图库精灵独立的调试技术和方法,以及提供便捷的、可重复的测试途径。
根据本发明提供的一种组态软件中图库精灵的动态调试方法,包括如下步骤:
步骤1:设计和制作图库精灵;
步骤2:对步骤1中制作得到的图库精灵进行调试;
步骤3:调整和修改图库精灵;
步骤4:完成图库精灵设计并保存成果。
优选地,所述步骤1包括如下步骤:
步骤1.1:通过使用基本的简单对象,辅以不同属性编辑配置,以及不同的排列与组合的方式构建成图库精灵;
步骤1.2:然后进行选取面向对象的类模板并与相关的属性进行关联,并支持自定义属性配置;
步骤1.3:编写脚本逻辑,脚本逻辑包括各种交互事件响应、变量属性变化响应,赋予图库精灵实际的交互功能。
优选地所述步骤2包括如下步骤:
步骤2.1:生成调试组态页面,其中,依据图库精灵的设计信息自动构建响应的组态运行页面,调试过程依据该组态运行页面进行画面的绘制和初始状态设备;
步骤2.2:构造调试运行环境,其中,图库精灵调试的基本环境,能响应图库精灵的动态变化,能够与外界的信息进行交互;
步骤2.3:生成图库精灵的属性信息,其中,生成属性信息过程中对属性信息进行分类,属性信息包含:关联动画的属性、非关联动画的属性、脚本中使用的内部逻辑变量;
步骤2.4:支持脚本逻辑,以实现丰富效果的动态运行样式,真实重现实际应用中的运行场景,达到设计调试即运行应用的效果;
步骤2.5:属性信息的配置和读写控制支持,其中,通过对步骤2.3中展示的属性信息进行读和/或写值操作,并实时交互响应;
步骤2.6:调试模式支持和保存,在调试过程中,对于需要记录的测试用例,通过模式保存的方式进行记录和存储,并且在后续的测试中再次直接应用,并且通过支持将记录的测试用例进行导入和导出,并向用户提供在该用户的工作环境中记录下调试的效果快照,方便检查图库精灵的运行效果。
优选地,步骤3包括如下步骤:
利用集成在图库设计器里的调试功能模块,在测试中对于需要修改的地方随时返回设计界面,对图库精灵进行修改和完善,之后再进行步骤2中的调试过程,直到最终满足设计需求为止,并且之前测试中保存过的用例通过编辑进行修改,有效减少重复测试付出的代价。
与现有技术相比,本发明具有如下的有益效果:
本发明为用户带来的是全新的使用体验,减少了测试过程的时间花费,提高了工作效率,能够广泛应用于安全生产、信息集成及掌控、辅助调度指挥等领域中的一体化监控平台***中,有助于提高工程实施人员在建设和运营维护工作中进行自动化工程管理的效率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为设计和制作图库精灵的流程示意图;
图2为图库精灵进行调试的流程示意图;
图3为图库精灵设计界面的示意图;
图4为图库精灵调试界面的示意图;
图5为批量赋值界面的示意图;
图6为添加自定义变量界面的示意图;
图7为图库精灵基本雏形初始状态时的示意图;
图8为图库精灵基本雏形编辑状态时的示意图;
图9为在类模板Class中选中需要关联的类模板属性;
图10为选取类模板属性;
图11为关联类模板属性状态;
图12为配置自定义属性示意图;
图13为关联自定义属性状态示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
在实现图库调试的技术方案中,包含以下功能模块:
1、图库精灵设计模块:包含基本图库对象的绘制和设计、属性关联和配置、脚本编写等功能。
2、图库精灵调试模块:包含模拟组态运行环境、属性配置和读写控制、脚本逻辑支持、测试用例(场景)维护、测试效果保存等功能。
接下来,对该技术方案的实现步骤作说明,流程图如图1 、图2 所示:
1、设计和制作图库精灵
使用图库设计模块来进行图库精灵的设计和制作:(注:在我们组态产品中能够实现图库精灵的面向对象设计的实现方式,也支持面向设备模式的设计方式,也包括支持自定义属性功能。)
1.1)通过使用基本的简单对象,辅以不同属性编辑配置,以及不同的排列与组合的方式构建成图库精灵。
1.2)然后进行选取面向对象的类模板并与相关的属性进行关联,还可以支持自定义属性配置。
1.3)编写脚本逻辑,包括各种交互事件响应、变量属性变化响应等,赋予图库精灵实际的交互功能。
2、调试图库精灵
对步骤1中制作好的图库精灵进行调试,主要工作包括:
2.1)生成调试组态页面
依据图库精灵的设计信息自动构建响应的组态运行页面,调试过程依据该页面进行画面的绘制和初始状态设备。
2.2)构造调试运行环境
图库精灵调试的基本环境,和通常运行组态画面的运行环境大致一致,能响应图库精灵的动态变化,能够与外界的信息进行交互。构造这样的环境,需要支持组态运行所需要的各类动态库的加载与交互支持,以及运行***消息的响应。
2.3)生成图库精灵的属性信息
制作的图库精灵带有各种属性信息,需要读取和实现的内容包含图库精灵的类模板和属性信息、自定义属性、运行脚本等。生成属性信息过程中需要对属性信息进行分类,包含:关联动画的属性、非关联动画的属性、脚本中使用的内部逻辑变量等等,还需要提供必要的可扩展性,支持用户在调试过程中自行添加的变量属性等。
2.4)脚本逻辑支持
脚本是图库精灵得以具有强大生命力的根本,调试图库精灵的过程需要对内部的脚本逻辑进行支持,得益于步骤2.2)中调试环境的构建,图库精灵的脚本逻辑能够完整地实现,从而实现了丰富效果的动态运行样式,能够真实重现实际应用中的运行场景,达到设计调试即运行应用的效果。
2.5)属性信息的配置和读写控制支持
调试过程的基本工作就是对图库精灵的逻辑和运行效果进行检验,属性信息的配置和读写控制支持,则是这项工作的主要工作内容。通过对步骤2.3)中展示的属性信息进行读/写值操作,并实时交互响应,用户可以进行图库精灵的“单元测试”,这对图库精灵设计和制作人员而言近乎是一种白盒测试,能够方便地实现测试用例的编写并容易实现高覆盖率的验证,通过模拟各种需要的场景来检验图库精灵是否满足要求。对于他人制作的图库精灵也可以方便地依据属性信息的分类展示,大致了解属性的作用,通过进行合适的测试用例验证,检查图库精灵是否满足需求。读写控制还支持批量操作和常见的动变量支持,如“$时”、“$分”、“$秒”等具有规律变化的变量支持。
2.6)调试模式支持和保存。
调试过程中,对于需要记录的测试用例(场景),用户可以通过模式保存的方式进行记录和存储,并且可以在后续的测试中再次直接应用,不需要繁复的重复劳动或额外的信息记录,减少了犯错的可能性。通过支持将记录的测试用例进行导入和导出,更好地加快图库精灵的测试工作。最后,用户可以在自己的工作环境中记录下调试的效果快照,方便检查图库精灵的运行效果。
3、调整和修改图库精灵:由于调试功能模块集成在了图库设计器里,测试中对于需要修改的地方可以随时返回设计界面,对图库精灵进行修改和完善。之后再进行步骤2中的调试过程,直到最终满足设计需求为止,并且之前测试中保存过的用例(场景)可以通过编辑(或导出后再导入的方式)进行修改,有效减少重复测试付出的代价。
4、完成图库精灵设计并保存成果。
下面进一步对本发明优选的具体实施例进行描述。
实施例1:使用面向对象模式设计的图库的调试案例。
步骤1新建图库精灵Button,打开一张白色画布。
步骤2在画布上添加基本图库对象,例如一个文本框Text、两条多义线L1、L2(拖拉为直角折线),并进行排列和组合形成抽象的图库精灵基本雏形,如图7、图8所示。
步骤3编辑文本框的文本内容为需要的字符串,配置填充颜色为#DDDDDD。
步骤4配置L1和L2属性为不可见(指组态运行环境中默认不可见)。
步骤5创建一个类模板“Class”,包含三个属性:“@Class@”、“@[email protected]”、“@[email protected]”。通常图库精灵是有实际物理意义的,而类模板的属性未与图库精灵属性相关联之前仅为抽象表述,不具有实际物理意义。
步骤6选取的步骤5创建的类模板Class,并选中需要关联的类模板属性“@[email protected]”和“@[email protected]”,如图9所示。
步骤7关联Text的文本动画属性到“@[email protected]”,并且关联Text的填充前景颜色动画到“@[email protected]”,如图10所示。
步骤8编辑图库精灵脚本。逻辑为鼠标移入Button时,显示L1并隐藏L2;鼠标移出Button时,隐藏L1并显示L2;鼠标点击Button时,设置属性“@[email protected]”值为“Click”并设置属性“@[email protected]”值为#FF0000;鼠标点击Button释放时,设置属性“@[email protected]”值为“NotClick”并设置属性“@[email protected]”值为#DDDDDD。
步骤9保存步骤1~8的图库精灵,点击调试按钮进入调试模式。调试模式的内在准备工作包括:
步骤9.1加载图库精灵属性图形信息,自动构建调试需要的组态页面。
步骤9.2加载构建环境需要的动态链接库,设置运行标记为运行态。
步骤9.3读取图库精灵Button的属性列表,并显示在调试界面右侧的列表。
步骤9.4读取图库精灵Button的原有的调试信息(如果有的话),并显示在调试界面下侧的列表。
步骤9.5生成变量读写控制的临时数据表,初始化变量默认值。
步骤9.6启动脚本解析引擎。
步骤10鼠标移入Button,验证移入鼠标逻辑。
步骤11鼠标移出Button,验证移出鼠标逻辑。
步骤12鼠标点击Button,验证点击鼠标逻辑。
步骤13鼠标释放Button,验证释放鼠标逻辑。
步骤14修改属性“@[email protected]”时,验证Button文本显示是否变化正确。
步骤15修改属性“@[email protected]”时,验证Button填充颜色是否变化正确。
步骤16(可选)保存验证过程的用例(场景)。
步骤17(可选)导出测试用例(场景)。
步骤18返回编辑设计模式,保存图库精灵。
步骤19完成设计和调试。
实施例2:使用面向设备模式设计的图库的调试案例。
步骤1~4和实施案例1中一致。
步骤5添加图库精灵的自定义属性TextPro(字符串类型,初始值“NotClick”)、ColorPro(颜色类型,初始值#DDDDDD)。
步骤6关联Text的文本动画属性到TextPro,并且关联Text的填充前景颜色动画到ColorPro,如图12、图13所示。
步骤7编辑图库精灵脚本。逻辑为鼠标移入Button时,显示L1并隐藏L2;鼠标移出Button时,隐藏L1并显示L2;鼠标点击Button时,设置属性TextPro值为“Click”并设置属性ColorPro值为#FF0000;鼠标点击Button释放时,设置属性TextPro值为“NotClick”并设置属性ColorPro值为#DDDDDD。
步骤8保存步骤1~7的图库精灵,点击调试按钮进入调试模式。调试模式的环境构建与实施案例1中步骤9.1~9.6一致。
步骤9鼠标移入Button,验证移入鼠标逻辑。
步骤10鼠标移出Button,验证移出鼠标逻辑。
步骤11鼠标点击Button,验证点击鼠标逻辑。
步骤12鼠标释放Button,验证释放鼠标逻辑。
步骤13修改属性TextPro时,验证Button文本显示是否变化正确。
步骤14修改属性ColorPro时,验证Button填充颜色是否变化正确。
步骤15(可选)保存验证过程的用例(场景)。
步骤16(可选)导出测试用例(场景)。
步骤17返回编辑设计模式,保存图库精灵。
步骤18完成设计和调试。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (3)
1.一种组态软件中图库精灵的动态调试方法,其特征在于,包括如下步骤:
步骤1:设计和制作图库精灵;
步骤2:对步骤1中制作得到的图库精灵进行调试;
步骤3:调整和修改图库精灵;
步骤4:完成图库精灵设计并保存成果;
所述步骤2包括如下步骤:
步骤2.1:生成调试组态页面,其中,依据图库精灵的设计信息自动构建响应的组态运行页面,调试过程依据该组态运行页面进行画面的绘制和初始状态设备;
步骤2.2:构造调试运行环境,其中,图库精灵调试的基本环境,能响应图库精灵的动态变化,能够与外界的信息进行交互;
步骤2.3:生成图库精灵的属性信息,其中,生成属性信息过程中对属性信息进行分类,属性信息包含:关联动画的属性、非关联动画的属性、脚本中使用的内部逻辑变量;
步骤2.4:支持脚本逻辑,以实现丰富效果的动态运行样式,真实重现实际应用中的运行场景,达到设计调试即运行应用的效果;
步骤2.5:属性信息的配置和读写控制支持,其中,通过对步骤2.3中展示的属性信息进行读和/或写值操作,并实时交互响应;
步骤2.6:调试模式支持和保存,在调试过程中,对于需要记录的测试用例,通过模式保存的方式进行记录和存储,并且在后续的测试中再次直接应用,并且通过支持将记录的测试用例进行导入和导出,并向用户提供在该用户的工作环境中记录下调试的效果快照,方便检查图库精灵的运行效果。
2.根据权利要求1所述的组态软件中图库精灵的动态调试方法,其特征在于,所述步骤1包括如下步骤:
步骤1.1:通过使用基本的简单对象,辅以不同属性编辑配置,以及不同的排列与组合的方式构建成图库精灵;
步骤1.2:然后进行选取面向对象的类模板并与相关的属性进行关联,并支持自定义属性配置;
步骤1.3:编写脚本逻辑,脚本逻辑包括各种交互事件响应、变量属性变化响应,赋予图库精灵实际的交互功能。
3.根据权利要求1所述的组态软件中图库精灵的动态调试方法,其特征在于,步骤3包括如下步骤:
利用集成在图库设计器里的调试功能模块,在测试中对于需要修改的地方随时返回设计界面,对图库精灵进行修改和完善,之后再进行步骤2中的调试过程,直到最终满足设计需求为止,并且之前测试中保存过的用例通过编辑进行修改,有效减少重复测试付出的代价。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410141000.3A CN104978264B (zh) | 2014-04-09 | 2014-04-09 | 组态软件中图库精灵的动态调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410141000.3A CN104978264B (zh) | 2014-04-09 | 2014-04-09 | 组态软件中图库精灵的动态调试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978264A CN104978264A (zh) | 2015-10-14 |
CN104978264B true CN104978264B (zh) | 2017-09-19 |
Family
ID=54274793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410141000.3A Active CN104978264B (zh) | 2014-04-09 | 2014-04-09 | 组态软件中图库精灵的动态调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104978264B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117148779A (zh) * | 2023-10-10 | 2023-12-01 | 广州亿达科技有限公司 | 基于集成开发环境的自动控制***设计方法和*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477750A (zh) * | 2009-01-20 | 2009-07-08 | 中国民航大学 | 一种用于控制类课程教学演示的方法和*** |
CN103092585A (zh) * | 2011-11-04 | 2013-05-08 | 上海宝信软件股份有限公司 | 一种用于综合监控软件的图库的组态化设计*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407662B2 (en) * | 2010-06-25 | 2013-03-26 | Wyse Technology Inc. | Apparatus and method for network driver injection into target image |
-
2014
- 2014-04-09 CN CN201410141000.3A patent/CN104978264B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477750A (zh) * | 2009-01-20 | 2009-07-08 | 中国民航大学 | 一种用于控制类课程教学演示的方法和*** |
CN103092585A (zh) * | 2011-11-04 | 2013-05-08 | 上海宝信软件股份有限公司 | 一种用于综合监控软件的图库的组态化设计*** |
Also Published As
Publication number | Publication date |
---|---|
CN104978264A (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Whitner et al. | Guidelines for selecting and using simulation model verification techniques | |
CN111079387B (zh) | 一种问卷自动化生成方法、装置、计算机设备及存储介质 | |
CN109284473A (zh) | 在线教学课件的编辑和生成方法以及*** | |
CN108345532A (zh) | 一种自动化测试用例生成方法和装置 | |
Feldbrugge et al. | Petri net tool overview 1986 | |
CN103744647B (zh) | 一种基于工作流可视化开发工具的Java工作流开发***及其方法 | |
CN102096593A (zh) | 基于Flex技术的Web端业务流程图形化编辑框架***及方法 | |
CN110471754A (zh) | 作业调度中的数据展示方法、装置、设备及存储介质 | |
Avdeenko et al. | The ontology-based approach to support the completeness and consistency of the requirements specification | |
CN108647147A (zh) | 一种利用图谱分析执行自动化测试机器人及其使用方法 | |
Al-Jabari et al. | Multimedia software engineering methodology a systematic discipline for developing integrated multimedia and software products | |
Teppola et al. | Challenges in deployment of model driven development | |
Mainkar | Expert Android Programming: Master skills to build enterprise grade Android applications | |
CN104239212B (zh) | 测试用例的查询方法及装置、测试用例的建立方法及装置 | |
US20070136333A1 (en) | Method of inspection and a user interface for a business measure modeling tool | |
CN104978264B (zh) | 组态软件中图库精灵的动态调试方法 | |
Berkeley et al. | Software development project management: process and support | |
KR20090099977A (ko) | 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치 | |
Schmid et al. | A survey of simulation tools for requirements engineering | |
CN114168121B (zh) | 一种基于代码工厂模式开发软件***、终端和存储介质 | |
Pérez-Castillo et al. | ANDRIU. A Technique for Migrating Graphical User Interfaces to Android (S). | |
Henderson-Sellers et al. | Standardizing methodology metamodelling and notation: an ISO exemplar | |
CN104850494B (zh) | 一种用于存储***测试的方法与设备 | |
Sajaniemi et al. | Animation metaphors for object-oriented concepts | |
Sprogis | ajoo: WEB based framework for domain specific modeling tools |
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 |