![]() |
Simulink:同步和计时
为了模拟某些过程,我在获得自定义模块的预定义工作顺序时遇到问题。
我如何确定例如B座和C座开始工作之前必须完成A座? 问题是,某些模块将在另一些模块之后工作,而另一些则不会。我必须承认,我对Simulink的经验不足,无法按时进行操作(尽管可以使用simulink的基本知识)。 例如,应实现此方案: A -> B, C -> D, E, F 最主要的是,所有块AF彼此之间没有逻辑关联,它们都做几件事。我的目的是在A完成之后使B和C开始工作。 B和C完成之后的D / E / F。在这种情况下,单词“ parallel”是错误的单词,因此不必真正地并行计算。只要确保这符合预定的稳定顺序即可。 [B]编辑:[/B]我的新想法是使用matlab工作区als缓冲区,因此我的块A可以将其结果推送到工作区(通过“到工作区”块)。但是现在我必须确保,块B和C可以读取A的结果(带有“从工作区”),然后A将其信息推送到工作区...如何执行此操作? [B]Edit2:[/B]这是一个屏幕截图,应该使您的思路更加清晰: [URL="https://i.stack.imgur.com/Y4qEC.jpg"][IMG]https://i.stack.imgur.com/Y4qEC.jpg[/IMG][/URL]正如“排序顺序”文档中提到的那样,设置似乎可以(包括子系统时序)。但是不幸的是问题仍然存在。变量“ simin”是在工作空间中加载的,然后才被写入:(如您所见,显示屏显示“ 1”,这是不应该的。在模拟的第一次运行中,我得到了一个例外,即“ simin”不存在。 如果您能帮助我解决我的问题,那就太好了。 问候,poeschlorn [B]回答:[/B] 因此,在您的示例中,如果您将块A和B和C都用同一根导线连接,则当块A完成时,块B和C将并行工作。 编辑:我使用与您相同的块,但是它对我有用。我认为您正在使事情复杂化。设置块优先级的方式与Simulink在没有它们的情况下运行块的方式没有什么不同。在下面,您可以在两个二进制显示器上看到我的设置和输出。 [IMG]https://i.stack.imgur.com/b7YPg.png[/IMG] 您在第一次运行时看到的错误是由于Simulink在执行第一步时才创建变量。 Simulink构建模拟时,会看到未创建用作工作空间输入的变量。 [url=https://stackoverflow.com/questions/4828888]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 20:19。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.