首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Support。

现在进入环境安装环节。

1.首先查看Simulink与Veristand、操作系统的环境兼容性,确认使用的Veristand与Simulink的最低版本。

VeriStand Model Generation Support and MathWorks Simulink® Compatibility - NI

分别查看Windows和Linux RT控制器兼容的Veristand和Simulink版本。

2. 查看NI软硬件与操作系统兼容性。此部分是确认LabVIEW、操作系统与各板卡之间的兼容性,从而确认出LabVIEW软件与驱动的最低版本,最后匹配为Veirstand的相同版本即可。

NI软硬件与操作系统兼容性 - NI

3.FPGA板卡较为特殊,需要查看对应的编译器版本,最后最后匹配为Veirstand的相同版本即可。

Xilinx编译工具和NI FPGA硬件之间的兼容性 - NI

4. 查看当前控制器是否支持Linux RT系统。

已存档:实时控制器与实时操作系统之间的兼容性 - NI

5. LabVIEW 或者说是控制器装 32bit 还是 64bit区分主要也是FPGA 板卡这有区别。默认情况是装32bit肯定都是可以的,如果要用64bit的那就需要检查FPGA板卡能否被64bit的工具包编译。

使用64位LabVIEW FPGA模块支持的FPGA终端 - NI

 同时需要在LabVIEW FPGA Module的Readme里确认是否支持该板卡。

LabVIEW FPGA模块 Release Notes - NI

6.由上述内容即可确认好,需要安装的环境位数(32bit/64bit),安装的LabVIEW、Veristand、Simulink版本。

注意:LabVIEW与Veirstand版本号一致。

 7.开始安装软件。

如果不确认最低使用版本,2022Q3以上应该是可以兼容。

注意:安装软件之前确认电脑有足够的安装空间;关闭所有杀毒软件;没有其他版本的NI系列软件。

1)先安装Mathworks公司的Matlab同时勾选安装Simulink。

2)再安装配套NI软件,用于管理PXI平台的组件。安装顺序一般为:

        a)LabVIEW

        b)  LabVIEW Real Time Module

        c)PXI Platform Services

        也可以直接使用Bundle安装,这样就不用考虑安装顺序。

        然后开始安装Veristand Bundle,注意不要勾选Veristand Model Framework,已经安装的卸载掉使用NI Package Manager。

        同时安装当前拥有板卡的驱动,参考步骤2的兼容性链接查询。

3)重启电脑,激活安装的软件。

4)打开Matlab的附加功能,如果有老版本的Veristand Model Framework卸载掉通过附加功能管理器。

查看Veristand Model Generation Support与Simulink、Veristand的兼容性。

https://www.mathworks.com/matlabcentral/fileexchange/106420-veristand-model-generation-support

同时下载对应的历史版本进行安装。

 

5) 安装MATLAB MinGW Compiler for 64-bit Windows编译器。如果不对Veristand的windows终端进行编译可以直接跳过此步。

 6)安装Linux RT的模型编译器。版本与Veristand版本相同即可。

下载GNU C & C++ Compile Tools x64 - NI

7)环境安装完成,重启电脑。

8.Simulink Linux RT编译步骤。

1)新建一个文件夹用于存放模型文件及编译文件。

2)Matlab打开并进入此文件夹,打开Simulink,创建一个新模型,并保存。

3) 打开库浏览器,搜索Veristand。该位置与老版本的有改动。

 

 

4)随便写个代码。

 

5)打开Simulink Coder。

 

开始配置模型及编译工具,点设置。

停止时间改为inf(避免模型在一定时间后意外停止);

求解器类型改为定步长;

求解器可自动选择或者离散;

定步长(基础采样时间)可根据实时系统性能设置,这里设为0.001;

 

应用并确定。

6)开始编译。 

同时可以调出编译窗口进行查看。

对应so文件路径。

9.Windows编译步骤,windows编译只是有一点设置不一样,流程大体上是一致的。

 

 

 

10.编译不成功故障排除步骤。

1)删除Matlab的编译文件或对代码进行参数调参以后再进行编译。

2)LinuxRT遇到编译器无法执行则需要在NI Package Manager里卸载掉编译器重新安装,搜索toolchain全部卸载。卸载完重启电脑再搜索toolchain重新安装重启电脑即可。

  

10.Veirstand导入模型步骤。

1)打开Veristand新建一个空白项目。

2)在映射图中打开Software面板并拖放Simulation Model模块.

3) 在映射图中放置Simulation Model模块将自动打开一个文件对话框,您将使用该对话框来导航和选择先前生成的.vsmodel文件。

11.旧版本代码迁移至Veristand Model Generation Support

从VeriStand Model Framework迁移至VeriStand Model Generation Support 24.3 - NI

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/85999.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/85999.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/85999.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVC与MVP设计模式对比详解

MVC(Model-View-Controller)和MVP(Model-View-Presenter)是两种广泛使用的分层架构模式,核心目标是解耦业务逻辑、数据和界面,提升代码可维护性和可测试性。以下是它们的对比详解: MVC 模式&…

Node.js 项目调试指南

Node.js 项目调试指南 🧭 一、调试工具和方式总览 方式难度场景说明console.log 调试★简单问题定位最常见,但效率低debug 模块★★模块化输出日志支持命名空间的调试日志VSCode 断点调试★★★跟踪函数调用、变量状态推荐使用node inspect / ndb★★★…

Spring Boot 启动流程及配置类解析原理

Spring Boot 是一个基于 Spring 框架的开源框架,旨在简化 Spring 应用的配置和部署。通过提供约定优于配置的原则,Spring Boot 大大降低了 Java 企业级应用的开发复杂度。本文将详细介绍 Spring Boot 的启动流程及其配置类的解析原理,帮助开发…

Flask 核心概念速览:路由、请求、响应与蓝图

一、路由参数与请求方法 Flask 路由允许定义多种参数类型,并通过 methods 属性限制请求方法。 1. 路由参数类型: 除了默认的 string,Flask 还支持: int: 匹配整数,自动转换为 Python int 类型。非数字输入会返回 404。 float: 匹配浮点数,自动转换为 Python float 类型…

Beckhoff(倍福)PLC 顺控程序转换条件解读

一、请求机器人上件步 二、程序代码解释:1、程序代码1: 1、程序代码: fbVar_TonDelay2(IN : (bInPartPresentLeft AND bInPartPresentRight), PT : T#100MS);(* Go to the next step *) stVar_SEQ.bTOK : stVar_SEQ.bRELEASE AND(stGV_SYS_ELEMENTS.ar…

KITTI数据集(计算机视觉和自动驾驶领域)

KITTI(Karlsruhe Institute of Technology and Toyota Technological Institute at Chicago)数据集是计算机视觉和自动驾驶领域中最广泛使用的基准数据集之一。它由德国卡尔斯鲁厄理工学院和美国芝加哥丰田技术研究所联合发布,旨在推动自动驾…

echarts在uniapp中使用安卓真机运行时无法显示的问题

文章目录 一、实现效果二、话不多说,上源码 前言:我们在uniapp中开发的时候,开发的时候很正常,echarts的图形在h5页面上也是很正常的,但是当我们打包成安卓app或者使用安卓真机运行的时候,图形根本就没有渲…

C#使用MindFusion.Diagramming框架绘制流程图(1):基础类型

MindFusion.Diagramming框架 在C#中使用MindFusion.Diagramming.dll库来创建图表和图形界面,可以让你构建出丰富和交互式的图形应用。MindFusion.Diagramming 是一个强大的库,支持创建各种类型的图表,例如流程图、网络图、组织结构图等。 M…

LangChain【6】之输出解析器:结构化LLM响应的关键工具

文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器?1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…

Spring Boot项目中JSON解析库的深度解析与应用实践

在现代Web开发中,JSON(JavaScript Object Notation)作为轻量级的数据交换格式,已成为前后端通信的核心桥梁。Spring Boot作为Java生态中最流行的微服务框架,提供了对多种JSON库的无缝集成支持。本文将深入探讨Spring B…

OPenCV CUDA模块光流------高效地执行光流估计的类BroxOpticalFlow

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::cuda::BroxOpticalFlow 是 OpenCV CUDA 模块中实现Brox光流算法的类。该类用于在 GPU 上高效地计算两帧图像之间的稠密光流(Dens…

视觉分析在人员行为属性检测中的应用

基于视觉分析的人员行为属性检测方案 一、背景与需求分析 在工业生产、建筑施工、公共安全等领域,人员行为属性的合规性检测是保障安全生产的关键环节。例如,工地工人未佩戴安全帽、厨房人员未佩戴手套、作业现场人员使用手机等行为,均可能…

Linux--进程的程序替换

问题导入: 前面我们知道了,fork之后,子进程会继承父进程的代码和“数据”(写实拷贝)。 那么如果我们需要子进程完全去完成一个自己的程序怎么办呢? 进程的程序替换来完成这个功能! 1.替换原理…

场景题-3

如何实现一个消息队列 拆解分析主流的几种消息队列 1、基本架构 生产者Producer、消费者Consumer、Broker:生产者发送消息,消费者接受消息,Broker是服务端,处理消息的存储、备份、删除和消费关系的维护。 主题和分区&#xff…

vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死

今天在运行项目时,发现如下问题: 开始以为是node_modules依赖的问题,于是重新 npm install,重启项目后还是未解决。 在网上找了一圈发现有人说是 require引入图片地址没有写。在我的项目中排查没有这个问题,最后发现某…

73 LV的使用(XFS文件系统)

四 LV的使用 先创建一个LV01 lvcreate -L 10G lv01 datavg Logical volume "lv01" created. 将创建出来的LV01进行格式化 mkfs.xxx LV的名称(绝对路径) 绝对路径的组成:/dev/你创建VG的名字/LV的名字 mkfs.xfs /dev/datavg/lv01 挂载你的LV…

mybatis中判断等于字符串的条件怎么写

mybatis中判断等于字符串的条件怎么写_mybatis 等于字符串-CSDN博客 因为mybatis映射文件,是使用的ognl表达式,ognl是java语言(强类型语言),会把‘X’解析成字符,而不是字符串。 所以比较字符串相等使用是…

C语言实现绝对值差值函数

在C语言中&#xff0c;可以编写一个函数来计算两个数的差值的绝对值。以下是一个简单的实现&#xff1a; #include <stdio.h> #include <stdlib.h> // 用于abs函数&#xff08;如果需要&#xff09; // 方法1&#xff1a;使用标准库函数 int absoluteDifference1…

Three.js中AR实现详解并详细介绍基于图像标记模式AR生成的详细步骤

文档地址 Three.js中AR实现详解 以下是Three.js中实现AR功能的详细解析&#xff0c;涵盖技术原理、实现步骤、核心组件及优化策略&#xff1a; &#x1f9e9; 一、技术基础 AR.js框架的核心作用 AR.js是Three.js实现AR的基石&#xff0c;提供以下核心能力&#xff1a; 多模…

Vue3.5 企业级管理系统实战(二十三):权限指令

在实际应用场景中&#xff0c;常常需要依据用户角色对按钮的操作权限实施控制。实现这一控制主要有两种方式&#xff1a;一种是借助前端指令基于角色进行权限管控&#xff0c;另一种是通过后台返回对应的权限属性来实现精细化控制。本文聚焦于前端权限指令展开探讨。 1 权限指…