MatlabUDP通信协议与设备通信需要注意的问题

阅读: 评论:0

一个度导航MatlabUDP通信协议与设备通信需要注意的问题
利⽤Matlab的UDP和设备进⾏收发指令,指令格式为16进制格式,设备为光纤解调仪,经过⼀段时间的研究,终于成功实现通信,这中间遇到了许多问题,现在分享出来,供⽹友们参考。
⼀.连接过程
先建⽴UDP通道,输⼊远端IP和端⼝号
硅胶海绵条
udp_handle=udp('192.168.137.27','LocalPort',8010,'RemotePort',4569);
set(udp_handle,'InputBufferSize',10000);
set(udp_handle,'OutputBufferSize',10000);%设置缓存区容量
set(udp_handle,'InputDatagramPacketSize',10240);
set(udp_handle,'OutputDatagramPacketSize',10240);
set(udp_handle,'TimeOut',10);%接收和发送前超时时间
fopen(udp_handle);
u型光电传感器需要注意的问题:
1. IP设置: 需确定电脑的IP和设备的IP在同⼀⽹段,即IP的前三位是⼀样的⽽后⼀位不⼀样,如设备的IP为19
2.168.137.27,电脑的
钛合金热处理IP需改为192.168.137.10,电脑IP的更改在⽹络设置⾥⾯更改Internet协议版本4(TCP/IPv4) 属性。
2. 端⼝号的选择: 需确定端⼝号没被占⽤,当被占⽤是会出现这样的错误Unsuccessful open: Address
already in use: Cannot bind,有些设备是有专门的端⼝的,需要提前知道。
3. 最需注意的⼀点: Matlab的公⽤⽹络是被允许的,或者粗暴⼀点关闭联⽹防⽕墙,这个问题让我陷在⾥⾯很久,希望你们提前避免这
减温减压装置撬装重心
个坑。
4. 调试的过程先借助⽹络调试助⼿和Matlab进⾏连接调试,因为这样可以看到发送和接受的信息,直接和设备相连⽆法看到发送过去的
网页更新是什么内容。
⼆.数据的发送
发送的格式: 设备的UDP协议中声明发送和接受指令是16进制的,以下是写⼊的代码
sent_str=['30';'01';'06';'00';'00';'00'];
sent_str=hex2dec(sent_str);
fwrite(udp_handle, sent_str, 'uint8')
需要注意的问题:
虽然设备声明采⽤16进制格式,但是发送的时候不能直接写⼊16进制,要先转化为10进制再发送,还有写⼊的时候要采⽤U8格式,这个问题困扰了我很久,我向⼤佬请教才解决的,来之不易,望珍惜。
三.结语
经过这段时间的探索,对UDP通信也有⼀些了解,如果对我写的⽂字存在疑问的欢迎私信我,互相探讨,共同进步。

本文发布于:2023-05-22 04:52:10,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/108591.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:发送   设备   格式   问题   进制
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图