TestStand与LabVIEW UI 交互
交互起因
客户觉得TestStand界面复杂,希望一个简单的界面即可进行序列执行,采用LabVIEW调用TestStand引擎可实现快速设计,将TestStand拆解到LabVIEW。
然而,这样做需要设计大量回调函数,开发较费时间,项目对时间要求很严格,且投入不多,故希望有快速解决方案。
为此,设计时希望LabVIEW可以充当一个辅助软件,可配置和控制执行,进行简单数据交互,执行还是TestStand进行
解决方案
TestStand加载LabVIEW界面进行配置后,执行UUT测试,当执行结束后,又回到LabVIEW界面,本文主要总结该实现的关键技巧
1.LabVIWE如何嵌入Teststand界面,也就是需要大量开发时间的方案技术。
参考最权威文档即Teststand的Help文件
NI官网: 手把手教你创建Teststand User Interface
2.Teststand与LabVIEW交互UI
参考NI官网: 基于UI Messages在TestStand和LabVIEW OI之间实现数据的双向传递
Teststand API 架构 TestStand的序列编辑器中如何找到并访问Application Manager
3.其他注意点
上述文章可以帮助了解基本的LabVIWE和Teststand的交互,然而还有一些需要注意的点
如:TestUUT时,如何弹出LabVIEW界面进行配置,然后进入正式测量
TestStand采用面向对象编程,类似于工厂模式,在测试序列底层也是执行的一系列的序列。
基于继承和重写,TestStand可以重写UUT测试中的底层序列,下文将介绍如何重写底层序列。
首先,需要明确UUT测试执行时,会进行初始化和结束,我们只需重写初始化的序列即可增加初始化的操作。如图所示,右键MainSequence,选择Sequence File Callbacks
选择PreUUT,并添加Seq,可以重写该UUT的内容
新增序列后,可以增加UUT序列,即可进行后续编写,而且在序列执行时,只会进行一次
如 :测试UUT时,总是弹出是否进行下一次UUT测试的提醒,能否弹出LabVIEW的界面替换该界面
如图,可以对PreUUT序列编辑,改变逻辑,从而实现自定义弹出LabVIEW对话框作为配置选项
TestStand与LabVIEW UI 交互的更多相关文章
- react UI交互 简单实例
<body><!-- React 真实 DOM 将会插入到这里 --><div id="example"></div> <!- ...
- iOS开发笔记7:Text、UI交互细节、两个动画效果等
Text主要总结UILabel.UITextField.UITextView.UIMenuController以及UIWebView/WKWebView相关的一些问题. UI细节主要总结界面交互开发中 ...
- 类似UC天气下拉和微信下拉眼睛头部弹入淡出UI交互效果(开源项目)。
Android-PullLayout是github上的一个第三方开源项目,该项目主页是:https://github.com/BlueMor/Android-PullLayout 原作者项目意图实现 ...
- firefox 扩展开发笔记(三):高级ui交互编程
firefox 扩展开发笔记(三):高级ui交互编程 前言 前两篇链接 1:firefox 扩展开发笔记(一):jpm 使用实践以及调试 2:firefox 扩展开发笔记(二):进阶开发之移动设备模拟 ...
- 【附案例】UI交互设计不会做?设计大神带你开启动效灵感之路
随着网络技术的创新发展,如今UI交互设计应用越来越广泛,显然已经成为设计的主流及流行的必然趋势.UI界面交互设计中的动效包括移动,滑块,悬停效果,GIF动画等.UI界面交互设计为何越来越受到青睐?它有 ...
- 旅游玩乐 业务组件 UI 交互
旅游玩乐 业务组件 UI 交互 旅游业务组件 ctrip PC web https://piao.ctrip.com/dest/t4651499.html M web https://m.ctrip. ...
- 大数据量 与 UI交互时的处理 总结与心得
[以下均在主线程中操作时]1.UI直接操作,数据量较大时,直接使用UI会非常慢2.数据驱动操作,数据量较大时,数据与UI的交互效率相比“1”提升明显 总结:但以上这两种操作 都会“较长时间”占用主线 ...
- UI交互设计教程分享:提高界面交互体验的“葵花宝典”
本次分享的是在界面设计中最长实用也最容易被忽略的十个原则,就是尼尔森十大可用性设计原则,这是十分基础且重要的原则.原则是死的,如何正确的结合到实际运用中才是关键.接下来我会通过对每一个原则的理解和现 ...
- C#穿透session隔离———Windows服务启动UI交互程序
在Windows服务里面启动其他具有界面的应用程序,需要穿透session隔离,尝试了很多种方法,都可行,现在一一列举下来,并写下几个需要注意的地方. 需要注意的地方 首先要将服务的Account属性 ...
随机推荐
- Arduino101学习笔记(五)—— 模拟IO
1.配置IO管脚 //***************************************************************************************** ...
- 智能车学习(二十)——浅谈C车硬连接与软连接
一.为何要追求软连接? 车子进行软连接之后,可以达到一种效果,就是在高速过程中,车子如果快要发生侧翻的时候,只会跳一个后轮,且只是轻微,而前轮如果进行的内倾,就可以让前轮最大面积接触,增大 ...
- 【hibernate 报错】No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer 【get和load的区别】
报错: HTTP Status 500 - Could not write content: No serializer found for class org.hibernate.proxy.poj ...
- flv文件格式解析!!!
flv头 FLV header 总体上看,FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag组成. Signature: FLV 文件的前3个字 ...
- AngularJS学习之模块
1.模块定义了一个应用程序:模块是应用程序中不同部分的容器:模块是应用控制器的容器:控制器通常属于一个模块 2.创建模块:你可以通过AngularJS的angular.module函数来创建模块: & ...
- 标准W3C盒子模型和IE盒子模型
标准W3C盒子模型和IE盒子模型 CSS盒子模型:网页设计中CSS技术所使用的一种思维模型. CSS盒子模型组成:外边距(margin).边框(border).内边距(padding).内容(co ...
- Swift3.0语言教程比较、判断字符串
Swift3.0语言教程比较.判断字符串 Swift3.0语言教程比较.判断字符串,在一个程序中字符串很多时,常常会做的操作就是对这些字符串进行比较和判断.本小节将讲解这些内容. 1.不区分大小写比较 ...
- 基于netty的微服务架构
基于netty的微服务架构 微服务一篇好文章 http://san-yun.iteye.com/blog/1693759 教程 http://udn.yyuap.com/doc/essential-n ...
- 去除手机端触摸滑动事件ontouchmove
window.ontouchmove=function(e){ e.preventDefault && e.preventDefault(); e.returnValue=false; ...
- hdu5057 Argestes and Sequence 分块
Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted Submiss ...



