smart200TCP通信问题

前要:采用smart200PLC接收其他通讯伙伴(halcon软件)发来的数据,数据大小100位
问题:当通讯伙伴发送频率在100ms时不会出现粘包现象,但发送频率超过90ms时,就会出现粘包现象,如 ? ? ? ? ?? 我从vb1000开始接收,正常情况下在vb1099会接收到对方发来的最后一位数据,但频率超过90ms, ? ? ? ? ? ?? vb1100会出现下一组数据的头标识符。
困惑:tcp接收数据时,虽然是一直允许接收,但从实际情况看来是每隔100ms左右才会接收一次,如果对方 ? ? ? ? ?? 发送过快,就会出现一次收取两条数据。请问有什么好的解决方式吗?可以加快接收频率。
谢谢!

问题补充:
回复3L灰太牛,你现在接收缓存区是100位,你可以测试一下,你每收到一次数据就记一次数,然后和调试助手发送的总次数相比,会少很多。另外如果你的接收缓存区设置成200位,那么第101位开始便会出现接收的数据,你可以试一下,发送的频率越快,粘包越严重。

最佳答案

测试未出现你说的现象
补充:如你所说,使用接收的完成位来统计接收次数,当计算机发送频率低于100m时,接收次数和发送字节数就对应不起来了,至于原因,我还需要再研究研究。如果你有结果,也可以发出来分享。

图片说明:

smart200TCP通信问题  

提问者对于答案的评价:
我目前没有测试出来,问过西门子技术支持,他们也不知道,所以我换成UDP通信了,另外我怎么不能直接回复你这个消息?是网站原因还是我这边的原因,必须要采纳为最佳答案,才可以回复,或者我怎么可以发你私信,我的邮箱:674089856@qq.com,我不知道怎么在这上面联系你,如果可以的话,我们可以用邮箱交流。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc290200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 上午12:28
下一篇 2020年10月31日 上午12:28

相关推荐