Veristand学习札记(3)- CD的开发

本文详细介绍使用NI VeriStand进行CustomDevice开发的过程,包括工程建立、初始化、主页面配置及实时驱动编写等内容。

1 CustomDevice开发

CD的开发必须遵照NI提供的模板进行。安装完Veristand之后,会在LabVIEW 安装目录下的vi.lib文件下生成【NI Veristand】目录,例如我安装的LabVIEW2015在D盘下,需要的工具就在D:\Program Files(x86)\National Instruments\LabVIEW 2015\vi.lib\NI Veristand\Custom DeviceTools\Custom Device Template Tool\ Custom Device Template Tool.vi。打开这个VI,使用它生成一个工程。

1.1 工程生成工具:Custom Device Template Tool.vi

图12 CD工程生成工具VI

新建一个工程,设置名称为【485 comm】,设置工程存储路径后,设置参数Execution Mode,是别的,这个还没有闹明白是什么意思。保持默认。

1.2 Custom Device Types

1.2.1 AsynchronousCustom Devices

 已参见帮助文档,待补充。

1.2.2  简历工程

运行后看效果。

图13 CD工程

竟然是个LabVIEW的工程。工程名后面自动追加“Custom Device Project”,同时生成两个lvlib库和一个xml文件,库中的VI名称自动命名,不能修改。

最重要的四个文件如下:

图14 四个VI

Initialization VI.vi 实现的功能是当 Veristand 中创建该 Custom Device 时,为Custom Device 创建相对应的属性和输入/输出通道; Main Page.vi 实现的功能是在Veristand 中显示 Custom Device 相对应的通道和属性信息; RTDriver.vi 实现的是当Veristand 将 Custom Device 部署到 Real-Time 系统之后, Custom Device Loop 中 Custom Device如何执行自己的工作。因此可以看出,前两者(Initialization和main page)运行的环境是上位机(Windows开发程序平台),可以加入“弹出对话框”等调试方式,后者的主要操作环境是 Real-Time,如果要输出调试信息,就要
采用前面提到的 Print NI VeriStand Debug String。

1.3 Initialization VI

默认的框架是这样的。

图15 Initialization框架

这个框架的主要功能就是定义你的设备的输入、输出和一些属性。整个VI的输入输出是固定的了。最常用三个VI:

:创建设备的输入和输出通道功能类型,并指定其属性和page,其中输入和输出的数据都是浮点数。这里定义的输入和输出是指的板卡或者设备本身的,相对于Veristand这个要调用他的平台,设备的输出是要给到平台的输入。

:具体指定输入和输出的通道名称、单位、默认值等信息。

图16 设定输入、输出通道

:设置自定义设备的属性和属性的值类型,默认可选择。

属性和输入/输出的区别在于:属性在配置好之后, Veristand Custom Device Loop 中只会很有限次数的访问该信息,而输入/输出在 Custom Device Loop 的每一次循环中都会被使用到;属性的数据类型包含的种类很多,比如布尔,数值,字符串,数组、变体(簇转换)等;输入/输出的数据类型在Veristand 中被限定为Double,不能更改。

根据以上信息,设定我的串口通信设备通道和属性如下:

图17 通道设置

创建了一个输入,两个输出,三个属性,但是这些是如何和板卡、Veristand联系起来的呢?

先搁置不说,等做完一个CD之后,导入到Veristand中再看。

1.4 Main page

Main page的作用是将Initlizantion中设置的属性应用起来,在Veristand中的界面展示。

图18 main page初始化前面板

在这里放置属性配置所需要的控件。当前CD中,属性有三个:串口配置参数和两个端口号。

图19 放置控件

在程序面板中,通过控件值变化的事件结构,将控件值赋给之前设置好的属性。程序中属性名称要和之前得一致。

:给属性赋值。具体实现在事件结构中,如下图所示。

图20 串口设置赋值

图21 Port1赋值

图22 Port2赋值

1.5 RT Driver

这个就是和板卡相关的了。设置的属性和输入输出通道,怎么作用于板卡,如何将数据上传到Veristand,就在这里实现。

首先,先看下整个大过程的数据流是如何执行的。初始化给了两个队列引用进来。

图23 输入、输出队列引用

1.5.1 DeviceOutputs FIFO

设备采集到的值给系统传送队列,对应的板卡采集/读取等操作,将获取到的数据以数组的形式通过这个队列发送到系统中。

图24 板卡的采集区域

同理,Input队列就是从系统中获取到要操作的值,写入板卡中。

图25 板卡写操作区

在此之前,板卡需要初始化、打开等操作。板卡的配置参数就从属性节点中获取到。

图26 获取属性值后配置串口并打开

图27 板卡写操作

图28 板卡度操作

读写部分完成之后,在最后面退出本VI时关闭资源。

图29 关闭板卡

以上,就完成了板卡的操作,并将数据通过队列与系统进行交互。

1.6 发布CD

图30 程序生成规范

在工程中,自动生成一个程序生成规范,最后生成的路径要选择在C:\Users\Public\Documents\NationalInstruments\NI VeriStand 2015\Custom Devices下才能被Veristand识别。

生成规范里面,目标目录不要修改,否则在加载之后会出现错误。

图31 生成路径

源程序和目标程序都使用默认的设置即可。

 

图32 CD发布

1.7 在Veristand中的应用

新建Veristand工程“485CD Test”,进行系统配置,

图33 在Veristand中导入

导入之后,自动加载配置的属性和通道。

图34 通道和属性节点

由上图可以看出,在Initialization VI中设置的通道名、属性名称和默认值都在这里显示,两个功能块,一个输入两个输出通道,属性面板上就是main page VI 的控件。

<think>嗯,用户的问题是关于LabVIEW 2020 VeriStand Model Generation支持包安装失败,提示缺少ni-labview-2020-x86依赖程序包。我需要先理解这个错误的原因。通常,这类安装问题可能是由于依赖包未正确安装、版本不兼容或系统组件缺失引起的。 首先,我应该检查用户是否已经正确安装了LabVIEW 2020的x86版本。因为错误信息明确指出缺少ni-labview-2020-x86,这可能意味着用户安装了64位版本,而支持包需要32位版本。LabVIEW有时候会有不同的架构版本,用户可能没有注意到这一点。 接下来,可能需要建议用户通过NI Package Manager来修复安装。重新运行Package Manager并选择修复选项,可能会自动解决依赖问题。如果修复无效,手动下载依赖包也是一个可行的步骤,但需要确保来源可靠,比如NI的官方网站或官方提供的链接。 另外,用户之前提到过关于ni-skyline-rabbitmq-support的问题,解决方法是卸载冲突的软件。虽然这次的问题不同,但类似的思路:检查冲突软件或残留文件可能适用。例如,旧的LabVIEW组件或未完全卸载的软件可能干扰安装,需要彻底清理。 系统路径和环境变量也可能影响安装程序检测依赖包。需要指导用户检查系统环境变量,确保LabVIEW的安装路径正确无误。此外,以管理员身份运行安装程序可能解决权限问题,这也是常见的解决方案之一。 如果以上步骤都无效,建议用户联系NI技术支持,提供详细的日志文件以便进一步诊断。安装日志通常位于特定目录,如%TEMP%或安装目录下的Logs文件夹,分析这些日志可以找到更具体的错误原因。 最后,需要提醒用户在操作前备份系统,避免意外情况。整个过程需要分步骤详细说明,确保用户能够逐步跟随操作,同时注意使用中文和正确的格式要求,如行内公式和独立公式的LaTeX格式,虽然在这个问题中可能用不上数学公式,但需保持结构清晰。</think>针对LabVIEW 2020 VeriStand Model Generation支持包安装时缺少$ni-labview-2020-x86$依赖的问题,以下是分步解决方案: ### 一、核心解决步骤 1. **验证LabVIEW基础安装** - 确认已安装LabVIEW 2020 x86版本(32位) - 检查控制面板 > 程序与功能中是否存在$ni-labview-2020-core$和$ni-labview-2020-x86$条目 2. **通过NI Package Manager修复** ```markdown a. 打开NI Package Manager b. 右键选择LabVIEW 2020 > 选择"修复" c. 勾选"附加工具"中的"VeriStand Model Generation Support" d. 完成系统级组件自动校验[^1] ``` 3. **手动安装依赖包(需特定顺序)** $$安装顺序:LV2020核心包 \rightarrow LV2020 x86运行时 \rightarrow VeriStand支持包$$ ### 二、进阶排查方案 || 操作步骤 | 技术原理 | |---|---|---| | 1 | 在`C:\Program Files (x86)\National Instruments`路径下检查LV2020文件夹完整性 | 验证x86运行时文件是否完整 | | 2 | 运行`ni-rmtools`清理注册表残留 | 解决旧版本组件冲突 | | 3 | 临时禁用杀毒软件 | 排除安全软件拦截 | ### 三、特殊场景处理 当出现`错误代码0x80070652`时: 1. 使用管理员权限运行CMD执行: ```powershell msiexec /uninstall {2C4F0F90-1E8B-4E4F-8F28-21A0436A9E70} /qb ``` 2. 重新安装NI Installer Database 20.0
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值