关于在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. Rocky8.6软raid

    .tdi_3.td-a-rec { text-align: center } .tdi_3 .td-element-style { z-index: -1 } .tdi_3.td-a-rec-img ...

  2. win10家庭版vmwarework启动蓝屏

    最终升级到vmwarework16.2.5解决 据说17支持win11 再出问题直接上vm17了

  3. Flutter中的路由 路由替换 返回到根路由

    一.Flutter 中返回到上一级页面 Navigator.of(context).pop(); 二.Flutter 中替换路由 比如我们从用户中心页面跳转到了 registerFirst 页面,然后 ...

  4. CORE8051-APB总线

    1 APB总线 core8051s内核支持APB3总线,APB writebuffer 为{XWB3, XWB2, XWB1, ACC}; 写访问 对FC00以上地址写值,即表示APB写操作,值为(X ...

  5. imputation-综述文章:关于网络推理的scRNA序列插补工具基准突出了高稀疏性水平下的性能缺陷

    文章题目: Benchmarking scRNA-seq imputation tools with respect to network inference highlights 中文题目: 关于网 ...

  6. drf从入门到飞升仙界 07

    认证组件 ## 认证组件逻辑 # 1.登录认证的限制: - 访问接口,有的需要登陆后才能访问,有的接口,不登录就能访问 # 2.准备: -User表 : 存储用户名,密码 -UserToken表:存储 ...

  7. 钉钉-E应用开发初体验(企业内部应用)

    首先要创建应用,如何创建参考 https://open-doc.dingtalk.com/microapp/bgb96b/gt5d6a 下载 钉钉E应用服务端demo   git clone http ...

  8. js 获取标签属性值

    有时候需要获取标签里属性里的值,可以采用以下方法: demo: <a href="/admin/article/${id}" onclick="return del ...

  9. laravel 内置auth()登录

    auth()命令 auth()->attempt()        登录验证 auth()->check        判断是否登录,有没有session缓存 auth()->log ...

  10. Windows本地文件上传到Linux服务器(腾讯云)

    环境 本地 操作系统:Window 10 企业版LTSC;内存:8GB;操作类型:64位. 服务器 CentOS 8(1核2GB,1Mbps) 64位 ,已安装Docker(CentOS 8 的doc ...