0

我一直在尝试确定一种在正在运行的 Simulink 模型和 Blender(或 Python)之间链接数据的方法。我不知道从哪里开始,但我确实找到了一个可能已经解决它的软件,如果我能让它安装正确的话;模拟服务器。

我在 StackOverflow 上发现了 SimServer(原始问题在此处),但是我无法正确安装它,它在 httpwrapper.c 文件中的 mex 期间出错,指出“语法错误;找到SOCKET' expecting}'”(如果我删除相同mex 命令中的 httpwrapper.c 文件,它会以相同的方式在另一个文件上出错)。

有没有办法解决这个问题,还是我应该继续尝试寻找另一种解决方案?我觉得另一种解决方案会更可取,并且可能更容易安装到其他机器上。有没有办法可以将信息从正在运行的 Simulink 模型传输到文件,并让 Blender/Python 监视该文件的更改并实时更新 Blender Game 中的模型?

4

1 回答 1

1

如果您有兴趣从 Simulink 将数据写入文件,有几种方法可以做到这一点。我认为最简单的方法是使用 add_exec_event_listener 添加一个回调来监听你的块的“PostOutputs”事件。在此回调中,您可以访问块中的数据并写入文件。

您可以在http://www.mathworks.com/help/simulink/slref/add_exec_event_listener.html找到 add_exec_event_listener 的文档

从 Simulink 写入文件的其他方法是

  1. 使用 MATLAB Function 模块。使用您自己的“外部”函数写入文件。
  2. 在 MATLAB 或 C/C++ 中编写 S-Function。

从外部程序中,您可以查看此文件以获取更新。在这种方法中具有实时性是值得怀疑的。写入磁盘中的文件和其他程序注意到更改可能会有延迟。

于 2012-12-10T17:42:16.810 回答