【发布时间】:2014-02-17 20:28:12
【问题描述】:
我想将数据从 Simulink 模型(实时运行)发送到 Python 脚本(也实时运行。我正在使用 Simulink 的内置“UDP Send”块,它可以工作,但我没有知道如何解码我得到的数据。这就是我的 python 脚本的样子:
import sys, struct
from socket import *
SIZE = 1024 # packet size
hostName = gethostbyname('0.0.0.0')
mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind((hostName,5002))
repeat = True
while repeat:
(data,addr) = mySocket.recvfrom(SIZE)
data = struct.unpack('d',data)
print data
我怀疑数据流应该是双精度的,但是虽然它给了我数字,但它们没有意义:
如果 simulink 发送一个常量“1”,我会得到“3.16e-322”的输出
如果 Simulink 发送一个常量“2”,我会得到“3.038e-319”的输出
有什么想法吗?
【问题讨论】:
-
@user1636547 这里的 5002 是哪个端口号?对于我的脚本,我必须使用哪个端口?