1、NIVeriStand使用手册概述建模创建MiL环境只是分享NI VeriStand 使用手册(概述|建模|创建MiL环境)目录1. 概述 32. 创建软件模型 42.1. 创建被控对象模型 42.2. 创建控制器模型 93. 创建MIL测试环境 114. 创建测试激励信号 204.1. 使用 STIMULUS PROFILE EDITOR 204.2. 使用TMDS FILE VIEWER 265. VERISTAND高级功能 285.1. 使用USER CHANNELS、PROCEDURES、ALARMS 285.2. 使用CALCULATED CHANNELS 336. 创建HIL测试系
2、统 396.1. 添加实时目标机 396.2. 添加NI DAQ设备 416.3. 添加NI R系列设备 436.4. 添加NI故障注入模块 446.5. 添加NI COMPACT RIO 硬件 476.6. 添加NI XNET硬件 486.7. 添加TDK-LAMBDA可编程电源 536.8. 更改软硬件端口映射 576.9. 更改模型运行设置 581. 概述VeriStand是美国 National Instruments公司专门针对HiL仿真测试系统而开发出的软件环境。VeriStand 是一种基于配置的软件环境,它简单易用,无需编程就完成实时测试系统的创建,实现HiL测试中所需的各种功
3、能。NI VeriStand能够配置模拟、数字和基于FPGA的硬件I/O接口;能够配置激励生成、记录数据、计算通道和事件警报;能够从NI LabVIEW和MathWorks Simulink等建模环境中导入控制算法和仿真模型;能够利用操作界面实时在线监控运行任务并与之交互。 本文介绍了NI Veristand 各项主要功能的使用方法,并按照通用的开发测试顺序编写,主要内容包括: 创建软件模型; 创建测试系统; 实现自动化测试、记录数据; 创建测试系统。2. 创建软件模型NI VeriStand可以利用*.dll文件导入由Matlab/Simulink/Stateflow创建的算法或仿真模型,下
4、图所示为Simulink模型导入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 Engin
5、e Timing Using Triggered Subsystems 控制器ECU模型:Engine Timing Model with Closed Loop Control2.1. 创建被控对象模型下面过程将演示如何将Simulink中的发动机Engine模型,转换为VeriStand可用的被控对象模型。1. 打开Simulink模型: Modeling Engine Timing Using Triggered Subsystem另存到新建工作目录中,例如 D:NIVS_HandsOn,为避免和原有模型冲突,重命名为Engine.mdl该发动机模型要求的输入信号为 Throttle A
6、ngle 节气门开度 Drag Torque 拖拽扭矩(负载扭矩)输出信号为 Engine Speed 发动机转速关于该模型的具体信息,请参考Simulink帮助文档。运行后结果如下所示,上图为发动机模型所需输入信号,黄色曲线为负载扭矩,紫色曲线为节气门开度;下图中为发动机模型计算的输出信号,黄色曲线为发动机转速。1) 05s,节气门开度不变,负载扭矩在2s时,由25 Nm 下降到20 Nm,发动机转速因负载扭矩变小而提高;2) 5s时,节气门开度增加,负载不变时,发动机转速快速升高;3) 8s时,负载扭矩再次增加,节气门开度不变,转速下降。2. 正确安装VeriStand后,在Simulin
7、k Library Browser 中会自动添加 NI VeriStand Blocks,如下图所示:3. 修改模型1) 将模型中需要做映射的端口,用相应的NIVeriStand In 和NIVeriStand Out 替代;2) 在Simulink模型最上层中添加Block NIVeriStandSignalProbe,添加后下层所有模块的参数也都可以通过VeriStand观测或者修改;3) 取消原Simulink模型中Signal Properties下有关data logging的选项。4) 完成修改后的发动机模型如下所示:4. 设置编译环境并编译1) 打开Simulink模型的Conf
8、iguration Parameters (快捷键:Ctrl+E),2) 在Real-Time Workshop中,指定System target file为NIVeriStand.tlc,点击OK确认。注意:如果实时目标机为cRIO系列,此处要选择NIVeriStand_VxWorks.tlc3) 回到Solver页面,选择定步长求解器:fixed step-size ordinary differential equation (ODE) solver注意:NI VeriStand只支持使用定步长的常微分方程求解器4) 指定步长:Fixed-step size (fundamental s
9、ample 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,并生成
10、与Engine.mdl同名的Engine.dll文件,保存在新生成的 Engine_niVeriStand_rtw文件夹内。2.2. 创建控制器模型在Simulink提供的Demo Engine Timing Model with Closed Loop Control中包含了控制器ECU的算法。我们需要把其中的控制器(Controller)算法从闭环模型中分割出来,建立单独的ECU模型,并编译为对应的 *.dll文件。Controller采用PI控制算法,可根据目标发动机转速,结合发动机模型中的负载扭矩,计算出节气门开度,最终使发动机实际转速与目标转速一致。下图中黄色曲线为发动机负载曲线,紫
11、色曲线为控制器输出的节气门开度1) 2s时,由25 Nm变为20 Nm2) 8s时,由20 Nm变为25 Nm1. 分割、修改ECU模型1) 打开所需的Demo:Engine Timing Model with Closed Loop Control2) 提取模型中的Controller子模块3) 添加NIVeriStand In、NIVeriStand Out和NIVeriStandSignalProbe,另存为Ecu.mdl。2. 设置编译环境并编译,最终生成所需的Ecu.dll文件。具体配置过程请参考发动机模型转换部分。3. 创建MiL测试准备好了Engine和Ecu的软件模型,在本章中
12、,将其导入到NI VeriStand 中,创建一个MiL (Model-in-the-Loop) 测试环境,并介绍如何在Work Space中添加控件,控制和观察Engine、Ecu的行为。1. 运行 NI VeriStandStart Program Files National Instruments NI VeriStand NI VeriStand.2. 新建一个项目(Create a new project).1) 选择 File New Project.2) 在Project Name中输入项目名称:ecu hil hands on.3) 指定项目根目录 Project Root
13、Folder 到 National InstrumentsNI VeriStandProjects4) 勾选Create folder for project.5) 点击OK确认.3. 点击 Configure Project, 打开项目浏览器Project Explorer.项目浏览器(Project Explorer) 用于配置测试所需的全部设置。通过Project Explorer可以部署(Deploy)和运行(Run)系统定义文件。项目浏览器包括所有运行和自动化测试所需关键的参数,同时也可以添加定制文件。4. 展开 System Definition File 节点.5. 鼠标右键单击
14、 .nivssdf 文件,选择 Launch System Explorer.系统浏览器 (System Explorer) 用于创建NI Veristand系统定义文件。系统定义文件是一个配置NI Veristand引擎特性的文件。通过添加,删除和修改位于系统浏览器左部的各项配置可以定义各种属性,包括NI VeriStand引擎的执行方式、硬件端口、计算通道、对仿真模型的控制、报警,执行顺序以及管理通道之间的映射关系。完成系统定义文件的设置后,它将被部署到NI VeriStand 引擎并开始运行。6. 添加发动机Engine模型1) 展开Targets Controller,点击Simula
15、tion Models;2) 添加模型 Add Simulation Model.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计算出的节气门位置再传递给发动机
16、模型。8. 调整发动机模型和控制器模型的运行顺序1) 在System Explorer左侧的树状结构中选择Execution Order;2) 将发动机模型的色条由Group1拖到Group29. 现在需要将发动机和控制器模型的输入输出端口映射到一起1) 从菜单中选择Tools Edit Mappings2) 从Sources 来源窗口中选择Simulation Models Models Ecu Outports throttle angle setpoint3) 从Destinations目标窗口中选择Simulation Models Models Engine Inports Thro
17、ttle Angle.4) 点击Connect,完成两个信号的相互映射10. NI VeriStand中也可以实现批量导入导出映射配置文件1) 在System Mapping的工具条上点击Open.2) 选择文件映射文件 National InstrumentsNI VeriStandProjectsecu hil hands onecu hil mapping.txt. 3) 点击Import,导入剩余的映射配置到VeriStand中.4) 点击Exit,所有的映射关系会在Mappings的列表中显示出来11. 添加标定参数,实现在线标定功能1) 展开 Models Ecu Paramete
18、rs,里面包含了Simulink模型中所有Block的参数2) 双击 Source窗口中的 Proportional Gain,添加PI控制器的比例系数3) 双击 Source窗口中的 Integral Gain,添加PI控制器的积分系数Imported中会出现在Source窗口中双击选定的参数,这些参数可以进行在线的调整参数。添加完毕后,保存,如果出现下列错误提示。直接选择Continue即可,不会影响后续操作。12. 在System Explorer的树状节点中选择 Controller13. 改变目标速率Target Rate 为1000 Hz (1 kHz).(一)DIY手工艺品的“多
19、样化”14. 保存并且关闭系统浏览器System Explorer加拿大公司就是根据年轻女性要充分展现自己个性的需求,将世界各地的珠类饰品汇集于“碧芝自制饰品店”内,由消费者自选、自组、自制,这样就能在每个消费者亲手制作、充分发挥她们的艺术想像力的基础上,创作出作品,达到展现个性的效果至此我们已经导入了所需的模型并且将端口映射到了一起,下面就可以将系统定义文件部署到计算机中并开始运行。通过在Workspace中添加相应控件,可以设定发动机目标转速,然后观察控制器是如何通过调整节气门开度,使发动机达到指定转速的。15. 选择Operate Run, 部署和执行系统定义文件在上海, 随着轨道交通的
20、发展,地铁商铺应运而生,并且在重要商圈已经形成一定的气候,投资经营地铁商铺逐渐为一大热门。在人民广场地下的迪美购物中心,有一家DIY自制饰品店-“碧芝自制饰品店”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 Speed2) 选择通道Ch
21、annel: Controller Simulation Models Models Engine Outports Engine Speed3) 点击 将Engine Speed添加到Graph中4) 选择Format & Precision 标签5) 修改Y轴的显示范围最大值Maximum: 5000 和最小值Minimum: 06) 修改Y轴坐标名称scale Label: rpm7) 修改X轴坐标名称scale label: time19. 从左侧的Workspace Controls栏中,拖拽一个数字控件Numeric Control (Medium) 选择通道Channel: Co
22、ntroller Simulation Models Models Ecu Inports rpm Setpoint 填写控件名称Control Label: rpm Setpoint大学生个性化消费增多是一种趋势。当前社会、经济飞速发展,各种新的消费品不断增多,流行文化时尚飞速变化,处于校园与社会两者之间的大学生肯定会受影响。目前在大学校园,电脑、手机、CD、MP3、录音笔被称为大学生的“五件武器”。除了实用,这也是一种 表明自己生活优越的炫耀性的东西。现下很大一部分大学生中的“负债消费”表现的典型的超前享乐和及时行乐其消费项目多半是用于奢侈浪费的非必要生活消耗。如举办生日宴会、打网球、保龄
23、球、上舞厅跳舞、进夜总会唱“卡拉”等。“负债消费”使很多学生耽于物欲,发展严重者轻则引起经济纠纷,动武斗殴,影响同窗友谊,重则引发犯罪事件,于社会治安不利。20. 从左侧的Workspace Controls栏中,拖拽一个数字控件Numeric Control (Medium) 选择通道Channel: Controller Simulation Models Models Engine Inports Load Torque 填写控件名称Control Label: Load Torque4、宏观营销环境分析21. 退出编辑模式,选择 Screen Edit Mode (Ctrl + M).
24、 (2) 文化优势22. 添加对Engine模型运行的控制,从左侧的Workspace Controls栏中,拖拽一个模型控件Model (Model Control) Model : Controller / Ecu公司还组织各国的“芝自制饰品店”定期进行作品交流,体现东方女性聪慧的作品曾在其他国家大受欢迎;同样,自各国作品也曾无数次启发过中国姑娘们的灵感,这里更是创作的源泉。23. 添加对Ecu模型运行的控制,从左侧的Workspace Controls栏中,拖拽一个模型控件Model (Model Control) Model : Controller / Engine上海市劳动和社会保
25、障局所辖的“促进就业基金”,还专门为大学生创业提供担保,贷款最高上限达到万元。24. 修改Ecu控制器中的I参数,从左侧的Workspace Controls栏中,拖拽一个模型标定控件Model Calibration Control (Medium) 需要标定的通道名称Calibration:ECU/Controller/Integral Gain/Gain 填写控件名称Control Label: I 参数虽然调查显示我们的创意计划有很大的发展空间,但是各种如“漂亮女生”和“碧芝”等连锁饰品店在不久的将来将对我们的创意小屋会产生很大的威胁。25. 修改Ecu控制器中的P参数,从左侧的Wor
26、kspace Controls栏中,拖拽一个模型标定控件Model Calibration Control (Medium) 需要标定的通道名称Calibration: ECU/Controller/Proportional Gain/Gain 填写控件名称Control Label: P 参数因为是连锁店,老板的“野心”是开到便利店那样随处可见。所以办了积分卡,方便女孩子到任何一家“漂亮女生”购物,以求便宜再便宜。26. 至此基本的MiL测试环境创建完成,可以改变目标转速和负载,验证Ecu控制器中的算法是否满足要求,也就是实际转速能否快速、稳定的跟随目标转速。并能通过修改P、I参数,优化Ecu的控制效果,并确定出最佳数值。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1