前言

1、Custom Device是什么?
Custom Device其实相当于是Veristand软件中的插件,这个Custom Device插件的是通过Labview编程实现的,可以直接使用Labview的各种功能模块,并且能够快速串联NI-控制卡和其他Carsim、simulink模型等,进行数据交互,但注意上手需要一定的Labview经验。

2、如何制作Custom Device?
使用Labview的Custom Device Template Tool.vi 创建模板工程,然后通过编译生成库文件,再把库文件放在指定的Veristand调用路径下即可。


一、准备工作

1.1 软件环境

Labview 2020、Veristand 2020

1.2 硬件环境

NI-PXIe8880实时机、交换机

1.3 任务明确

1.3.1 制作一个TCP读写的Custom Device:
1)创建5个输入变量,用于写入TCP数据;
2)创建5个输出变量,用于读取TCP数据;
3)创建Main page.vi中的变量(IP和端口号);
4)自定义配置面板通讯的IP地址和端口号;
5)将输入变量的数据写入TCP,读取的TCP数据输出到输出变量;

二、开发模块介绍

2.1 创建Custom device模板工程

2.1.1 查找Custom Device Template Tool.vi

路径:
Labview安装路径\vi.lib\NI VeriStand\Custom Device Tools\Custom Device Template Tool\Custom Device Template Tool.vi

举例:
D:\National Instruments\LabVIEW 2020\vi.lib\NI VeriStand\Custom Device Tools\Custom Device Template Tool\Custom Device Template Tool.vi

2.1.2 创建Custom Device编程模板

首先打开Custom Device Template Tool.vi
1)选择编程模板的保存路径;
2)输入模板的名称;
3)运行Labview程序;

运行程序后会在模板保存路径下生成模板,并且会自动打开模板

在这里插入图片描述

2.2 Custom device模板vi功能介绍

Custom Device主要用到下述3个模板vi,而且要用到Labview的其他VI;
1)TCP Initialization VI.vi:创建输入输出变量、面板变量等;
2)TCP Main Page.vi:配置面板变量,用于更新面板变量的值;
3)TCP RT Driver VI.vi:获取面板变量的值,并处理输入、输出变量的值;
在这里插入图片描述

2.3 Labview其他Vi介绍

2.3.1 Veristand编程Vi位置

在这里插入图片描述

2.3.1 Add Custom Device Section.vi

Add Custom Device Section.vi用于创建一个自定义设备的选项;
在这里插入图片描述
Add Custom Device Section.vi编程案例:
我们打开编程模板中的TCP Initialization VI.vi进行编程:
在这里插入图片描述
Add Custom Device Section.vi案例效果:
在这里插入图片描述

2.3.2 Add Custom Device Channel.vi

Add Custom Device Channel.vi用于创建一个输入输出变量
在这里插入图片描述
Add Custom Device Channel.vi编程案例:
在这里插入图片描述
Add Custom Device Channel.vi编程效果:
在这里插入图片描述

2.3.3 Set Item Property.vi

Set Item Property.vi用来创建TCP Main Page.vi中面板的变量,并且赋予初始值;
在这里插入图片描述

2.3.4 Get Item Property.vi

Get Item Property.vi用来获取TCP Main Page.vi中面板的变量的值;
在这里插入图片描述

三、TCP数据收发案例

1)创建5个输入变量,用于写入TCP数据(TCP Initialization VI.vi中实现);
2)创建5个输出变量,用于读取TCP数据(TCP Initialization VI.vi中实现);
3)创建Main page.vi中的IP和端口号变量(TCP Initialization VI.vi中实现);
如下图所示:红色框选部分使用的是Set Item Property.vi
在这里插入图片描述
4)自定义配置面板通讯的IP地址和端口号(TCP Main Page.vi中实现);
① 首先打开Main page.vi,添加名称为IP的字符串控件和名为端口号的数值控件,如下图红色部分所示;
在这里插入图片描述
② 设置IP和端口号的初始值;
通过Get Item Property.vi获取IP和端口号的值并且赋值给对应的面板控件;
在这里插入图片描述

③ 进入程序框图部分,添加IP值更新时的事件与端口号值更新时的事件,当控制值发生改变时就可以把控件值更新,以便我们在TCP RT Driver VI.vi中获取到最新值;
IP值更新事件:
在这里插入图片描述
端口号值更新事件:
在这里插入图片描述

5)将输入变量数据输入TCP,读取的TCP数据输出到输出变量(TCP RT Driver VI.vi中实现);
① 打开TCP RT Driver VI.vi,使用Get Item Property.vi获取Main page面板IP和端口号的值,并且打开TCP连接;(下图为TCP RT Driver VI.vi最左边的程序部分)
在这里插入图片描述
② 获取5个输入变量Input的值,并写入TCP;
下图红色标号1处表示的是从5个输入变量获取的一维数组值,按照Input0-Input4的值依次排列到数组中去,随后我们将输入变量的值转换成字符串输入到TCP中,如下图的红色标号2;
在这里插入图片描述

注:获取到下图5个输入变量的值,它们是通过RT FIFO Read获取的;
在这里插入图片描述

③ 将从TCP读取到数据填入5个输出变量中去;
下图红色标号2是读取到TCP中的数据转换成含有5个元素的数值数组**(5个数据依次放置一维数组),随后再通过RT FIFO Write依次输出到Output0 - Output4**,如下图红色标号1所示;
在这里插入图片描述
注:数值数组是通过RT FIFO Write输出下图的5个输出变量中去;
在这里插入图片描述

四、程序编译及应用

4.1 程序编译

编译
在这里插入图片描述
在这里插入图片描述
生成编译文件
在这里插入图片描述

4.2 调用TCP Custom Device

进入Veristand,右键Custom Device会自动获取到路径下的TCP Custom Device,选择后即可;
在这里插入图片描述
效果如下:
在这里插入图片描述

4.3 输入输出变量使用

在这里插入图片描述

综上完成Custom Device的制作;

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐