【问题标题】:Simulink Desktop Real-Time (R2017b): data logging fails with GUIDE applicationSimulink Desktop Real-Time (R2017b):GUIDE 应用程序的数据记录失败
【发布时间】:2019-02-03 01:15:05
【问题描述】:

我有一个使用 Simulink Desktop-Real Time 在外部模式下运行的 Simulink 模型。该模型包含用于数据记录和显示信号轨迹的示波器。出于某种原因,当我从 GUIDE 应用程序以编程方式启动模型时,范围不起作用。换言之,不生成数据日志文件,并且显示范围不显示任何内容。但是,如果我从一个简单的 Matlab 脚本(无 UI)以编程方式启动模型,那么示波器会按预期工作,也就是说,我确实获得了文件并且可以看到信号轨迹。除了范围之外,该模型可以从 GUIDE 正确运行,即它可以通过 I/O 块等与硬件通信。我在 R2015a 上从未遇到过这个问题,但现在我在 R2017b 上遇到了这个问题。

【问题讨论】:

    标签: matlab real-time simulink


    【解决方案1】:

    根据Running Applications from the Command Line 的文档,我怀疑您缺少以下第二步:

    >> set_param(gcs,'SimulationMode','external') % only needed if the model isn't set up for External Mode already
    >> set_param(gcs,'SimulationCommand','connect') % <- you are missing this
    >> set_param(gcs,'SimulationCommand','start')
    >> set_param(gcs,'SimulationCommand','stop')
    

    【讨论】:

    • 事实并非如此,否则模型根本无法工作。只是范围由于某种原因而失败。
    • 我刚刚测试了一个最小的工作示例,发现从 Matlab UI 启动模型模型时会出现问题,而不是从简单的 Matlab 脚本启动时。
    • 这听起来像是某种工作区问题。从一个简单的函数运行时它是否有效?模型是否使用脚本在基本工作区中定义的变量,但函数/UI 没有?
    • 否,模型从 MAT 文件中读取其工作区数据。请记住,实时模型实际上适用于两种情况(从 UI 运行和从简单脚本运行)。我可以很容易地验证这一点,因为我使用该模型来操作硬件(一个简单的机器人)。当模型从 UI 运行时,只有作用域会失败。
    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多