matlab/simulink中的执行顺序问题
2024-09-08 15:58:24
关于在simulink中开发一些硬件环境模型,有时候会碰到一些模块的执行先后顺序问题。比如说在一个通过UDP发送指令命令给客户端,要求发送的指令有先后的时间顺序,只有在前一条命令发送完以后,才可以进行下一条的命令发送。这时候会有一个问题,simulink是一个图形化的开发平台,他不像C、C++、JAVA那样是代码开发,它的模型开发过程中,没有一个执行的先后过程。在同一个模型下,所有在同一级的模块都默认是同时执行的(当然,执行过程中,由于运算的快慢,有的模块会抢先执行)。在代码开发程序执行过程中,总是按照源文件文本的先后顺序,从上到下执行代码,即代码源程序是默认时间执行顺序的。
那么,为了能够在simulink中顺序执行模块,我有两种思路:
第一种:根据模块的优先级顺序执行
在simulink中,每个模块都可以为其分配一个优先级,该优先级是一个从0开始的整数,优先级越低,其会先执行。这样可以保证执行顺序。
做法:在要分配执行优先级的模块上,右键单击,选择block property,在priority(优先级)中填写定义的优先级值。
注意:该优先级只在存在优先级值的模块之间发挥作用,对于没有优先级值的模块,不能保证有优先级值的模块运行一定比没有优先级值的模块快。
第二种:为每一个模块设置一个使能开关,只有当达到预定的值的时候,才让指定模块使能
可以利用变量分配模块,分配一个变量,专门用来指定哪一个模块执行。当一个模块执行完后,让该变量加1,达到下一个使能预定值,以进行下一个的指定模块运行,并同时禁用其他模块。
最新文章
- as3 中文转拼音
- [译]针对科学数据处理的统计学习教程(scikit-learn教程2)
- Beginning Android 4 中 Demo Basic/Switch 的问题.
- 数据库 基础篇2(mysql)
- java获取classpath文件路径空格转变成了转义字符%20的问题
- myeclipse6.5中使用Alt+/不自动提示的修改
- OpenStack 计算节点删除
- 升级IOS 9 和 XCode 7 引起的问题
- IOS 作业项目(4)步步完成 画图 程序(问题处理)终结
- Eclipse导入jre方法
- keil uVision4的安装以及KEIL_Lic.exe的注冊
- U11认识与学习bash
- 转:【Java集合源码剖析】LinkedHashmap源码剖析
- 大数据Hadoop学习之搭建Hadoop平台(2.1)
- SQL Server中是否可以准确获取最后一次索引重建的时间?
- (后端)出现org.hibernate.NonUniqueResultException的原因即解决办法
- MT【221】几个常用的多元恒等式
- JPA原理与实践、多数据源配置
- 你应该学会使用的5个ruby方法
- Numpy 利用数组进行数据处理