Simulink代码生成: Switch模块及其代码

news2024/11/18 15:52:14

本文描述Switch模块的建模并研究生成的代码。

文章目录

  • 1 Simulink中的Switch模块
  • 2 Switch模块建模及代码生成
  • 3 Switch模块其他用法
    • 3.1 多重Switch
    • 3.2 通过标定量Switch
  • 4 总结

1 Simulink中的Switch模块

在Simulink中Switch模块时非常常见的,通常用于根据一定地条件选择信号进行输出,类似于C语言中的if-else语句。

Switch模块如下:
在这里插入图片描述
左侧有三个信号输入端口,其中中间的那个是条件端口。如果条件为真,则输出上路信号,反之则输出下路。

另外还有个MultiSwitch模块,其效果类似,只是能够切换多种输入。
在这里插入图片描述

本文就以Switch模块为例研究用法。

2 Switch模块建模及代码生成

本文就以Switch模块进行一个简单的建模。例如,CAN信号传来车速,车速低于30kph时判断车辆为低速,否则为高速。

1)首先拖出一个Switch模块,双击进入属性,将判断条件改成u2 ~ = 0;
在这里插入图片描述
这一步操作是遵循《MAAB规范》主工的 jc_0141: Use of the Switch block。该规范要求第二个端口(条件)必须是该信号不等于0,不能是大于或小于0。

2)然后把判断条件建模为车速小于30kph,Port1为LowSpeed的宏定义,Port3为HighSpeed的宏定义,如下:
在这里插入图片描述
模型比较容易理解,即VehSpd小于30时,输出LowSpeed,否则输出HighSpeed。

3)配置Embedded Coder并生成代码如下:
在这里插入图片描述
生成的代码用了一段if-else语句,其中if中的条件就是判断车速大小。

3 Switch模块其他用法

3.1 多重Switch

在Switch模块的port3可以接入其他Switch模块的输出,形成一连串Switch,例如下图:
在这里插入图片描述
车速小于30,对应LowSpeed;车速介于30~60,对应MiddleSpeed;否则车速大于60,对应HighSpeed;

生成代码如下:
在这里插入图片描述

3.2 通过标定量Switch

汽车实车测试的时候,经常通过标定量切换信号来调试。假设ADAS软件通过当前道路环境,在一系列复杂算法后得出应该向发动机请求一个扭矩(即图中的TorqueRequest)。当SwitchFlag标定为1时,将软件算出的请求值发给Engine,然后发动机进行响应。如果将SwitchTorque标定为一个工程师想要的一个自定义的数值,再将SwitchFlag标定为0,就可以发出自定义的一个扭矩请求,从而不依赖算法去调试车辆的性能。
在这里插入图片描述

4 总结

在Simulink中Switch模块比较简单也比较常用,需要掌握好它的用法。

>>返回个人博客总目录

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python学习笔记(十九)——Matplotlib入门上

目录 Matplotlib简介 导入matplotlib模块 图的参数说明 matplotlib图像组成部分介绍 matplotlib绘图步骤分析 matplotlib实现简单图像 matplotlib画布 画布-plt.figure() 实例 同一画布制作多张图像 创建多个子图 实例 plt.subplots 相关参数 调整subplot周围的间距…

使用HGS算法调整PD控制器增益的无人机动态性能数据——基于启发式的无人机路径跟踪优化(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【Sentinel 预热加载】

系列文章目录 Sentinel 预热加载 目录 系列文章目录 前言 一、概念解释? 二、使用步骤 1.引入库 2.dashboard 配置 总结 前言 一、概念解释? Warm Up:根据coldFactor(冷加载因子,默认3)的值,从…

有了 HTTP,为什么还要 RPC?

RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!下面来具体说一说RPC服务和HTTP服务。 OSI网络七层模型 在说RPC和…

Android HIDL和hwservicemanager

HIDL软件包 HIDL 接口软件包位于 hardware/interfaces 或 vendor/ 目录下(个别情况除外)。顶层 hardware/interfaces 会直接映射到 android.hardware 软件包命名空间;版本是软件包(而不是接口)命名空间下的子目录。 h…

ALPHA项目的测试电机、性能信息和动态推力近似值数据库(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 按照电机试验的完整性,可以将电机试验分为型式试验、单项目或部分项目试验等;其中型式试验包括产品的性…

【深入浅出Spring原理及实战】「开发实战系列」SpringSecurity与JWT实现权限管控以及登录认证指南

SpringSecurity介绍 SpringSecurity是一个用于Java 企业级应用程序的安全框架,主要包含用户认证和用户授权两个方面,相比较Shiro而言,Security功能更加的强大,它可以很容易地扩展以满足更多安全控制方面的需求,但也相…

刷爆力扣之重复叠加字符串匹配

刷爆力扣之重复叠加字符串匹配 HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照不同类别标签进行刷题&…

leetcode10---动态规划

题目地址leetcode10 本题的解题思路 题目中的匹配是一个逐步匹配的过程,我们每次从字符串p中取一个字符出来,有两种可能,一种是取出来字母字符或者‘.’,另外一种是取出来[字符‘*’]组合,他可以在s中匹配任意自然数个…

Vulnhub靶机:LAMPSECURITY_ CTF5

目录介绍信息收集主机发现主机信息探测网站探测敏感信息泄露挂马提权敏感信息收集提权成功介绍 系列:LAMPSecurity(此系列共5台) 发布日期:2009年5月10日 难度:初 运行环境:VMware Workstation 目标&#…

Canvas学习记录

Canvas学习基本用法1.首先得有canvas元素2.获取渲染上下文3.检查浏览器支持性4.例子绘制图形1.矩形2. 绘制路径3. 移动笔触4. 绘制直线5. 圆弧二次贝塞尔曲线与三次贝塞尔曲线Path2D 对象创建Path2D对象Path2D.addPath()使用样式和颜色色彩Colors透明度 Transparency线型 Line …

oracle DML与DDL

一、数据库语言介绍 DML(数据库操作语言):其中包括 insert/delete/update/select等操作。 DDL(数据库定义语言):其中包括create/alter/drop等操作。 区别:1、DDL是针对数据库对象(例如&#…

【安全学习】apache通告中的漏洞描述

分析 漏洞描述 我们可以看看在apache通告中对漏洞的简单的描述 很明显,从这个漏洞描述中,我们能够明白这个CVE的造成主要是因为dubbo中内置的hessian项目,主要是因为在中的及以前版本中存在有这个漏洞hessian-lite3.2.12 来看看是因为哪里…

3. 请求

1. 请求映射路径 RequestMapping注解 名称:RequestMapping类型:方法注解 类注解位置:SpringMVC控制器方法定义上方作用:设置当前控制器方法请求访问路径,如果设置在类上统一设置当前控制器方法请求访问路径前缀范例 …

Matter理论介绍-通用-1-03:桥接器-数据结构

【源码、文档、软件、硬件、技术交流、技术支持,入口见文末】 【所有相关IDE、SDK和例程源码均可从群文件免费获取,免安装,解压即用】 持续更新中,欢迎关注! 一、简介 Bridge(桥接器)存在的意…

springboot集成webstock实战:服务端数据推送数据到客户端实现实时刷新

背景 之前介绍过springboot集成webstock方式,具体参考: springboot集成websocket实战:站内消息实时推送 这里补充另外一个使用webstock的场景,方便其他同学理解和使用,废话不多说了,直接开始!简单介绍一下业务场景: 现在有一个投票活动,活动详情中会显示投票活动的参与人数…

【代码随想录】二刷-贪心算法

贪心算法 《代码随想录》 什么是贪心? 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 贪心没有规定的套路。 刷题或面试的时候,手动模拟一下感觉可以局部最优退出整体最优,而且想不到反例,那么就试一试贪心。…

Python游戏开发之Dungeon Crawler 游戏源码大全

源码一 功能: WASD 移动 SPACE 攻击 SHIFT 使用楼梯 介绍 每个级别都包含一把钥匙和一个上锁的舱口。收集钥匙以解锁通往下一层的通道(SHIFT解锁)。 史莱姆造成的伤害最小,但每一层都会产生更多。他们可以降低健康或 XP。更多 XP = 每次攻击造成更多伤害。硬币目前没有…

OpenCV 读取、显示和保存图像

目录 一、OpenCV 读取图像 OpenCV 读取函数 参数: 二、OpenCV 显示图像 imshow函数 imshow函数功能 imshow函数原型 三、OpenCV 保存图像 四、结果和代码 一、OpenCV 读取图像 OpenCV 允许我们对图像执行多种操作,但要做到这一点,需…

云原生之使用Docker部署Python应用

云原生之使用Docker部署Python应用一、检查系统版本1.检查系统 版本2.检查系统内核二、检查docker状态三、编辑python文件1.创建目录2.编辑test.py文件四、构建镜像1.编辑dockerfile文件2.使用dockerfile构建镜像五、运行镜像容器1.运行python_app容器2.查看容器状态六、访问Py…