NI - VeriStand使用手册

更新时间:2024-04-19 04:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Real-Time Testing and SimulationSoftware

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测试环境 .................................................................................................................. 12 创建测试激励信号 .................................................................................................................. 21 4.1. 4.2.

使用 STIMULUS PROFILE EDITOR .................................................................................................. 21 使用TMDS FILE VIEWER ........................................................................................................... 27

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

使用USER CHANNELS、PROCEDURES、ALARMS ........................................................................... 29 使用CALCULATED CHANNELS ...................................................................................................... 34

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

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

2 / 60

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 / 60

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 / 60

NI VeriStand 2010使用手册

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

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

? Engine Speed发动机转速

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

5 / 60

NI VeriStand 2010使用手册

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

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

因负载扭矩变小而提高;

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

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

如下图所示:

6 / 60

NI VeriStand 2010使用手册

3. 修改模型

1) 将模型中需要做映射的端口,用相应的NIVeriStand In和NIVeriStand Out替代; 2) 在Simulink模型最上层中添加BlockNIVeriStandSignalProbe,添加后下层所有模块

的参数也都可以通过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 / 60

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 / 60

NI VeriStand 2010使用手册

2.2. 创建控制器模型

在Simulink提供的DemoEngine 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 / 60

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 / 60

NI VeriStand 2010使用手册

11 / 60

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)系统定义文件。项目浏览器包括所有运行和自动化测试所需关键的参数,同时也可以添加定制文件。

12 / 60

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.

13 / 60

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

14 / 60

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,完成两个信号的相互映射

15 / 60

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控制器的积分系数

16 / 60

NI VeriStand 2010使用手册

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

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

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

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

17 / 60

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

18 / 60

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:

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

Load Torque

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 参数

19 / 60

NI VeriStand 2010使用手册

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

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

20 / 60

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。

21 / 60

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 .

22 / 60

NI VeriStand 2010使用手册

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

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

? End Point: 2000

? Ramp Mode: Fixed Duration ? seconds: 0

23 / 60

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 .

24 / 60

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,完成全部激励设置后如下图所示:

25 / 60

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 ? rpmsetpoint.

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

26 / 60

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)标签栏,查看整个记录的波形

27 / 60

NI VeriStand 2010使用手册

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

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

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

28 / 60

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.

29 / 60

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: 此处暂时不选

30 / 60

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

31 / 60

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

32 / 60

NI VeriStand 2010使用手册

? ? ?

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

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

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

Name: Acknowledge Alarm

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

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

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

33 / 60

NI VeriStand 2010使用手册

5.2. 使用Calculated Channels

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

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

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

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

34 / 60

NI VeriStand 2010使用手册

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

35 / 60

NI VeriStand 2010使用手册

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

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

5. 创建通道”Rpm

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

36 / 60

NI VeriStand 2010使用手册

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

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

37 / 60

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,自动进入下一个工况点。

38 / 60

NI VeriStand 2010使用手册

9. 运行新的激励信号,结果如下所示

39 / 60

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中选择查看刷新

40 / 60

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中

41 / 60

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(计数器)的数量可根据实际需要及板卡最大支持数量

进行设置

42 / 60

NI VeriStand 2010使用手册

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

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

组。

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

43 / 60

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文件

44 / 60

NI VeriStand 2010使用手册

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

6.4. 添加NI故障注入模块

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

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

45 / 60

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

确认。

46 / 60

NI VeriStand 2010使用手册

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

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

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

47 / 60

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中。

48 / 60

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端口为例,介绍添加流程。

49 / 60

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,否则无数据发送。

50 / 60

本文来源:https://www.bwwdw.com/article/91fp.html

Top