CN106649077A - 一种自动生成tps的方法 - Google Patents
一种自动生成tps的方法 Download PDFInfo
- Publication number
- CN106649077A CN106649077A CN201510732521.0A CN201510732521A CN106649077A CN 106649077 A CN106649077 A CN 106649077A CN 201510732521 A CN201510732521 A CN 201510732521A CN 106649077 A CN106649077 A CN 106649077A
- Authority
- CN
- China
- Prior art keywords
- tps
- node
- configuration
- configuration information
- program
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及一种自动生成TPS的方法,属于测控技术领域。采用XML文件存储TPS程序的配置信息,配置信息包括流程的执行顺序、执行逻辑、函数的配置信息等。采用LabVIEW的VI Script技术,根据配置信息自动生成TPS程序。步骤包括:对TPS流程配置信息进行规范正确性检查;将读取的配置信息进行解析,依据配置参数依次添加程序元素,并配置程序的执行流程、接口参数;最后将源程序进行编译,并将编译后的文件连同依赖文件进行打包。技术效果在于,更加便于TPS程序的生成操作。用户按照本方案定义的规范编辑配置文件的相关参数,可快速生成TPS程序,从而有效降低开发人员的学习成本,提高实际开发效率。
Description
技术领域
本发明涉及一种自动生成TPS的方法,属于测控技术领域。
背景技术
当前,主流的测控软件开发环境有Visual Studio、LabVIEW和CVI。其中,LabVIEW采用图形化的编程方式(G语言),极大的提高了程序的开发效率。VI Script即LabVIEW程序的脚本编程方式,通过此技术,可编程实现自动添加程序元素(函数、流程控制单元等)、编译生成执行文件的功能。开发人员根据测试需求,按照编程规范编写、调试TPS(测试程序集)程序。调试完毕后,将TPS程序及执行所依赖的文件进行打包,供其他软件进行导入、调用。
采用传统的TPS开发方式,虽然基于主流开发环境强大的编译、调试功能,开发人员可开发出功能强大、接口丰富的TPS程序。但是,现有主流开发环境同时具有以下的缺陷:
(1)设计开发门槛高:开发人员需要学习开发环境的使用方法,以及编程语言的编程规范,因而提高了对开发人员的能力要求;
(2)程序生成过程繁琐:TPS程序大多为DLL文件。生成时,需配置导出函数原型、定义函数实现、添加文件依赖关系等,生成过程较繁琐且容易出错。
发明内容
本方案旨在克服现有传统TPS开发方式中存在的设计开发门槛高、程序生成过程繁琐等问题,提供一种自动生成TPS程序的方法。
一种自动生成TPS的方法,基于LabVIEW的VI Script技术,根据配置信息自动生成TPS程序,采用XML文件存储TPS程序的配置信息,配置信息包括流程的执行顺序、执行逻辑、函数的配置信息,XML文件中节点出现的顺序为执行顺序,节点的属性为配置参数,节点的包含关系为功能单元的嵌套关系,具体包括以下步骤:
步骤一,读取TPS配置信息,对TPS配置信息进行规范正确性检查,检查的要素包括语法正确性、参数合法性及执行逻辑合理性,当配置信息通过规范检查则执行步骤二,若配置信息不符合规范,则终止程序;
步骤二,将读取的TPS配置信息进行解析,依据配置参数依次添加各功能节点,即程序元素,并按照TPS配置信息配置程序的执行流程、对外接口参数;
步骤三,将源程序进行编译,并将编译后的文件连同依赖文件进行打包,生成TPS程序包。
在上述一种自动生成TPS的方法中,在将程序元素添加至程序时,首先按照配置参数信息添加各功能节点,并配置节点的参数,直到所有的功能节点都被添加,否则继续添加功能节点;其次,按照功能节点所属容器的GUID查找容器节点,并将功能节点放置至所属容器中,直到所有的功能节点都已移动,否则继续执行根据GUID查找功能节点所属容器;最后,根据程序的执行顺序及数据流向,连接各功能节点的接线端子,当所有的功能节点均添加、配置完毕后,按照节点配置的接口函数生成TPS DLL文件,并和执行所依赖的文件一起打包。
本发明的技术效果在于,更加便于TPS程序的生成操作。用户按照本方案定义的规范编辑配置文件的相关参数,可快速生成TPS程序,从而有效降低开发人员的学习成本,提高实际开发效率。同时,根据程序的执行依赖关系,可自动将TPS程序及依赖的文件(驱动、算法文件等)进行整体打包,减少开发人员的开发工作,排除误操作导致TPS部署后不能正常执行的情况发生。
附图说明
图1是本发明自动生成TPS的流程图。
图2是TPS程序生成逻辑。
具体实施方式
本发明基于LabVIEW的VI Script技术,根据配置信息自动生成TPS程序。是采用XML文件存储TPS程序的配置信息,配置信息包括:流程的执行顺序、执行逻辑、函数的配置信息等。文件中节点出现的顺序即为执行顺序,节点的属性即为配置参数,节点的包含关系即为功能单元的嵌套关系。本发明自动生成TPS的流程图如图1所示。
首先,读取TPS配置信息,对TPS流程配置信息进行规范正确性检查,检查的要素包括语法正确性、参数合法性及执行逻辑合理性,只有符合规范、逻辑正确的配置文件方可用于生成TPS程序。当配置信息通过规范检查则执行步骤二,若配置信息不符合规范,则终止程序;
其次,将读取的配置信息进行解析,依据配置参数依次添加各功能节点,即程序元素,并按照配置信息配置程序的执行流程、对外接口参数;
最后,将源程序进行编译,并将编译后的文件连同依赖文件进行打包,生成TPS程序包。
程序执行时,首先将各程序元素添加至程序。为避免程序元素命名冲突、保证程序元素唯一性,在添加元素时为元素设置GUID,作为程序元素的唯一标号。其次,将程序元素放置到所属容器中。根据容器的GUID查找容器节点,并将程序元素放置其中。最后,依据配置信息配置节点的执行顺序。
本发明的关键点是VI Script的编程方法。在LabVIEW程序中,所有的功能节点(函数、流程控制单元等)均放置于容器之中,其执行的逻辑、状态受所在容器节点控制。程序的顶层容器即为程序框图,所有的程序元素均直接或间接包含于程序框图。
TPS生成逻辑如图2所示。程序执行时,首先按照配置参数信息在程序框图中添加各功能节点,并配置节点的参数(如GUID、接口变量等),直到所有的功能节点都被添加,否则继续添加功能节点;其次,按照功能节点所属容器的GUID查找容器节点,并将功能节点放置至所属容器中,直到所有的功能节点都已移动,否则继续执行根据GUID查找功能节点所属容器;最后,根据程序的执行顺序及数据流向,连接各功能节点的接线端子,当所有的功能节点均添加、配置完毕后,按照节点配置的接口函数生成TPS DLL文件,并和执行所依赖的文件(如:硬件驱动、算法文件)一起打包。
在本发明执行过程中,点击TPS生成器的“浏览”按钮即打开选择配置文件对话框。选择完毕后,点击界面右下角的“开始”按钮即可开始生成TPS程序,并实时显示生成进度及状态。当TPS生成后,将其连同TPS执行所需的文件一起打包成程序包,文件名称与配置文件一致,后缀名为.tps。
Claims (2)
1.一种自动生成TPS的方法,其特征在于,基于LabVIEW的VI Script技术,根据配置信息自动生成TPS程序,采用XML文件存储TPS程序的配置信息,配置信息包括流程的执行顺序、执行逻辑、函数的配置信息,XML文件中节点出现的顺序为执行顺序,节点的属性为配置参数,节点的包含关系为功能单元的嵌套关系,具体包括以下步骤:
步骤一,读取TPS配置信息,对TPS配置信息进行规范正确性检查,检查的要素包括语法正确性、参数合法性及执行逻辑合理性,当配置信息通过规范检查则执行步骤二,若配置信息不符合规范,则终止程序;
步骤二,将读取的TPS配置信息进行解析,依据配置参数依次添加各功能节点,即程序元素,并按照TPS配置信息配置程序的执行流程、对外接口参数;
步骤三,将源程序进行编译,并将编译后的文件连同依赖文件进行打包,生成TPS程序包。
2.根据权利要求1所述的一种自动生成TPS的方法,其特征在于,首先按照配置参数信息添加各功能节点,并配置节点的参数,直到所有的功能节点都被添加,否则继续添加功能节点;其次,按照功能节点所属容器的GUID查找容器节点,并将功能节点放置至所属容器中,直到所有的功能节点都已移动,否则继续执行根据GUID查找功能节点所属容器;最后,根据程序的执行顺序及数据流向,连接各功能节点的接线端子,当所有的功能节点均添加、配置完毕后,按照节点配置的接口函数生成TPS DLL文件,并和执行所依赖的文件一起打包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510732521.0A CN106649077A (zh) | 2015-11-02 | 2015-11-02 | 一种自动生成tps的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510732521.0A CN106649077A (zh) | 2015-11-02 | 2015-11-02 | 一种自动生成tps的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106649077A true CN106649077A (zh) | 2017-05-10 |
Family
ID=58809725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510732521.0A Pending CN106649077A (zh) | 2015-11-02 | 2015-11-02 | 一种自动生成tps的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649077A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463421A (zh) * | 2017-07-14 | 2017-12-12 | 清华大学 | 一种静态流程模型的编译执行方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156137A1 (en) * | 2004-12-23 | 2006-07-13 | Honeywell International Inc. | Test program set generation tool |
CN102012816A (zh) * | 2010-11-30 | 2011-04-13 | 深圳创维-Rgb电子有限公司 | 一种生成ide工程文件和解决方案文件的方法与装置 |
CN103019742A (zh) * | 2012-12-31 | 2013-04-03 | 清华大学 | 一种多dsp平台上的自动代码生成方法 |
CN104091006A (zh) * | 2014-07-01 | 2014-10-08 | 中国北方发动机研究所(天津) | Simulink中自适应的仿真和代码生成的控制方法 |
CN104216295A (zh) * | 2014-09-16 | 2014-12-17 | 湖南三一智能控制设备有限公司 | 模糊控制器的嵌入式代码自动生成方法及系统 |
-
2015
- 2015-11-02 CN CN201510732521.0A patent/CN106649077A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156137A1 (en) * | 2004-12-23 | 2006-07-13 | Honeywell International Inc. | Test program set generation tool |
CN102012816A (zh) * | 2010-11-30 | 2011-04-13 | 深圳创维-Rgb电子有限公司 | 一种生成ide工程文件和解决方案文件的方法与装置 |
CN103019742A (zh) * | 2012-12-31 | 2013-04-03 | 清华大学 | 一种多dsp平台上的自动代码生成方法 |
CN104091006A (zh) * | 2014-07-01 | 2014-10-08 | 中国北方发动机研究所(天津) | Simulink中自适应的仿真和代码生成的控制方法 |
CN104216295A (zh) * | 2014-09-16 | 2014-12-17 | 湖南三一智能控制设备有限公司 | 模糊控制器的嵌入式代码自动生成方法及系统 |
Non-Patent Citations (3)
Title |
---|
IEEE: "IEEE Standard for Automatic Test Markup Language (ATML) for Exchanging Automatic Test Equipment and Test Information via XML", 《HTTPS://IEEEXPLORE.IEEE.ORG/DOCUMENT/5706290/》 * |
张桂英等: "面向服务架构的可移植TPS软件实现技术", 《测控技术》 * |
黄军: "TPS运行平台及数据查询模块设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463421A (zh) * | 2017-07-14 | 2017-12-12 | 清华大学 | 一种静态流程模型的编译执行方法及系统 |
CN107463421B (zh) * | 2017-07-14 | 2020-03-31 | 清华大学 | 一种静态流程模型的编译执行方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Linzhang et al. | Generating test cases from UML activity diagram based on gray-box method | |
CN105608258B (zh) | 一种基于模型的系统设计及信息流可视化仿真系统及方法 | |
CN104407973B (zh) | 一种自动化单元测试的实现方法及装置 | |
KR101470319B1 (ko) | 컴포넌트 모델 기반의 가상 소프트웨어 플랫폼을 생성하는방법, 이를 이용하여 소프트웨어 플랫폼 아키텍처를검증하는 방법 및 그 장치 | |
CN102622471B (zh) | 集成电路前端验证方法 | |
CN101617294A (zh) | 组件式开发的改进 | |
US9594543B2 (en) | Activity diagram model-based system behavior simulation method | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
CN108197026A (zh) | 风力发电机组仿真软件测试方法、装置、设备及存储介质 | |
US20140214396A1 (en) | Specification properties creation for a visual model of a system | |
CN109902005A (zh) | 一种自动化测试的方法和系统 | |
Ricca et al. | Three open problems in the context of e2e web testing and a vision: Neonate | |
Simons | JWalk: a tool for lazy, systematic testing of java classes by design introspection and user interaction | |
CN109614107A (zh) | 一种软件开发工具包的集成方法和装置 | |
CN102782649A (zh) | 应用程序修改部分搜索装置和应用程序修改部分搜索方法 | |
Xue | Automated mobile apps testing from visual perspective | |
CN110347588A (zh) | 软件验证方法、装置、计算机设备和存储介质 | |
CN104216703A (zh) | 嵌入式软件系统程序的开发方法 | |
CN106649077A (zh) | 一种自动生成tps的方法 | |
Clerissi et al. | Test driven development of web applications: A lightweight approach | |
Patel et al. | Model-driven validation of SystemC designs | |
JP7418608B2 (ja) | プログラマブルロジックコントローラプログラムの解析方法 | |
CN110532015B (zh) | 面向航天软件的在轨升级系统 | |
KR20070049126A (ko) | 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템 | |
Matsubara et al. | Model checking with program slicing based on variable dependence graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170510 |