在Simulink和Blender之间链接数据

时间:2012-12-10 16:19:43

标签: python hyperlink simulink blender

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

我在StackOverflow上发现了SimServer(原始问题是here),但是我无法正确安装它,它在httpwrapper.c文件中的mex期间出错,说明“语法错误;找到{ {1}}}'“(如果我从mex命令中删除httpwrapper.c文件,它会以同样的方式在另一个文件上输出错误)。

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

1 个答案:

答案 0 :(得分: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功能块。使用您自己的“外在”函数写入文件。
  2. 在MATLAB或C / C ++中编写S函数。
  3. 从外部程序中,您可以观看此文件以进行更新。实时采用这种方法是值得怀疑的。写入磁盘中的文件可能存在滞后,而另一个程序可能会注意到这些变化。