首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在matlab中实现grt目标的同步实时研讨会

在matlab中实现grt目标的同步实时研讨会
EN

Stack Overflow用户
提问于 2012-07-18 19:18:10
回答 1查看 200关注 0票数 0

我正在尝试使用real-time Workshop在Simulink中运行实时模拟。目标是grt(我已经尝试过rtwin,但是我的模拟拒绝为它编译)。我需要实时运行模拟,以便在模拟中的一秒持续一秒的实时。Grt忽略实时,并在尽可能短的时间内完成模拟。有没有同步的方法?

我尝试过http://www.mathworks.com/matlabcentral/fileexchange/3175,但是不能让它工作(不能编译)。

感谢您的任何建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-19 21:51:56

看起来是不可能的。我能够通过使用WinApi的睡眠(以毫秒为单位的时间)函数和time.h的时钟函数来减慢执行速度,这对于低采样率看起来非常好。然而,当我增加采样率时,睡眠功能休眠了太长时间,这导致了错误,模拟中的一秒持续了不止一秒。

这个想法是说,一个迭代周期应该持续,比如说200ms。然后使用clock函数计算一次迭代代码执行所需的时间。然后调用睡眠(200- u),其中u是迭代的长度。问题是,睡眠函数会让进程休眠,并在需要的时候唤醒它,而不是在参数中告诉它的时候唤醒它。

我知道这不是一个解决方案,但是把这篇文章贴出来,这样如果有人遇到和我一样的问题,他们就不会尝试这个死胡同的解决方案了。我不得不重写rtwin的模拟,现在它工作得很好。

另一个想法是以某种方式使用中断,但我想这将是相当复杂的,不值得麻烦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11540088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档