tcp / ip接收simulink与tof相机台面sr4500

时间:2014-01-05 20:37:58

标签: tcp simulink mesa

我遇到了从飞行时间相机(mesa sr4500)的lan连接通过simulink接收原始数据流到我的电脑的问题。似乎正确选择了ip地址和simulink块tcp/ip receive的端口(它是我的网卡的IP地址和端口)。这是simulink块进一步设置的图片:

remote address: 192.168.1.1
port : 139
data size: [25344 1] -> should receive an array of this size due to the image resolution
data type uint16 -> each pixel of the camera is encoded with 16 bits
bye order: BigEndian
enable blocking mode is turned on
timeout: 10 (seconds)
block sample time: 0.1 (seconds) -> camera fps = 10

这是我收到的错误消息。

  

阻止错误 - >评估MATLAB的已注册方法“输出”时出错   “解码/ TCP / IP接收”中的S-Function“stciprb”

引起: 超时期限内未返回指定数量的数据。 请确保将数据发送到指定端口,指定更大的超时值。

我认为更长的超时不会有帮助,因为相机已经以10 fps流式传输。所以超时应该足够长。

我误解了任何设置选项吗?有人和类似的相机一起工作过吗?

1 个答案:

答案 0 :(得分:1)

由于您收到超时错误,可能是因为Simulink没有看到您的相机,因此您在TCP / IP接收块中分配了错误的IP地址或端口。您的网卡的IP地址和端口(我认为您的意思是PC的网卡?)无法正常工作,您需要分配相机的IP。

打开TCP / IP接收块,然后单击Verify address and port connectivity,您将获得输出消息,看看Simulink是否看到您的相机的IP和端口。 顺便说一下,我看到你已经将端口设置为139(用于NetBIOS会话服务的端口)。我不知道你的相机是否使用了一些特殊的专用端口(例如一些fps非常低的相机通过端口20上的FTP发送图片,但是10 fps我怀疑你的相机是什么情况?) 。尝试分配一个空闲端口(即1024到65536之间的数字)。