0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过DSC实现VI与TestStand序列交互

华穗科技 来源:华穗科技 2026-05-25 15:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

DSC是LabVIEW中工业监控与数据记录的核心模块。该教程通过DSC创建了共享变量,主程序中将共享变量值改变注册为事件,事件会将共享变量值更新在前面板上。在程序执行过程中,TestStand序列循环更新共享变量值,每一次更改共享变量值就会在主程序中触发事件,把值更新在前面板上,从而实现VI与TestStand序列交互。

下面请跟随小编一起来学习一下吧!

本文教程:

通过DSC实现VI与TestStand序列交互

一、DSC介绍

LabVIEW Datalogging and Supervisory Control (DSC) Module是NI推出的工业级SCADA/HMI与数据记录模块,专为分布式监控、高通道数据采集与历史归档设计,可快速构建从现场设备到企业级监控的完整系统。

DSC增强了LabVIEW共享变量的功能。共享变量可用于在本地计算机或网络上的VI和设备之间访问和传递数据。通过DSC模块,可以为共享变量自动添加数据记录、报警、标度换算和安全性配置,并能以编程方式进行配置,这解决了使用全局变量带来的编程量大、数据管理不便等问题。

二、操作步骤

1、准备工作

新建一个项目,在项目中新建一个库,命名为变量。

41f061dc-5583-11f1-90a1-92fbcf53809c.png

在变量库中新建共享变量。

424c13c4-5583-11f1-90a1-92fbcf53809c.png

设置变量名称与数据类型。

42aef340-5583-11f1-90a1-92fbcf53809c.png

2、主函数编写

在前面板创建一个多列列表框,包含三列:变量名、值、时间戳。

430f58b6-5583-11f1-90a1-92fbcf53809c.png

使用Deploy Libraries VI,将创建好的变量库中的变量加入共享变量引擎(SVE)。

4373fb40-5583-11f1-90a1-92fbcf53809c.png

43d43f6e-5583-11f1-90a1-92fbcf53809c.png

注:部署到共享变量引擎的项目库统称为进程。在库中对某一项共享变量进行修改,必须重新部署该库至共享变量引擎。

使用Get Shared Variable List VI,获得进程中的共享变量列表。

44367b3e-5583-11f1-90a1-92fbcf53809c.png

449990f2-5583-11f1-90a1-92fbcf53809c.png

使用共享变量至字符串转换,转换为字符串数组,初始化为二维数组后,将共享变量列表更新到前面板多列列表框中。

44fae88e-5583-11f1-90a1-92fbcf53809c.png

455c2e96-5583-11f1-90a1-92fbcf53809c.png

使用Enable Value Change Notifications VI,获得一个监控共享变量值变化用户事件,并注册用户事件,使用Request Value Change Notifications VI 将变量进程中的变量加入到监控值变化用户事件里。

45bd93c0-5583-11f1-90a1-92fbcf53809c.png

461d879e-5583-11f1-90a1-92fbcf53809c.png

右键事件结构,选择“显示动态事件接线端”,将注册事件的引用句柄连接至事件结构的动态事件接线端。在事件结构中添加事件分支,选择该动态事件。在共享变量值变化用户事件响应中,将共享变量的值从变体转换成设定的格式,更新到多列列表框的Value列,将时间戳更新到Time Stamp列。

4680ef96-5583-11f1-90a1-92fbcf53809c.png

当共享变量在其他地方更新后,就会同步更新到主函数前面板上。

46de864c-5583-11f1-90a1-92fbcf53809c.png

使用Disable Value Change Notifications VI释放掉监控共享变量值变化用户事件,并清理与此事件相关联的所有资源,使用Undeploy Libraries VI 从共享变量库移除变量库中所包含的变量。

473ad14a-5583-11f1-90a1-92fbcf53809c.png

3、序列编写

打开TestStand,创建一个新项目。使用for循环,循环一百次,在for循环中通过Action更新共享变量,更新后等待0.5s,再进入下次循环。

47973c5a-5583-11f1-90a1-92fbcf53809c.png

Action中生成对应数据格式的随机数,并更新到共享变量中。

4801ca8e-5583-11f1-90a1-92fbcf53809c.png

4、结果演示

先运行主函数,再运行序列,就会在主程序前面板上更新变量一百次。

485e8882-5583-11f1-90a1-92fbcf53809c.gif

三、总结

该教程通过DSC的共享变量实现了序列与VI的数据交互,这套流程不止可以实现序列与VI的交互,还可以推广到本地计算机或网络上的VI和设备之间访问和传递数据。

以上就是通过DSC实现VI与TestStand序列交互的所有内容啦,欢迎大家留言讨论,交流分享!

以上内容就是本期的全部内容,更多关于测试系统中的实际软硬件应用知识,可关注本公众号/下方合集,敬请期待!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    2025

    文章

    3692

    浏览量

    349364
  • 交互
    +关注

    关注

    1

    文章

    75

    浏览量

    15395
  • 工业监控
    +关注

    关注

    0

    文章

    12

    浏览量

    8239

原文标题:教程 | 通过DSC实现VI与TestStand序列交互

文章出处:【微信号:华穗科技,微信公众号:华穗科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何创建TestStand自定义步骤

    在之前的课程中简单地介绍过TestStand自带的一些步骤类型,如测试、消息弹窗、赋值、标签等等,这些简单的步骤从TestStand的插入选版中就可以添加到序列中。那么在使用中如果碰到需要实现
    的头像 发表于 09-11 14:46 4139次阅读
    如何创建<b class='flag-5'>TestStand</b>自定义步骤

    请教一个关于Teststand调用LABVIEW程序的问题

    目前我在用TESTSTAND软件进行测试程序编写,其中有一步是要调用LABVIEW VI程序的值,是要用teststand API吗?另外在运行TESTSTAND时候,能否就直接打开L
    发表于 08-13 15:27

    请教一下,动态调用时各个VI之间的数据交互是怎么实现

    想请问一下,一般编的大程序,如果是主界面程序采用动态调用各个模块的子VI面板时。如果现在主界面程序和各个子VI之间有数据交互的话,一般都是怎么实现的。我用全局变量可以很简单
    发表于 04-20 17:41

    分享一个关于在TestStand中,无法直接编辑和创建新的VI的解决办法

    TestStand在默认情况下,每一个Step中的VI是无法直接在TestStand中直接编辑的,主要是因为labview适配器,没有在开发模式环境下运行,附件以实例的方式逐步介绍如何进行设置,为开发者模式,最终可以编辑Step
    发表于 08-23 23:20

    TestStand中如何快速比较两个类似的Sequence之间的差异

    TestStand提供了很多比较丰富的工具,其中TestStand File Diff and Merge Utility就是专门用来比较两个Sequence测试序列差异的工具,该工具能够快速的比较
    发表于 08-24 21:05

    Teststand问题

    \National Instruments\TestStand 2016 (64-bit)\Examples\Common\LabVIEW Dev Load Test.vi' in the LabVIEW
    发表于 01-16 16:59

    【求助】关于将TestStand转化成C语言

    近期有个任务需要将TestStand序列(步骤都是LabVIEW写的)转化成代码语言,以前试过将LabVIEW转化成C语言,但是TestStand中还没发现这个功能(如果再重写测试框架-状态机又比较费工夫),有没有大神了解这个的
    发表于 01-09 09:08

    TestStand和LabVIEW软件架构

    、Visual Basic .NET和C#中编写的测试程序,使用NI TestStand快速创建测试序列。NI TestStand基于一个高速多线程执行引擎,其性能足以满足最为严苛的测试处理能力要求
    发表于 04-15 09:40

    NI TestStand介绍

    什么是NI TestStand?概览NI TestStand是一种随时可运行的测试管理软件,它专为加速开发您的测试与验证系统而设计。NI TestStand用于测试序列的开发、管理和执
    发表于 05-06 09:26

    如何在LabVIEW中,打开一个TestStand序列文件,将步骤刷新到前面板上查看

    请问,我现在一个需求,就是输入一个seq文件的路径,运行后,就可以看到文件内容比如,我在TestStand中写了一个序列文件,我可以在TestStand中查看看到我写的序列的步骤,然后
    发表于 05-21 09:43

    基本序列MATLAB实现

    基本序列MATLAB实现
    发表于 05-13 15:39 2次下载

    使用TestStand仿真LabView教程资料分享

    在使用TestStand进行自动化测试中,需要用到仿真测试,这里用LabView举例。如果LabView中没有用到TestStand的话还好,仿真用LabView就可以了。但是涉及到Teststand的话,那就只能使用
    发表于 04-23 11:47 276次下载
    使用<b class='flag-5'>TestStand</b>仿真LabView教程资料分享

    NI TestStand TestExec 添加测试次数统计功能(源代码下载)

    NI TestStand 测试序列调用例程修改,添加了测试次数统计功能,希望对各位应用labview开发的工作有所帮助。
    发表于 11-15 16:43 56次下载

    如何自动登录TestStand

    启动TestStand时弹出的登录界面,在日常使用中并无大碍,但当项目需要通过LabVIEW调用TestStand序列文件时,这个环节就会破坏程序运行的流畅性。
    的头像 发表于 08-28 10:43 1428次阅读
    如何自动登录<b class='flag-5'>TestStand</b>

    如何自动登录TestStand2.0

    启动TestStand时弹出的登录界面,除了上次介绍的修改Configure,还可以通过登录管理员账号进行修改。
    的头像 发表于 03-20 15:30 265次阅读
    如何自动登录<b class='flag-5'>TestStand</b>2.0