基于NI VeriStand的AMESIM生成DLL文件实时仿真流程
基于NI VeriStand的AMESIM实时仿真流程
一、环境要求
1.1编译器选择
Amesim生成的dll文件只支持veristand2020及以前的版本进行加载模型。下面以AMESIM 2020与veristand2020版本为例。
(注意!!amesim2020版的编译器必须用Amesim自带的32bit的GNU GCC进行编译)
1.2其它版本兼容性
AMESIM与VeriStand的版本兼容测试结果,如下表所示:
二、创建模型
第一步:首先搭建完成仿真模型,在没有仿真接口的情况下验证模型的正确性。模型无错误后回到草图模型,创建接口选择veristand接口(接口工具栏→创建接口),接口数量根据需求选择,接口名称自定义(这里名称最好不要用空格和非标准符号)。点击确认。
第二步:将模型与VeriStand接口模块连接。这里需要注意接口模块不能有未连接的端口。
三、测量和标定变量的设置
在草图模式下将模型创建好之后,通过子系统模式对模型中所有模块选择子系统。然后进入参数模式。在参数模式下,所有需要在实时仿真过程中进行调整的参数都必须设置成“全局变量”,否则在试验过程中将无法改变。如下图所示:
当全局参数较多的时候,可以通过CTRL或SHIFT进行多选,然后采用数表拖拽的方式放到全局参数变量对话框中。
这里需要注意的是:只有数值型的参数才可以作为全局变量,其他参数类型(下拉菜单/文件路径等)不可以作为全局变量。
把变量设置成观测变量,导入到veristand中可对其值进行显示观测(仿真模式下设置)。
四、仿真参数设置
完成参数设置后,进入仿真模式。如下图所示:
在“运行参数”页中,进行如下设置。
打印间隔:计算结果输出的时间步长。此参数是AMESIM的计算结果与VeriStand进行交互的时间步长。
仿真类型:因为是实时仿真,所以这里必须选择单次运行.
积分器类型:这里的积分求解器形式必须选择定步长求解,即固定步长积分器。
在“固定步长积分器”页中,进行如下设置:
使用的步长:仿真模型的计算步长,这里建议与“打印间隔”设置成一致。
其他参数建议可自行设置。
五、编译设置
仿真参数设置完成之后,选择“写仿真文件”。注意这一步很重要不可以忽略。
该步的目的是将所有参数设置的写入最终实时文件生成的缓存中,以备后续生成实时文件使用。如果不进行该步操作,后续下载到VeriStand中将无法运行。
在仿真模式下选择(接口→生成实时文件)。该步对应生成VeriStand所需的模型下载文件。该操作将导致模型重新编译。
选择veristand接口,然后点击生成会显示一下信息,最后点击关闭。
生成的模型下载文件可以在模型所在目录下找到,命名规则为“模型名称.dll”。
需要注意:在工程目录下有还有一个文件为“模型名称“_.dll”,该文件为AMESIM模型的工程文件,不是给VeriStand用的。这两个文件不要混淆。
六、VeriStand设置
在VeriStand中创建工程,打开veristand2020新建工程,并到AMESIM的工程目录下加载相应的dll模型文件。
在左侧Controller中,将Operating System设置为Pharlap,填写实时机的IP地址。Target Rate设置为和AMESIM中Print interval相对应的频率,此频率为控制器实际计算速率。
在左侧树状结构中选择下载的模型,这里为QuarterCar,确保右侧的Decimation数值1。该数值为模型计算步长与CPU运行步长之间的比例,在没有特殊要求下设为1即可。表示CPU每计算一次,对应模型的一个新输出结果。
两者时间关系如下:
至此设置完成,模型中所有的输入变量都可以在Inports中找到,所有输出变量可以在Outputs通道中找到。两者需要在VeriStand中和硬件板卡对应的I/O通道继续进行关联。模型中所有的标定参数都可以在Parameters中找到,所有的观测变量都可以在Signals中找到。两者需要和面板控件进行关联。
设置完成点击保存,部署下载到实时机中运行。
基于NI VeriStand的AMESIM生成DLL文件实时仿真流程相关推荐
- linux 生成dll文件,Linux和Windows平台 动态库.so和.dll文件的生成
Linux动态库的生成 1. 纯cpp文件打包动态库 将所有cpp文件和所需要的头文件放在同一文件夹,然后执行下面命令 gcc -shared - fpic *.c -o xxx.so: g++ -s ...
- vs2012中程序集生成无法自动在网站Bin目录下生成Dll文件?(已解决!)
最近,突然发现生成程序集后,网站bin目录下dll没有更新,也没有自动生成dll文件,通过近半个小时的摸索和实验,找到了解决方法: 1.右键网站,不是项目,选择[属性页],在左侧[引用]中如果没有,就 ...
- VS2008生成DLL文件的方法、引用dll文件以及意义
一 VS2008生成dll文件的方法 有两种方法: 1:傻瓜式操作 打开VS2008,依次点击:菜单->文件->新建项目->项目类型visual C#(这里假 ...
- c++生成DLL文件(visual studio 2019)面向小白萌新
c++生成DLL文件(visual studio 2019)面向小白萌新 目录 c++生成DLL文件(visual studio 2019)面向小白萌新 前言 如何生成 1.创建dll项目 2.更改我 ...
- vs2019生成dll文件及(C#)使用
vs2019 生成dll文件及使用 一.c++生成dll文件 32位Dll生成 64位dll生成 注意 c#程序dll使用 一.c++生成dll文件 32位Dll生成 打开vs2019,建立c++的d ...
- C++ dll库只生成dll文件,而未生成lib文件的问题
C++ dll库只生成dll文件,而未生成lib文件的问题 逐项检查 逐项检查 新建项目时,选择应用程序类型为dll,并勾选"Export Symbols": 属性->链接器 ...
- [MATLAB]将.m文件生成dll文件
环境:VS2017+MATLAB R2017a ①配置编译环境 在命令行窗口中输入"mbuild -setup"(横线前有一个空格),如果出现如下图所示的提示信息即为成功. 如果提 ...
- 【DLL】clion生成.dll文件、python调用.dll文件
最近为了生成以及调用.dll文件,踩了一些雷,记录如下 目录 1.clion中生成.dll 2.clion中测试生成的.dll文件 3.在python中调用.dll文件 [1]导入.dll [2]ct ...
- ILRuntime(二)整合Hotfix到Unity中,脚本生成dll文件
如果开发的时候按之前的一个Hotfix工程,一个Unity工程,开发会很麻烦.因此我们可以把Hotfix部分的代码放入到Unity当中,并增加一个标记,到时候把这些代码整合成一个dll文件即可. 具体 ...
最新文章
- 零基础自学python的建议-如何从零基础自学Python?
- 二叉查找树(二叉排序树)创建,插入,删除操作。
- 如何用计算机输入数学公式,使用Win7输入面板让数学公式输入更轻松
- linux查看目录分区格式,Linux下查看分区的文件系统类型
- 超 6 万的微软工程师是如何进行代码审查的?| CSDN 博文精选
- 研究所月入两万?见过越上班工资越少的骚操作吗...
- 【原创】大叔经验分享(26)hive通过外部表读写elasticsearch数据
- android studio run的时候一直卡在waiting for debug
- cpu 之二 酷睿i3/i5/i7处理器到底简单区别
- 上海大华条码称代码_上海大华条码秤简易说明书
- ANSYS入门——模态分析步骤与实例详解
- 安骑士主要功能(云盾服务器安全)
- java 旋转方向_Java 旋转PDF页面方向
- 图像压缩编码——香农-凡诺编码与霍夫曼编码
- 数字信号和模拟信号的区别
- QWQ氏计算器中文版(v1.1.1)c++
- 【PIL处理图片】小技巧之画虚线、加粗字体、长文本自动分行(符号处理)
- 微信扫一扫功能扫描二维码调用外部浏览器打开指定页面实现微信中下载APP的功能
- 一文深度学习建模预测全流程(Python)
- 广州签发全国首张微信身份证,AI成主要证明技术