Professional Documents
Culture Documents
By 慕慕 316395914
NI VeriStand 2010 使用手册
目录
1. 概述 ........................................................................................................................................... 3
2. 创建软件模型 ............................................................................................................................ 4
4. 创建测试激励信号 .................................................................................................................. 20
5. VERISTAND 高级功能............................................................................................................... 28
2 / 59
NI VeriStand 2010 使用手册
1. 概述
VeriStand 2010 是美国 National Instruments 公司专门针对 HiL 仿真测试系统而开发出的
软件环境。
VeriStand 2010 是一种基于配置的软件环境,它简单易用,无需编程就完成实时测试系
统的创建,实现 HiL 测试中所需的各种功能。NI VeriStand 2010 能够配置模拟、数字和基于
FPGA 的硬件 I/O 接口;能够配置激励生成、记录数据、计算通道和事件警报;能够从 NI
LabVIEW 和 MathWorks Simulink®等建模环境中导入控制算法和仿真模型; 能够利用操作界面
实时在线监控运行任务并与之交互。
3 / 59
NI VeriStand 2010 使用手册
2. 创建软件模型
NI VeriStand 2010 可以利用*.dll 文件导入由 Matlab/Simulink/Stateflow 创建的算法或仿真
模型,下图所示为 Simulink 模型导入 NI VeriStand 的过程:
Compiler 利用VC,将C代码编译为
Model_name.dll
在NI VeriStand中,直接添
NI VeriStand
加*.dll文件
注意:NI VeriStand 支持的编译器包括 Microsoft Visual C++ 6.0, .NET 2003, 2005
(Professional or Express), or 2008 (Professional or Express).
2.1. 创建被控对象模型
4 / 59
NI VeriStand 2010 使用手册
该发动机模型要求的输入信号为
Throttle Angle 节气门开度
Drag Torque 拖拽扭矩(负载扭矩)
输出信号为
Engine Speed 发动机转速
5 / 59
NI VeriStand 2010 使用手册
运行后结果如下所示,上图为发动机模型所需输入信号,黄色曲线为负载扭矩,紫色曲
线为节气门开度;下图中为发动机模型计算的输出信号,黄色曲线为发动机转速。
6 / 59
NI VeriStand 2010 使用手册
3. 修改模型
1) 将模型中需要做映射的端口,用相应的 NIVeriStand In 和 NIVeriStand Out 替代;
2) 在 Simulink 模型最上层中添加 Block NIVeriStandSignalProbe,添加后下层所有模块
的参数也都可以通过 VeriStand 观测或者修改;
3) 取消原 Simulink 模型中 Signal Properties 下有关 data logging 的选项。
4) 完成修改后的发动机模型如下所示:
4. 设置编译环境并编译
1) 打开 Simulink 模型的 Configuration Parameters (快捷键:Ctrl+E),
2) 在 Real-Time Workshop 中,
指定 System target file 为 NIVeriStand.tlc,点击 OK 确认。
注意:如果实时目标机为 cRIO 系列,此处要选择 NIVeriStand_VxWorks.tlc
7 / 59
NI VeriStand 2010 使用手册
### Successful completion of Real-Time Workshop build procedure for model: ModelName,
8 / 59
NI VeriStand 2010 使用手册
2.2. 创建控制器模型
在 Simulink 提供的 Demo Engine Timing Model with Closed Loop Control 中包含了控制器
ECU 的算法。我们需要把其中的控制器(Controller)算法从闭环模型中分割出来,建立单独的
ECU 模型,并编译为对应的 *.dll 文件。
Controller 采用 PI 控制算法,可根据目标发动机转速,结合发动机模型中的负载扭矩,
计算出节气门开度,最终使发动机实际转速与目标转速一致。
下图中黄色曲线为发动机负载曲线,紫色曲线为控制器输出的节气门开度
1) 2s 时,由 25 Nm 变为 20 Nm
2) 8s 时,由 20 Nm 变为 25 Nm
9 / 59
NI VeriStand 2010 使用手册
1. 分割、修改 ECU 模型
1) 打开所需的 Demo:Engine Timing Model with Closed Loop Control
10 / 59
NI VeriStand 2010 使用手册
3. 创建 MiL 测试环境
在上一章中,我们准备好了 Engine 和 Ecu 的软件模型,在本章中,我们会将其导入到
NI VeriStand 2010 中,创建一个 MiL (Model-in-the-Loop) 测试环境,并介绍如何在 Work Space
中添加控件,控制和观察 Engine、Ecu 的行为。
1. 运行 NI VeriStand
Start » Program Files » National Instruments » NI VeriStand 2010 » NI VeriStand.
11 / 59
NI VeriStand 2010 使用手册
4. 展开 System Definition File 节点.
6. 添加发动机 Engine 模型
1) 展开 Targets » Controller,点击 Simulation Models;
2) 添加模型 Add Simulation Model.
12 / 59
NI VeriStand 2010 使用手册
3) 将目录转换到 Engine.dll 所在目录
4) 选择 Engine.dll,单击 OK.确认
7. 添加控制器 ECU 模型
1) 点击 Simulation Models,添加仿真模型 Add Simulation Model;
2) 选择 Ecu.dll,单击 OK 确认。
8. 调整发动机模型和控制器模型的运行顺序
1) 在 System Explorer 左侧的树状结构中选择 Execution Order;
2) 将发动机模型的色条由 Group1 拖到 Group2
13 / 59
NI VeriStand 2010 使用手册
9. 现在需要将发动机和控制器模型的输入输出端口映射到一起
1) 从菜单中选择 Tools » Edit Mappings
2) 从 Sources 来源窗口中选择 Simulation Models » Models » Ecu » Outports » throttle
angle setpoint
3) 从 Destinations 目标窗口中选择 Simulation Models » Models » Engine » Inports »
Throttle Angle.
4) 点击 Connect,完成两个信号的相互映射
14 / 59
NI VeriStand 2010 使用手册
11. 添加标定参数,实现在线标定功能
1) 展开 Models » Ecu » Parameters,里面包含了 Simulink 模型中所有 Block 的参数
2) 双击 Source 窗口中的 Proportional Gain,添加 PI 控制器的比例系数
3) 双击 Source 窗口中的 Integral Gain,添加 PI 控制器的积分系数
15 / 59
NI VeriStand 2010 使用手册
16 / 59
NI VeriStand 2010 使用手册
至此我们已经导入了所需的模型并且将端口映射到了一起,下面就可以将系统定义文件
部署到计算机中并开始运行。通过在 Workspace 中添加相应控件,可以设定发动机目
标转速,然后观察控制器是如何通过调整节气门开度,使发动机达到指定转速的。
17 / 59
NI VeriStand 2010 使用手册
19. 从左侧的 Workspace Controls 栏中,拖拽一个数字控件 Numeric Control (Medium)
选择通道 Channel: Controller » Simulation Models » Models » Ecu
» Inports » rpm Setpoint
填写控件名称 Control Label: rpm Setpoint
18 / 59
NI VeriStand 2010 使用手册
19 / 59
NI VeriStand 2010 使用手册
4. 创建测试激励信号
在第 3 章中我们学习了如何用 NI VeriStand 2010 的 Workspace 建立基本的用户界面。在
本章中将介绍如何使用 Stimulus Profile Editor 创建测试激励信号,用于自动化测试。NI
VeriStand 中还集成了有许多其他工具,包括警报监控,信号错误管理,TDMS File 观测器等,
我们将在后面的章节继续介绍。
20 / 59
NI VeriStand 2010 使用手册
21 / 59
NI VeriStand 2010 使用手册
4) 设置斜坡函数,初始 2000:
End Point: 2000
Ramp Mode: Fixed Duration
seconds: 0
22 / 59
NI VeriStand 2010 使用手册
我们可以并行的有多个激励发生器。我们要将同时使用 Generator 1 和
Generator 2 给控制器设定目标转速和负载
1) 点击 + 按钮,添加第二个 Generator.
2) 选择 Step-based Generator (default),点击 OK
3) 选择 Add Mappings .
23 / 59
NI VeriStand 2010 使用手册
24 / 59
NI VeriStand 2010 使用手册
6. 选择 Logging 标签栏.
7. 点击 + 按钮为记录数据添加一个新文件
8. 配置记录文件
1) 点击 browse 按钮,选择记录文件指定保存路径
25 / 59
NI VeriStand 2010 使用手册
可以用多个文件分开记录几组不同条件下的激励信号;也可以选择不同的记录速度,
分开记录变化比较慢的信号,减少对传输线路和磁盘空间的占用。
26 / 59
NI VeriStand 2010 使用手册
27 / 59
NI VeriStand 2010 使用手册
5. Veristand 高级功能
在上一章中,我们创建了用于自动化测试的基本激励信号。在这一章中,将先介绍 User
Channels、Procedures、Alarms 的使用方法,随后介绍如何利用 Calculated Channels 完成更
复杂的测试。
1. 创建 User Channels 通道
1) 在 System Explorer 中,展开 Controller 节点,单击 User Channels
2) 添加 Add User Channel
28 / 59
NI VeriStand 2010 使用手册
2) 添加 Add Alarm
29 / 59
NI VeriStand 2010 使用手册
1) 添加 Add Procedure
Name:Reset MiL
30 / 59
NI VeriStand 2010 使用手册
Channel 2: Controller » Simulations Models » Models » Engine » Execution »
Model Command
Value 2: 2
3) 延时 Add » Dwell
Dwell Time:勾选 Use Constant Value,0.1
31 / 59
NI VeriStand 2010 使用手册
Name: Acknowledge Alarm
Function: Reset Alarm & Exit Subroutine
Alarm: Reset has been pressed
32 / 59
NI VeriStand 2010 使用手册
测试 Ecu 算法时,希望当发动机在某点运行稳定后,再自动进入下一工况点。这就要求
测试系统能检测出过渡工况何时结束,在本节中我们将利用 Calculated Channels 实现该功
能。
33 / 59
NI VeriStand 2010 使用手册
34 / 59
NI VeriStand 2010 使用手册
4. 创建通道 ”Rpm > Low Bound”,使用 Conditional 模式,设置如下图所示
当发动机模型计算出的 Engine Speed 大于通道 ”Rpm Low Bound” 的值时,返回常值 1,
否则为 0
35 / 59
NI VeriStand 2010 使用手册
36 / 59
NI VeriStand 2010 使用手册
7. 为了避免因为信号波动造成的错误判断,创建通道 ”Rpm Pass”,使用 Average 模式,对
通道”Rpm within Range”求 200 个采样点的平均值,也就是只有当转速在允许范围内稳
定一段时间后,”Rpm Pass” 才会置 1
8. 修改测试激励信号
以第 4 章创建的激励信号为基础,加入判断条件,监测系统是否稳定。
1) 在 Project Explorer 中右键单击 Profiles,选择 Existing Stimulus Profile
2) 在测试序列中添加 Conditional
按测试序列,在 Conditional 这一步时,会对通道 ”Rpm Pass” 的值进行判断,如果
没有进入稳定状态,则返回到上一步,继续等待 Dwell,直到 “Rpm Pass” 为 1,
自动进入下一个工况点。
37 / 59
NI VeriStand 2010 使用手册
9. 运行新的激励信号,结果如下所示
38 / 59
NI VeriStand 2010 使用手册
6. 创建 HiL 测试系统
在本章中,我们会学习如何将一个 MiL 测试环境转换为 HiL 测试。主要包括添加实时目
标机(RT Target)、添加各种硬件资源、向 RT 目标机中部署系统定义文件等。同时因为 HiL 测
试使用了真实的 Ecu,对软硬件 I/O 端口也要重新进行映射。除此之外,前面提到的 VeriStand
2010 各种使用方法都可以用于 HiL 测试。
6.1. 添加实时目标机
39 / 59
NI VeriStand 2010 使用手册
40 / 59
NI VeriStand 2010 使用手册
4. 保存并且关闭系统浏览器(System Explorer).
6.2. 添加 NI DAQ 设备
1. 在 MAX 中确认要添加的板卡名称
例:下图中 PXI-6225 采集卡的名称为 dev1
2. 在 VeriStand 2010 的 Syetem Explorer 中,展开 Chassis 节点,单击 Add DAQ Device.
41 / 59
NI VeriStand 2010 使用手册
5. 单击某个通道,在右侧窗口内修改相关参数。
42 / 59
NI VeriStand 2010 使用手册
6.3. 添加 NI R 系列设备
43 / 59
NI VeriStand 2010 使用手册
6.4. 添加 NI 故障注入模块
44 / 59
NI VeriStand 2010 使用手册
2. 右键单击 Custom Devices,选择系统安装的 FIU 模块 PXI-2510,PXI-2512,PXI-2514,在
弹出对话框中填写 FIU 设备名称(名称与在 MAX 显示的一致! )
45 / 59
NI VeriStand 2010 使用手册
46 / 59
NI VeriStand 2010 使用手册
9. Fault Ch 中的 Default 值在添加 FIU 硬件时可以单独设置。
47 / 59
NI VeriStand 2010 使用手册
4. 手动添加
1) 选择 Add EtherCAT Master,Slave 0 会自动添加到列表中
2) 因为 HiL 系统装有 2 个 9144 机箱,需要再添加一个 EtherCAT Slave
6.6. 添加 NI XNET 硬件
48 / 59
NI VeriStand 2010 使用手册
1. 添加数据库,右键单击 XNET database,选择 Add Database
49 / 59
NI VeriStand 2010 使用手册
3. 添加 CAN 端口,在 System Explorer 中,右键单击 NI-XNET » CAN,点击 Add CAN Port
4. 设置 CAN 端口参数
1) XNET CAN port name:要填写在 RT Hardware Configuration 中显示的 Interface Name,
从‘CAN0’开始,没有空格!
50 / 59
NI VeriStand 2010 使用手册
51 / 59
NI VeriStand 2010 使用手册
6. 进行映射匹配,例如将发动机模型计算出的转速信号,以周期发送的方式,通过 CAN0
发送出去。
52 / 59
NI VeriStand 2010 使用手册
1) 打开 System Configuration Mapping
2) 从 Sources 窗口中选择要发送的信息(此处是发动机转速)
3) 从 Destinations 窗口中选择 CAN 端口及定义好的数据帧
4) 点击 Connect 建立映射关系
5) 点击 OK 确认。
53 / 59
NI VeriStand 2010 使用手册
3. 参数设置
1) 在 VISA Resource 中填写 COM1 (RT 处理器只有一个串口,所以用 COM1)
2) Address 和 Baud Rate 要于电源面板显示的一致,默认值为
Address: 6
Baud Rate: 9600
54 / 59
NI VeriStand 2010 使用手册
55 / 59
NI VeriStand 2010 使用手册
6. 退出 Workspace 编辑模式
2) 电源关闭时,不对外输出电压和电流。电源前面板显示 OFF
56 / 59
NI VeriStand 2010 使用手册
6.8. 更改软硬件端口映射
2. 将 HiL 系统的物理硬件与软件模型的输入输出接口映射到一起。
4. 由于删除了控制器模型,会出现无效的映射,选择后点击右下角的 disconnect,解除映
射关系
5. 在 VeriStand 中添加完硬件后,会出现相应的硬件资源列表。例如:发动机模型的负载
扭矩,需要用 dev1 中的模拟输入管脚采集。
6. 前面提到的批量导入端口映射配置的方法,此处依然适用。
57 / 59
NI VeriStand 2010 使用手册
6.9. 更改模型运行设置
58 / 59
NI VeriStand 2010 使用手册
2. VeriStand 中导入的被控对象模型,有些对运算频率要求不高,则可以通过设置分频系数,
降低其运算频率,减少实时系统计算负担。例:如果 Engine 模型 500Hz 的运算频率就可
以满足精度要求,那么可以通过修改分频系数实现。
59 / 59