Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
为了模拟某些过程,我在获得自定义模块的预定义工作顺序时遇到问题。
我如何确定例如B座和C座开始工作之前必须完成A座? 问题是,某些模块将在另一些模块之后工作,而另一些则不会。我必须承认,我对Simulink的经验不足,无法按时进行操作(尽管可以使用simulink的基本知识)。 例如,应实现此方案: A -> B, C -> D, E, F 最主要的是,所有块AF彼此之间没有逻辑关联,它们都做几件事。我的目的是在A完成之后使B和C开始工作。 B和C完成之后的D / E / F。在这种情况下,单词“ parallel”是错误的单词,因此不必真正地并行计算。只要确保这符合预定的稳定顺序即可。 编辑:我的新想法是使用matlab工作区als缓冲区,因此我的块A可以将其结果推送到工作区(通过“到工作区”块)。但是现在我必须确保,块B和C可以读取A的结果(带有“从工作区”),然后A将其信息推送到工作区...如何执行此操作? Edit2:这是一个屏幕截图,应该使您的思路更加清晰: ![]() 如果您能帮助我解决我的问题,那就太好了。 问候,poeschlorn 回答: 因此,在您的示例中,如果您将块A和B和C都用同一根导线连接,则当块A完成时,块B和C将并行工作。 编辑:我使用与您相同的块,但是它对我有用。我认为您正在使事情复杂化。设置块优先级的方式与Simulink在没有它们的情况下运行块的方式没有什么不同。在下面,您可以在两个二进制显示器上看到我的设置和输出。 ![]() 您在第一次运行时看到的错误是由于Simulink在执行第一步时才创建变量。 Simulink构建模拟时,会看到未创建用作工作空间输入的变量。 更多&回答... |
![]() |
![]() |