Tcp 如何创建实时Simulink传输块

Tcp 如何创建实时Simulink传输块,tcp,transfer,simulink,Tcp,Transfer,Simulink,我有一个简单的想法,但我想很难在simulink上实现它。我使用C代码在BeagleBone和simulink块之间创建了一个TCP/IP服务器。我有一个连接到小猎犬骨骼的开关作为输入,我的想法是在simulink块上显示开关是闭合还是断开。我不能这样做,因为我的客户机(simulink块)是一个c代码,当c代码在返回获取开关值后结束函数执行时,它只执行一次任务。你们知道在simulink客户端块和显示器之间传输数据的simulink传输模式或奇特的C技巧吗?在我一直在使用的模拟器中,我们使用一

我有一个简单的想法,但我想很难在simulink上实现它。我使用C代码在BeagleBone和simulink块之间创建了一个TCP/IP服务器。我有一个连接到小猎犬骨骼的开关作为输入,我的想法是在simulink块上显示开关是闭合还是断开。我不能这样做,因为我的客户机(simulink块)是一个c代码,当c代码在返回获取开关值后结束函数执行时,它只执行一次任务。你们知道在simulink客户端块和显示器之间传输数据的simulink传输模式或奇特的C技巧吗?

在我一直在使用的模拟器中,我们使用一个具有远程IP地址和IP端口的接收器块将实时计算的数据导出到外部侦听器(这可能是在同一台机器上或通过网络连接),在我们的例子中是一台计算机进行图形渲染,然后由一个使用OGRE 3D编写的C++代码和另一个使用源块的Simulink模型来拾取。 我们还有一个交互式图表绘图仪显示器(GPS位置指示,如果您愿意的话)。我们可以随时调用以下命令来访问simulink生成的值:

variable = get_param('Simulator/Chartplotter/YDot','RuntimeObject');
您还可以调用“set_param”来修改simulink模型中的常量值

我没有比格犬方面的经验,但我想你可以让你的C代码执行一个matlab脚本,它会修改simulink模型中的一个逻辑常数,以指示开关是否打开

或者,您可以探索第一个选项,但我们只使用它将simulink中的数据输入C程序,而不是您希望的其他方式。不幸的是,我无法直接访问接收到的C代码,但如果您真的被卡住了,我可以请我的同事将重要信息发送给我

希望这有帮助