NI VeriStand 2010 使用手册 下载本文

Real-Time Testing and Simulation Software

NI VeriStand 2010使用手册

Document Version 1.0

By 慕慕 316395914

NI VeriStand 2010使用手册

目录

1. 2.

概述 ........................................................................................................................................... 3 创建软件模型 ............................................................................................................................ 4 2.1. 2.2. 3. 4.

创建被控对象模型 ................................................................................................................. 4 创建控制器模型 ..................................................................................................................... 9

创建MIL测试环境 .................................................................................................................. 11 创建测试激励信号 .................................................................................................................. 20 4.1. 4.2.

使用 STIMULUS PROFILE EDITOR .................................................................................................. 20 使用TMDS FILE VIEWER ........................................................................................................... 26

5. VERISTAND高级功能 ............................................................................................................... 28 5.1. 5.2.

使用USER CHANNELS、PROCEDURES、ALARMS ........................................................................... 28 使用CALCULATED CHANNELS ...................................................................................................... 33

6. 创建HIL测试系统 ................................................................................................................... 39 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. 6.8. 6.9.

添加实时目标机 ................................................................................................................... 39 添加NI DAQ设备 .................................................................................................................. 41 添加NI R系列设备 ............................................................................................................... 43 添加NI故障注入模块 .......................................................................................................... 44 添加NI COMPACT RIO 硬件..................................................................................................... 47 添加NI XNET硬件................................................................................................................. 48 添加TDK-LAMBDA可编程电源 .............................................................................................. 53 更改软硬件端口映射 ........................................................................................................... 57 更改模型运行设置 ............................................................................................................... 58

2 / 59

NI VeriStand 2010使用手册

1. 概述

VeriStand 2010是美国 National Instruments公司专门针对HiL仿真测试系统而开发出的软件环境。

VeriStand 2010是一种基于配置的软件环境,它简单易用,无需编程就完成实时测试系统的创建,实现HiL测试中所需的各种功能。NI VeriStand 2010能够配置模拟、数字和基于FPGA的硬件I/O接口;能够配置激励生成、记录数据、计算通道和事件警报;能够从NI LabVIEW和MathWorks Simulink?等建模环境中导入控制算法和仿真模型;能够利用操作界面实时在线监控运行任务并与之交互。

本文档介绍了NI Veristand 2010各项主要功能的使用方法,并按照通用的开发测试顺序编写,主要内容包括:

? 创建软件模型; ? 创建MiL测试系统;

? 实现自动化测试、记录数据; ? 创建HiL测试系统。

3 / 59

NI VeriStand 2010使用手册

2. 创建软件模型

NI VeriStand 2010可以利用*.dll文件导入由Matlab/Simulink/Stateflow创建的算法或仿真模型,下图所示为Simulink模型导入NI VeriStand的过程:

The MathWorks, Inc.Simulink在Simulink环境中创建模型The MathWorks, Inc.Real-Time Workshop利用Matlab RTW, 将Simulink模型编译为C代码Compiler利用VC,将C代码编译为Model_name.dll在NI VeriStand中,直接添加*.dll文件NI VeriStand

注意:NI VeriStand 支持的编译器包括Microsoft Visual C++ 6.0, .NET 2003, 2005 (Professional or Express), or 2008 (Professional or Express).

在本章中具体介绍了上述过程的操作步骤,将一个在Matlab/Simulink环境下创建的 *.mdl文件转换为NI VeriStand所支持的 *.dll文件。

下面用到的仿真模型来自Matlab / Simulink的Demos:

? 发动机Engine模型:Modeling Engine Timing Using Triggered Subsystems ? 控制器ECU模型:Engine Timing Model with Closed Loop Control

2.1. 创建被控对象模型

下面过程将演示如何将Simulink中的发动机Engine模型,转换为VeriStand可用的被控对象模型。

1. 打开Simulink模型: Modeling Engine Timing Using Triggered Subsystem

另存到新建工作目录中,例如 D:\\NIVS_HandsOn,为避免和原有模型冲突,重命名为Engine.mdl

4 / 59

NI VeriStand 2010使用手册

该发动机模型要求的输入信号为 ? Throttle Angle 节气门开度

? Drag Torque 拖拽扭矩(负载扭矩) 输出信号为

? Engine Speed 发动机转速

关于该模型的具体信息,请参考Simulink帮助文档。

5 / 59

NI VeriStand 2010使用手册

运行后结果如下所示,上图为发动机模型所需输入信号,黄色曲线为负载扭矩,紫色曲线为节气门开度;下图中为发动机模型计算的输出信号,黄色曲线为发动机转速。

1) 0~5s,节气门开度不变,负载扭矩在2s时,由25 Nm 下降到20 Nm,发动机转速

因负载扭矩变小而提高;

2) 5s时,节气门开度增加,负载不变时,发动机转速快速升高; 3) 8s时,负载扭矩再次增加,节气门开度不变,转速下降。

2. 正确安装VeriStand后,在Simulink Library Browser 中会自动添加 NI VeriStand Blocks,

如下图所示:

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使用手册

3) 回到Solver页面,选择定步长求解器:fixed step-size ordinary differential equation

(ODE) solver

注意:NI VeriStand只支持使用定步长的常微分方程求解器

4) 指定步长:Fixed-step size (fundamental sample time)为0.001,也就是1kHz

注意:步长越小仿真模型计算越准确,但相应的会消耗更多技术资源。修改完步长后,要再次运行仿真模型,观察结果,既要避免因步长选择过大,出现如无法收敛,计算精度无法满足要求,又要避免过小的步长造成cpu运算负担过大,影响实时性。

5) 点击Incremental Build图标或者Ctrl + B,开始编译

6) 编译成功后,Matlab的Command Windows中出现下列提示,

### Successful completion of Real-Time Workshop build procedure for model: ModelName,

并生成与Engine.mdl同名的Engine.dll文件,保存在新生成的 Engine_niVeriStand_rtw文件夹内。

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

下图中黄色曲线为目标转速(Speed Setpoint),在5s时由2000 rpm跳变为3000 rpm,紫色曲线为实际转速。

9 / 59

NI VeriStand 2010使用手册

1. 分割、修改ECU模型

1) 打开所需的Demo:Engine Timing Model with Closed Loop Control

2) 提取模型中的Controller子模块

3) 添加NIVeriStand In、NIVeriStand Out和NIVeriStandSignalProbe,另存为Ecu.mdl。

修改后的ECU模型如下所示:

2. 设置编译环境并编译,最终生成所需的Ecu.dll文件。具体配置过程请参考发动机模型

转换部分。

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. 2. 新建一个项目(Create a new project).

1) 选择 File ? New Project.

2) 在Project Name中输入项目名称:ecu hil hands on.

3) 指定项目根目录 Project Root Folder 到 \\National

Instruments\\NI VeriStand 2010\\Projects 4) 勾选Create folder for project. 5) 点击OK确认.

3. 点击 Configure Project, 打开项目浏览器Project Explorer.

项目浏览器(Project Explorer) 用于配置测试所需的全部设置。通过Project Explorer可以部署(Deploy)和运行(Run)系统定义文件。项目浏览器包括所有运行和自动化测试所需关键的参数,同时也可以添加定制文件。

11 / 59

NI VeriStand 2010使用手册

4. 展开 System Definition File 节点.

5. 鼠标右键单击 .nivssdf 文件,选择 Launch System Explorer.

系统浏览器 (System Explorer) 用于创建NI Veristand系统定义文件。系统定义文件是一个配置NI Veristand引擎特性的文件。通过添加,删除和修改位于系统浏览器左部的各项配置可以定义各种属性,包括NI VeriStand引擎的执行方式、硬件端口、计算通道、对仿真模型的控制、报警,执行顺序以及管理通道之间的映射关系。完成系统定义文件的设置后,它将被部署到NI VeriStand 引擎并开始运行。

6. 添加发动机Engine模型

1) 展开Targets ? Controller,点击Simulation Models; 2) 添加模型 Add Simulation Model.

12 / 59

NI VeriStand 2010使用手册

3) 将目录转换到Engine.dll所在目录

4) 选择Engine.dll,单击 OK.确认

发动机模型有2个输入 (节气门开度和负载扭矩) 和1个输出(发动机输出)。

7. 添加控制器ECU模型

1) 点击 Simulation Models,添加仿真模型 Add Simulation Model; 2) 选择Ecu.dll,单击 OK 确认。

控制器模型包含2个输入(目标转速rpm和实际转速 rad/s)和1个输出(节气门位置)。目标转速由上位机给定、实际转速来自于发动机模型,ECU计算出的节气门位置再传递给发动机模型。

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使用手册

10. NI VeriStand中也可以实现批量导入导出映射配置文件

1) 在System Mapping的工具条上点击Open.

2) 选择文件映射文件 \\National Instruments\\NI VeriStand

2010\\Projects\\ecu hil hands on\\ecu hil mapping.txt. 3) 点击Import,导入剩余的映射配置到VeriStand中.

4) 点击Exit,所有的映射关系会在Mappings的列表中显示出来

11. 添加标定参数,实现在线标定功能

1) 展开 Models ? Ecu ? Parameters,里面包含了Simulink模型中所有Block的参数 2) 双击 Source窗口中的 Proportional Gain,添加PI控制器的比例系数 3) 双击 Source窗口中的 Integral Gain,添加PI控制器的积分系数

15 / 59

NI VeriStand 2010使用手册

Imported中会出现在Source窗口中双击选定的参数,这些参数可以进行在线的调整参数。

添加完毕后,保存,如果出现下列错误提示。直接选择Continue即可,不会影响后续操作。

12. 在System Explorer的树状节点中选择 Controller

13. 改变目标速率Target Rate 为1000 Hz (1 kHz).

16 / 59

NI VeriStand 2010使用手册

14. 保存并且关闭系统浏览器System Explorer

至此我们已经导入了所需的模型并且将端口映射到了一起,下面就可以将系统定义文件部署到计算机中并开始运行。通过在Workspace中添加相应控件,可以设定发动机目标转速,然后观察控制器是如何通过调整节气门开度,使发动机达到指定转速的。

15. 选择Operate ? Run, 部署和执行系统定义文件

16. 点击Screen ? Screen Properties…从中可以修改页面(screen)名称

1) Name the screen:MIL. 2) 选择 OK.

17. 切换到编辑模式,可以添加控件。选择 Screen ? Edit Mode or CTRL+M.

18. 从左侧的Workspace Controls栏中,拖拽一个图形控件Graph(Simple)

1) 名称Graph Title: Engine Speed 2) 选择通道Channel:

Controller ? Simulation Models ? Models ? Engine ? Outports ? Engine Speed

3) 点击 4) 5) 6) 7)

将Engine Speed添加到Graph中

选择Format & Precision 标签

修改Y轴的显示范围最大值Maximum: 5000 和最小值Minimum: 0 修改Y轴坐标名称scale Label: rpm 修改X轴坐标名称scale label: time

17 / 59

NI VeriStand 2010使用手册

19. 从左侧的Workspace Controls栏中,拖拽一个数字控件Numeric Control (Medium)

? 选择通道Channel: Controller ? Simulation Models ? Models ? Ecu

? Inports ? rpm Setpoint

? 填写控件名称Control Label: rpm Setpoint

20. 从左侧的Workspace Controls栏中,拖拽一个数字控件Numeric Control (Medium)

? 选择通道Channel: Controller ? Simulation Models ? Models ?

Engine ? Inports ? Load Torque

? 填写控件名称Control Label:

Load Torque

21. 退出编辑模式,选择 Screen ? Edit Mode (Ctrl + M).

22. 添加对Engine模型运行的控制,从左侧的Workspace Controls栏中,拖拽一个模型控件

Model (Model Control)

? Model : Controller / Ecu

23. 添加对Ecu模型运行的控制,从左侧的Workspace Controls栏中,拖拽一个模型控件

Model (Model Control)

? Model : Controller / Engine

24. 修改Ecu控制器中的I参数,从左侧的Workspace Controls栏中,拖拽一个模型标定控

件Model Calibration Control (Medium)

? 需要标定的通道名称Calibration:ECU/Controller/Integral Gain/Gain ? 填写控件名称Control Label: I 参数

25. 修改Ecu控制器中的P参数,从左侧的Workspace Controls栏中,拖拽一个模型标定控

件Model Calibration Control (Medium)

? 需要标定的通道名称Calibration: ECU/Controller/Proportional Gain/Gain ? 填写控件名称Control Label: P 参数

18 / 59

NI VeriStand 2010使用手册

26. 至此基本的MiL测试环境创建完成,可以改变目标转速和负载,验证Ecu控制器中的算

法是否满足要求,也就是实际转速能否快速、稳定的跟随目标转速。并能通过修改P、I参数,优化Ecu的控制效果,并确定出最佳数值。

19 / 59

NI VeriStand 2010使用手册

4. 创建测试激励信号

在第3章中我们学习了如何用NI VeriStand 2010的Workspace建立基本的用户界面。在本章中将介绍如何使用Stimulus Profile Editor创建测试激励信号,用于自动化测试。NI VeriStand 中还集成了有许多其他工具,包括警报监控,信号错误管理,TDMS File 观测器等,我们将在后面的章节继续介绍。

4.1. 使用 Stimulus Profile Editor

使用NI VeriStand 2010下的激励信号编辑器 Stimulus Profile Editor可以创建激励信号,常用的如正弦波、方波、三角波、阶跃信号等可直接拖拽、配置。

1. 在Project Explorer浏览器中,右键单击Profiles,选择Add ? New Stimulus Profile…

1) 保存到 \\National Instruments\\NI VeriStand 2010\\Projects\\ecu

hil hands on\\Stimulus Profiles 文件夹

2. Header标签栏用于指定所记录数据的存放位置Data File Path,可设置分组存放文件夹

Group folder和指定测试样本编号Sample Number。

20 / 59

NI VeriStand 2010使用手册

3. 转换到Profile标签栏,现在创建一个profile,用于控制发动机的转速

4. 首先,我们分配发生器1用于给定目标转速Speed Setpoint。

初始化为2000 rpm,保持20s,增加到3000 rpm,保持20s 减少到2500 rpm,保持10s

1) With Generator 1 选择ed (default), 选择 Add Mappings .

21 / 59

NI VeriStand 2010使用手册

2) 选择 Controller ? Simulation Models ? Models ? Ecu ? Inports ? rpm setpoint. 3) 选择 Add ? Ramp 添加一个斜坡函数作为激励.

4) 设置斜坡函数,初始2000:

? End Point: 2000

? Ramp Mode: Fixed Duration ? seconds: 0

22 / 59

NI VeriStand 2010使用手册

5) 选择 Add ? Dwell 并设置,维持20s:

? Duration: 20

6) 选择 Add ? Ramp 并设置,增加到3000:

? End Point: 3000

? Ramp Mode: Fixed Duration ? Duration: 0

7) 选择 Add ? Dwell 并设置,维持20s:

? Duration: 20

8) 选择 Add ? Ramp 并设置,减少到2500:

? End Point: 2500

? Ramp Mode: Fixed Duration ? Duration: 0

9) 选择 Add ? Dwell 并设置,维持10s:

? Duration: 10

我们可以并行的有多个激励发生器。我们要将同时使用Generator 1 和Generator 2 给控制器设定目标转速和负载

5. 我们为Load Torque新建一个发生器。负载初始为25,10s后降低到20,维持20s,之后

再加大到25,并维持20s.

1) 点击 + 按钮,添加第二个 Generator.

2) 选择 Step-based Generator (default),点击OK 3) 选择 Add Mappings .

23 / 59

NI VeriStand 2010使用手册

4) 选择 Controller ? Simulation Models ? Models ? Engine ? Inports ? Load Troque. 5) 选择 Add ? Ramp,设置初始值为25 Nm:

? End Point: 25

? Ramp Mode: Fixed Duration ? Duration: 0

6) 选择 Add ? Dwell,设置持续时间10s:

? Duration: 10

7) 选择 Add ? Ramp,设置减少到20 Nm:

? End Point: 20

? Ramp Mode: Fixed Duration ? Duration: 0

8) 选择 Add ? Dwell,设置持续时间20s:

? Duration: 10

9) 选择 Add ? Ramp,设置增加到25 Nm:

? End Point: 25

? Ramp Mode: Fixed Duration ? Duration: 0

10) 选择 Add ? Dwell,设置持续时间20 s:

? Duration: 20

11) 点击 OK,完成全部激励设置后如下图所示:

24 / 59

NI VeriStand 2010使用手册

6. 选择 Logging标签栏.

7. 点击 + 按钮为记录数据添加一个新文件

8. 配置记录文件

1) 点击browse 按钮,选择记录文件指定保存路径

9. 切换到 Channels 标签栏,选择需要记录的信号: 目标转速rpm setpoint以及模型计算

出的 ’实际转速’ Engine Speed 1) 切换到Channels 标签页. 2) 单击 Add Channels.

3) 选择 Controller ? Simulation Models ? Models ? Ecu ? Inports ? rpm setpoint.

4) 选择 Controller ? Simulation Models ? Models ? Engine? Outports ? Engine Speed. 5) 点击 OK确认.

25 / 59

NI VeriStand 2010使用手册

可以用多个文件分开记录几组不同条件下的激励信号;也可以选择不同的记录速度,分开记录变化比较慢的信号,减少对传输线路和磁盘空间的占用。

10. 保存激励信号,点击Save.

11. 点击Stimulus Profile Editor上的菜单Window ? Full Size, 隐藏编辑界面.

12. 点击Stimulus Profile Editor上的Run按钮, 运行定义好的激励文件

1) 观察发动机转速和负载扭矩的变化

4.2. 使用TMDS File Viewer

1. 当Stimulus Profile运行结束后,可使用TDMS文件浏览器查看所记录的数据

1) 打开TDMS文件浏览器 (TDMS File Viewer)。在workspace的菜单中选择 Tools ?

TDMS File Viewer 2) 单击 File ? Open.

3) 找到创建的记录文件(log file),test_case1 4) 在File Contents选中test_case1.tdms.

5) 选择Analog values (graph) 标签栏,查看整个记录的波形

26 / 59

NI VeriStand 2010使用手册

NI DIAdem 或者 Excel 可以用来检查记录的数据。使用NI DIAdem,可以同时下载多个文件,交互式的自动分析,并且可以配置报告模板。

要使用Excel查看TDMs格式数据,需安装插件,下载地址及使用说明: http://zone.ni.com/devzone/cda/tut/p/id/4906

安装成功后,右键单击TDMs文件,打开方式中选择Excel Importer。

27 / 59

NI VeriStand 2010使用手册

5. Veristand高级功能

在上一章中,我们创建了用于自动化测试的基本激励信号。在这一章中,将先介绍User Channels、Procedures、Alarms的使用方法,随后介绍如何利用Calculated Channels完成更复杂的测试。

5.1. 使用User Channels、Procedures、Alarms

在第三章“创建MiL测试环境”中,我们直接使用了Work Space中的model control控件,控制仿真模型的运行、暂停、重启。本节中将使用User Channels,Procedures和Alarms为模型添加一个Reset按钮,同时对Ecu和Engine模型进行控制。

实现思路:创建一个Alarm通道“Reset has been pressed”,它用来监测User Channel “Reset MIL”。当这个User Channel执行后,Alarm通道会发现并触发Procedure “Reset MiL”。

1. 创建User Channels通道

1) 在System Explorer中,展开Controller节点,单击User Channels 2) 添加Add User Channel

? ? ?

Name: Reset MiL

Description: Press this button to reset the Ecu and the Engine Initial value: 0.

28 / 59

NI VeriStand 2010使用手册

2. 创建Alarms通道,监测 User Channels

1) 在System Explorer中,展开Controller节点,单击Alarms

2) 添加 Add Alarm

? ? ? ? ?

Name: Reset has been pressed

Channel: User Channels/Reset MiL,点击OK确认 Alarm Upper Limit: Cosntant Value 0 Alarm Lower Limit: Cosntant Value 0 Alarm Action: 此处暂时不选

29 / 59

NI VeriStand 2010使用手册

3. 创建Procedures通道,指定Reset按钮按下后的系统行为

1) 添加 Add Procedure

? Name:Reset MiL

2) 添加停止 Add ? Set Multiple Variables

? Name: Stop Ecu and Engine ? Number of Channels to Set: 2

? Channel 1: Controller ? Simulations Models ? Models ? Ecu ? Execution ?

Model Command ? Value 1: 2

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

4) 开始运行 Add ? Set Multiple Variables ? Name: Start Ecu and Engine ? Number of Channels to Set: 2

? Channel 1: Controller ? Simulations Models ? Models ? Ecu ? Execution ? Model

Command ? Value 1: 0

? Channel 2: Controller ? Simulations Models ? Models ? Engine ? Execution ?

Model Command ? Value 2: 0

5) 弹起Reset按钮 Add ? Set Variable

? Name: Pop Up Button

? Channel to Set: Controller/User Channels/Reset MiL ? Value 1: 勾选 Use Constant Value 0

6) Add ? Alarm Command

31 / 59

NI VeriStand 2010使用手册

? ? ?

Name: Acknowledge Alarm

Function: Reset Alarm & Exit Subroutine Alarm: Reset has been pressed

7) 点击 Controller ? Alarms ? Reset has been pressed

? Alarm Action:选择Procedures/Reset MiL ? Priorit: Low

? Default State: Enabled ? Delay Duration (sec): 0.000 ? Mode: Normal

4. 保存系统定义文件,Deploy后,在workspace中添加布尔量控件,映射到User Channel

? Reset MiL。当单击此按钮时Reset MiL = 1,超出了Alarm通道所规定的阀值0,Procedures被Alarm触发,Engine模型和Ecu模型先停止、再运行,完成重新启动过程后,Reset MiL = 0,按钮复位。

32 / 59

NI VeriStand 2010使用手册

5.2. 使用Calculated Channels

测试Ecu算法时,希望当发动机在某点运行稳定后,再自动进入下一工况点。这就要求测试系统能检测出过渡工况何时结束,在本节中我们将利用 Calculated Channels 实现该功能。

1. 创建Calculated Channels通道,为实现功能我们需要创建6个计算通道。

1) 在System Explorer中,展开Controller节点,单击Calculated Channels

2. 创建通道 ”Rpm Low Bound”,使用Formula模式,设置如下图所示

33 / 59

NI VeriStand 2010使用手册

3. 创建通道 “Rpm High Bound”,使用Formula模式,设置如下图所示

34 / 59

NI VeriStand 2010使用手册

4. 创建通道 ”Rpm > Low Bound”,使用Conditional模式,设置如下图所示

当发动机模型计算出的Engine Speed大于通道 ”Rpm Low Bound” 的值时,返回常值1,否则为0

5. 创建通道 ”Rpm < High Bound”,使用Conditional模式,设置如下图所示

当发动机模型计算出的Engine Speed小于通道 ”Rpm High Bound” 的值时,返回常值1,否则为0。

35 / 59

NI VeriStand 2010使用手册

6. 创建通道 ”Rpm within Range”,使用Conditional模式,设置如下图所示

当通道 ”Rpm > Low Bound” 和 “Rpm < High Bound” 同时成立时,”Rpm within Range” 通道返回值为1,否则为0

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. 添加实时目标机

1. 打开Measurement and Automation Explorer (简称 MAX),它可以提供HiL系统中所包含

的硬件信息。

Start ? All Programs ? National Instruments ? Measurement and Automation Explorer.

2. 点击远程系统 (Remote Systems) 下的PXI RT Target,

1) 在”网络设置” 中,记下IPv4地址(IP address).

2) 如果搜索不到远程系统,请首先确认Host PC的IP地址设置是否正确,之后在

Measurement and Automation Explorer 中选择 查看 刷新

39 / 59

NI VeriStand 2010使用手册

?

Host PC的IP地址应与RT Target在同一子网段内,例如:

3. 打开VeriStand 2010的系统浏览器 (System Explorer)

1) 单击Controller 节点。

2) 选择Operating System为PharLap。

注意:如选择Windows,则VeriStand引擎会部署到Host PC中,选择PharLap对应的是PXI RT Target,选择VxWorks对应的是cRIO系列Target。

3) 将MAX中显示的IPv4地址填写到 IP Address中

40 / 59

NI VeriStand 2010使用手册

4. 保存并且关闭系统浏览器(System Explorer).

5. 从菜单中选择Operate ? Run,这样系统定义文件就会被部署到RT Target当中。

6.2. 添加NI DAQ设备

NI DAQ设备包括M系列多功能采集卡、计数器/计时器卡、模拟输入输出板卡以及数字I/O板卡。

1. 在MAX中确认要添加的板卡名称

例:下图中PXI-6225采集卡的名称为 dev1

2. 在VeriStand 2010 的Syetem Explorer中,展开Chassis节点,单击Add DAQ Device.

3. 在弹出窗口 ”Create DAQ Device” 中设置所需的I/O资源。

1) 例:对于M系列的多功能采集卡PXI 6225

? Type:MIO ? Name:dev1

? 注意:名称一定要与MAX软件中的一致,否则无法识别硬件!

? AI、AO、DI、DO、CTR(计数器)的数量可根据实际需要及板卡最大支持数量

进行设置

41 / 59

NI VeriStand 2010使用手册

2) 对于数字板卡或计数器板卡,需要在Type的下拉菜单中选择DIO或CTR。

4. 点击OK确认后,在DAQ节点下会显示新添加的设备,并且硬件通道按类型进行了分

组。

5. 单击某个通道,在右侧窗口内修改相关参数。

42 / 59

NI VeriStand 2010使用手册

6.3. 添加NI R系列设备

NI的R系列设备板载有FPGA芯片,因此也称作FPGA板卡。在HiL台架中装有2块PXI-7842R 板卡,下面将说明如何将其添加到VeriStand 2010环境中。

1. 在Syetem Explorer中,右键单击Chassis,选择”Add FPGA Target”,或者点击快捷按钮

2. 在弹出的对话框内选择与所安装的FPGA型号一致的fpgaconfig文件

43 / 59

NI VeriStand 2010使用手册

3. 确定后,在FPGA节点下出现所有可用的FPGA资源

6.4. 添加NI故障注入模块

HiL测试台架中装有3种故障注入模块,分别是PXI-2510,PXI-2512和PXI-2514,下面以PXI-2512为例,说明如何在VeriStand环境下集成。

1. 故障注入模块FIU属于Custom Devices

44 / 59

NI VeriStand 2010使用手册

2. 右键单击 Custom Devices,选择系统安装的FIU模块PXI-2510,PXI-2512,PXI-2514,在

弹出对话框中填写FIU设备名称(名称与在MAX显示的一致!)

3. 关闭并且保存System Explorer,部署到RT Target中

4. 打开Workspace,选择编辑模式(菜单Screen ? Edit Mode或者使用快捷键Ctrl+m)

5. 将Workspace Controls中的FIU Control控件(Channel、Fault Bus)拖拽到编辑区中

6. 右键单击控件,在弹出的Select Desired Channel中选择需要控制的故障通道,单击OK

确认。

45 / 59

NI VeriStand 2010使用手册

7. 每个故障注入通道Fault Ch可有6种状态

8. 特别的,因为PXI-2510与PXI-2512、PXI-2514硬件结构不同,它有4条故障总线 (a0~3,

b0~3),所以需要专用的控件Fault Bus对其控制。

46 / 59

NI VeriStand 2010使用手册

9. Fault Ch中的Default值在添加FIU硬件时可以单独设置。

6.5. 添加NI Compact RIO 硬件

HiL测试台架中装有cRIO系列采集模块9269和9205,他们分别安装在2个9144机箱中,9144机箱采用EtherCAT与PXI机箱连接。

1. EtherCAT属于Custom Devices

2. 在System Explorer中,右键单击Custom Devices,选择Scan Engine and EtherCAT

3. 自动搜索添加,选择Auto-Detect EtherCAT,即可将系统连接的所有cRIO设备识别并添

加到Syetem Explorer中。

47 / 59

NI VeriStand 2010使用手册

4. 手动添加

1) 选择 Add EtherCAT Master,Slave 0会自动添加到列表中

2) 因为HiL系统装有2个9144机箱,需要再添加一个EtherCAT Slave

3) 逐一的指定每个Slot中所安装的Module型号,完成添加

6.6. 添加NI XNET硬件

HiL测试系统中装有 CAN (PXI-8513/2),LIN (PXI-8516/2) 以及 FlexRay (PXI-8517/2) 通信板卡。他们都属于NI XNET设备。下面以添加CAN端口为例,介绍添加流程。

48 / 59

NI VeriStand 2010使用手册

1. 添加数据库,右键单击XNET database,选择Add Database

2. 修改数据库,右键单击刚添加的数据库,选择Launch XNET Database Editor

1) XNET Database Editor可以修改CAN数据库中报文的定义 2) Timing Type 中有周期发送,和事件触发发送两种类型。

如选择周期发送(Cyclic Data),Transmit Time 为发送间隔,但注意此处不能为0,否则无数据发送。

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