CN106649077A - 一种自动生成tps的方法 - Google Patents

一种自动生成tps的方法 Download PDF

Info

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
Application number
CN201510732521.0A
Other languages
English (en)
Inventor
赵涛
顾长生
张昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Fan Hua Science And Technology Development Co Ltd
CSSC Systems Engineering Research Institute
Original Assignee
Xi'an Fan Hua Science And Technology Development Co Ltd
CSSC Systems Engineering Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xi'an Fan Hua Science And Technology Development Co Ltd, CSSC Systems Engineering Research Institute filed Critical Xi'an Fan Hua Science And Technology Development Co Ltd
Priority to CN201510732521.0A priority Critical patent/CN106649077A/zh
Publication of CN106649077A publication Critical patent/CN106649077A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test 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的方法
技术领域
本发明涉及一种自动生成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文件,并和执行所依赖的文件一起打包。
CN201510732521.0A 2015-11-02 2015-11-02 一种自动生成tps的方法 Pending CN106649077A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463421A (zh) * 2017-07-14 2017-12-12 清华大学 一种静态流程模型的编译执行方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
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 湖南三一智能控制设备有限公司 模糊控制器的嵌入式代码自动生成方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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