关于在simulink中开发一些硬件环境模型,有时候会碰到一些模块的执行先后顺序问题。比如说在一个通过UDP发送指令命令给客户端,要求发送的指令有先后的时间顺序,只有在前一条命令发送完以后,才可以进行下一条的命令发送。这时候会有一个问题,simulink是一个图形化的开发平台,他不像C、C++、JAVA那样是代码开发,它的模型开发过程中,没有一个执行的先后过程。在同一个模型下,所有在同一级的模块都默认是同时执行的(当然,执行过程中,由于运算的快慢,有的模块会抢先执行)。在代码开发程序执行过程中,总是按照源文件文本的先后顺序,从上到下执行代码,即代码源程序是默认时间执行顺序的。

那么,为了能够在simulink中顺序执行模块,我有两种思路:

第一种:根据模块的优先级顺序执行

在simulink中,每个模块都可以为其分配一个优先级,该优先级是一个从0开始的整数,优先级越低,其会先执行。这样可以保证执行顺序。

做法:在要分配执行优先级的模块上,右键单击,选择block property,在priority(优先级)中填写定义的优先级值。

注意:该优先级只在存在优先级值的模块之间发挥作用,对于没有优先级值的模块,不能保证有优先级值的模块运行一定比没有优先级值的模块快。

第二种:为每一个模块设置一个使能开关,只有当达到预定的值的时候,才让指定模块使能

可以利用变量分配模块,分配一个变量,专门用来指定哪一个模块执行。当一个模块执行完后,让该变量加1,达到下一个使能预定值,以进行下一个的指定模块运行,并同时禁用其他模块。

matlab/simulink中的执行顺序问题的更多相关文章

  1. Unity脚本在层级面板中的执行顺序测试3

    断断续续的写了3篇,以后有时间可以做成一个系列了 前面2篇测试了GameObject的顺序,以及Awake和OnEnable的时机: Unity脚本在层级面板中的执行顺序测试1 http://www. ...

  2. Unity脚本在层级面板中的执行顺序测试4-附加整理

    测试4为一些附加内容,后续的各种tips都加在此. 前几篇测试的链接: Unity脚本在层级面板中的执行顺序测试1 http://www.cnblogs.com/hont/p/4298110.html ...

  3. 【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang)

    [分析]浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang) 今天无意中看到有关Invoke和BeginInvoke的一些资料,不太清楚它们之间 ...

  4. Promise对象及它在js中的执行顺序

    关于Promise对象的学习及它的执行顺序 学习阮一峰老师的ES6入门后的记录 1.promise的定义 promise是一个对象,通常包裹着一个异步操作,promise对象提供一些接口的方法,返回一 ...

  5. JavaScript在页面中的执行顺序(理解声明式函数与赋值式函数) 转载

    JavaScript在页面中的执行顺序 https://blog.csdn.net/superhoy/article/details/52946277 2016年10月27日 15:38:52 阅读数 ...

  6. Unity脚本在层级面板中的执行顺序测试1

    第二篇测试循环时和动态创建时的调用顺序:LINK 测试版本Unity4.6.因为新版本对Transform的排序做了改变,所以不排除旧版本的测试结果不一样.测试时,使用Awake中添加Debug.lo ...

  7. Unity脚本在层级面板中的执行顺序测试2

    上一篇测试了生成顺序对执行顺序的影响,链接:LINK 执行顺序测试3: LINK 这篇主要测试一下Awake,OnEnable,Start三个常用消息的循环顺序 1.测试消息循环顺序 先上一个最简单的 ...

  8. Mysql中关键词执行顺序

    MySQL的语句执行顺序 MySQL的语句一共分为11步,最先执行的总是FROM操作,最后执行的是LIMIT操作.其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对 ...

  9. java中代码执行顺序

    静态代码块 -- >构造代码块 --> 构造方法静态代码块:只执行一次构造代码块:每次调用构造方法都执行 http://blog.csdn.net/wuhaiwei002/article/ ...

  10. Java 基础:继承中的执行顺序

    1.单独的父类测试 Java中,new一个类的对象,类里面的静态代码块.非静态代码.无参构造方法.有参构造方法.类的一般方法等部分, 它们的执行顺序相对来说比较简单,用程序也很容易验证. 比如新建一个 ...

随机推荐

  1. TPM 2.0 - could not load "libtss2-tcti-tabrmd.so.0"

    报错: TPM 2.0 - could not load "libtss2-tcti-tabrmd.so.0" 解决:sudo apt install libtss2-tcti-t ...

  2. css动画-滚动通知

    使用动画 <div class="horNotice"> <div class="horMove"> <span>累计87例 ...

  3. linux-添加磁盘-MBR分区-挂载

    [root@localhost ~]# lsblk 查看当前磁盘 [root@localhost ~]# fdisk /dev/sdb 磁盘分区 所有的硬件都在/dev下面存放 欢迎使用 fdisk ...

  4. Qt6以上安装速度慢解决-国内镜像加速

    1.安装抓包软件Fiddler最新版本 Fiddler30天试用 2.在软件下方输入栏内粘贴以下命令 urlreplace download.qt.io mirrors.tuna.tsinghua.e ...

  5. (jmeter笔记)jmeter远程启用服务器(分布式)

    1.在负载机上安装jmeter,修改jmeter\bin\jmeter.properties配置: 1)server.rmi.ssl.disable=false 改 server.rmi.ssl.di ...

  6. Knowledge Fusion例子

    #! NX/KF 5.0 # #************************************************************************************ ...

  7. 05 RDD练习:词频统计

    一.词频统计: 1.读文本文件生成RDD lines 2.将一行一行的文本分割成单词 words flatmap() 3.全部转换为小写 lower() 4.去掉长度小于3的单词 filter() 5 ...

  8. centos7的mysql主从

    互为主从关闭两台虚拟机的防火墙1.yum -y install mariadb-server mariadb2.Systemctl start mariadb3.进入配置文件:vi /etc/my.c ...

  9. GraalVM & Spring Boot初体验

    前言 这两天封在家里,一直在琢磨想去把这个博客项目改成微服务的形式.不过就目前而言我的服务器内存放好几个Java进程是吃不消的,原因在于一个独立的JVM所占用的内存资源太吃内存.不过在云原生时代,使用 ...

  10. Linux挂载tf卡空间

    https://blog.csdn.net/cao849861802/article/details/126039190