【问题标题】:Transfer Value via UDP between Simulink/Labview在 Simulink/Labview 之间通过 UDP 传输值
【发布时间】:2015-10-26 20:09:51
【问题描述】:

我正在开展一个项目,该项目需要在网络系统(当前运行 Matlab 2010b 和 Labview 7.0)上的 Matlab 的 Simulink 和 Labview 之间实时传递值。我一直在尝试在任一程序中使用 UDP 发送/接收函数来做到这一点,但是 Labview 似乎只处理带有 UDP/TCP-IP 的字符串。 Simulink 仅从 UDP 端口读取 int/double 值。

有没有办法让我在读入操作之后转换这些值,或者绕过类型限制?任何建议(或在两个程序之间传递值的替代方法)将不胜感激。不幸的是,由于硬件限制,我被这些程序版本卡住了。

谢谢!

【问题讨论】:

    标签: matlab sockets udp simulink labview


    【解决方案1】:

    LV 中的 TCP/UDP 函数使用字符串,因为它是一种表示字节数组的便捷方式,基本上就是 TCP 流。您可以获取数据并将其转换为可用。假设 Simulink 以相同的方式对值进行编码(整数的简单二进制,浮点数的 IEEE754 表示),那么您可以简单地使用类型转换或从字符串函数展平到/取消展平来转换数据。您可能需要更改字节顺序以考虑字节序。

    您可以查看 LV 中的 TCP 示例和有关扁平化数据的文档,以进一步了解其工作原理。

    另外,UDP 是有损的,主要适用于需要快速广播或获取数据的情况,例如流式传输视频时。如果数据很重要,则应使用 TCP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 2010-10-22
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多