simulink bus总线创建方法

2023-05-16

在simulink中创建bus总线,主要包含2种方法:

基于模块创建总线对象

使用模块,根据输入信号创建总线

基于 MATLAB 数据创建总线对象

可以使用 Simulink.Bus.cellToObject 函数,基于 MATLAB 中的总线元胞数组信息创建总线对象。每个元胞子元胞数组代表一个总线对象,并包括反映 Simulink.Bus 对象属性的以下数据:

{BusName,HeaderFile,Description,DataScope,Alignment,Elements}

Elements 字段是为每个 Simulink.BusElement 对象定义以下属性的元胞数组:

{ElementName,Dimensions,DataType,SampleTime,Complexity,DimensionsMode,Min,Max,Units,Description}

其中FirmamentPilot开源MBD飞控工程便是采用基于MATLAB数据创建总线对象,如控制器输出PWM的bus代码如下:

function cellInfo = control_bus(varargin) 
% CONTROL_BUS returns a cell array containing bus object information 
% 
% Optional Input: 'false' will suppress a call to Simulink.Bus.cellToObject 
%                 when the MATLAB file is executed. 
% The order of bus element attributes is as follows:
%   ElementName, Dimensions, DataType, SampleTime, Complexity, SamplingMode, DimensionsMode, Min, Max, DocUnits, Description

suppressObject = false; 
if nargin == 1 && islogical(varargin{1}) && varargin{1} == false 
    suppressObject = true; 
elseif nargin > 1 
    error('Invalid input argument(s) encountered'); 
end

cellInfo = { ... 
  { ... 
    'Control_Out_Bus', ... 
    '', ... 
    '', ... 
    'Auto', ... 
    '-1', {... 
{'timestamp', 1, 'uint32', -1, 'real', 'Sample', 'Fixed', [], [], sprintf('ms'), ''}; ...
{'actuator_cmd', 16, 'uint16', -1, 'real', 'Sample', 'Fixed', [], [], '', ''}; ...
    } ...
  } ...
}';

if ~suppressObject 
    % Create bus objects in the MATLAB base workspace 
    Simulink.Bus.cellToObject(cellInfo) 
end

项目源码地址:https://github.com/FirmamentPilot

使用.m文件进行分模块管理总线,在自动代码生成时方便生成各总线对应的头文件,但需进行总线m文件和启动加载m文件的编写,下篇推文介绍使用bus editor与data dictionary进行总线的创建管理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

simulink bus总线创建方法 的相关文章

  • simulink bus总线创建方法

    在simulink中创建bus总线 xff0c 主要包含2种方法 xff1a 基于模块创建总线对象 使用模块 xff0c 根据输入信号创建总线 基于 MATLAB 数据创建总线对象 可以使用 Simulink Bus cellToObjec
  • linux-kernel, bus总线数据结构分析

    设备模型中的三大组件是 xff1a 总线 xff0c 驱动 xff0c 设备 bus driver device 数据结构总览 总线除了一些物理总线的抽象 xff0c 还代表一些虚拟的总线 xff0c 如platform xff0c 所以在
  • 1699_simulink代码生成配置初级方案

    全部学习汇总 xff1a GreyZhang g matlab MATLAB once used to be my daily tool After many years when I go back and read my old lea
  • 在MATLAB中,用Simulink搭建一个二阶传递函数模型

    文章目录 1 模型准备 二阶传递函数模型 1 1 二阶传递函数模型 1 1 1 时域模型 1 1 2 频域模型 1 2 二阶传递函数公式和参数 2 开始建模 在simulink中搭建二阶传递函数模型 2 1 从simulink库中添加传递函
  • Google-Guava-EventBus源码解读

    Guava是Google开源的一个Java基础类库 它在Google内部被广泛使用 Guava提供了很多功能模块比如 集合 并发库 缓存等 EventBus是其中的一个module 本篇结合EventBus源码来谈谈它的设计与实现 概要 首
  • Simulink如何添加模块到Library Browser

    文章目录 一 新建Library 1 创建空的Library模块 2 编辑Library 二 添加到Library Browser 1 添加Library的脚本命令 2 新建脚本文件 3 导入Library模块 提示 以下是本篇文章正文内容
  • 单相Boost功率因数校正电路(PFC)设计与仿真(Simulink & Saber):第一章 PFC基础知识与电路参数设计

    写在前面 教程是根据Mathworks公司的有源功率因数校正教程 点这里跳转 和那日沙等老师编著的 电力电子 电机控制系统的建模及仿真 改写的 设计思路基本与之一致 嫌看文章麻烦的同学可以直接跳转看视频和查阅相关书籍 Simulink仿真部
  • Spring Cloud Bus消息总线

    目录 一 概述简介 1 1 Bus是什么 1 2 Bus能干嘛 1 3 为何被称为总线 二 RabbitMQ环境配置 2 1 windows下载与安装 2 2 使用RabbitMQ 三 Bus动态刷新全局广播 3 1 Bus设计思想 3 2
  • simulink电力电子仿真(2)单相桥式半控整流电路实验

    simulink电力电子仿真 2 单相桥式半控整流电路实验 返回目录 主要是赶上了疫情 然后期末要疯狂补实验报告 就索性写一下吧 万一以后再做电力电路仿真 可能会有用的 也希望可以帮助别人 器件的选择及位置 MATLAB的版本 2018a
  • 均匀辐照度和局部遮光条件下光伏系统的新型样条-MPPT技术(Simulink)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Simulink仿真 Matlab代码 文献 1 概述 文献 光伏 PV
  • simulink半桥逆变电路仿真

    逆变是将直流变为脉冲方波信号 电压是100V的 第一幅为原始直流信号 第二幅是逆变电流 第三幅是逆变电压 参数设置 图3 RC1 图4 RC 图5 晶闸管 图6 脉冲信号的参数
  • 感应(异步)电机磁场定向控制电流环PI控制参数设计

    电机控制系列文章 感应 异步 电机磁场定向控制MATLAB Simulink建模 感应 异步 电机磁场定向控制速度环PI控制参数设计 目录 电机控制系列文章 前言 一 并联型PI与串联型PI 二 被控对象模型 三 电流环闭环传递函数 四 电
  • 如何将 simulink 文件转换为 XML

    我需要将 Simulink 文件 mdl 转换为 XML 文件 经过任何搜索后 我没有找到任何内容来帮助我解决此问题 您知道 Java 中的某种方法或现成的解决方案吗 从 R2008b 开始 您可以使用以下命令将 mdl 文件导出到 xml
  • 如何将数据从 Simulink 模块获取到 MATLAB GUI?

    我有一个 Simulink 模型 该模型使用嵌入式 MATLAB 函数作为模块 但我无法弄清楚如何在嵌入式 MATLAB 模块和 GUI 之间实时 即模型运行时 移动数据 我尝试在模型中实现 到工作区 块 但我不知道如何正确使用它 有谁知道
  • 您能解释一下这个嵌入式 MATLAB 函数错误吗?

    我在将值从 GUI 发送到 Simulink 模型中的嵌入式 MATLAB 函数 EMF 时遇到问题 我从 GUI 中的滑块获取该值 并将其发送到模型中的 EMF 块 我可以确认该值已从 GUI 正确传输到 Simulink 模块 因为我可
  • Simulink - 每 30 秒输出 1,否则输出 0

    我需要一个需要每隔 30 秒或略超过 30 秒输出 1 的子系统 用matlab代码编写它应该像这样工作 function y fcn time uplinkTimeInterval codegen persistent lastTrigg
  • 如何获取嵌入式 MATLAB 函数的内容

    我的 Simulink 模型中有一些嵌入式 MATLAB 函数 有没有办法获取此块的内容 您在编辑器中看到的文本 我的第一个猜测是使用 find system 获取嵌入式 MATLAB 函数 然后使用 get param 获取内容 但我没有
  • 将 Matlab Simulink 模型保存为带有紧密边界框的 PDF

    给定一个 Simulink 框图 模型 我想生成一个 屏幕截图 以便稍后在 LaTeX 文档中使用 我希望这个屏幕截图是带有紧密边框的 PDF 矢量图形 gt pdflatex 我的意思是图表周围没有不必要的空白 我搜索了网络 搜索了 st
  • 将直流电机添加到 Simscape 多体旋转关节

    我有以下直流电机模型和 2 轮机器人的 Simscape 多体模型 DC Motor with Torque Output Simscape Multibody Model of my Robot 我想控制机器人的速度 Simscape 多
  • 从 Python 访问/调用 Simulink

    我想在 Simulink 中对系统进行建模 然后从 python 程序访问该模拟以为其提供新的条件或输入 我知道有一个模块允许您从 Python 访问 Matlab 引擎 但这有点不同 我想要一个在 Simulink 中建模的系统 并使用

随机推荐