回复:关于TCP自定协议疑问

Siemens_PLC编程精英训练营

西门子1847工业学习平台

  • 帖子

    1108
  • 精华

    0
  • 被关注

    15

论坛等级:侠圣

注册时间:2018-09-30

钻石 钻石 如何晋级?

发布于 2024-07-05 14:06:49

2楼

展开查看
以下是引用手机用户20211125141312在2024-07-01 19:57:51的发言 >0楼

问题1.在CONNECTING不序中,为什么先unpacking,后copy to 数据区

是不是通过copy功能先判断数据尺寸小于环形队列尺寸,然后置位Tcnv enable 开启接收数据,先把数据传送到环形队列,在下一周期在通过拆包unpack,获取报文头里的LENTH,在结合copy进行数据复制

我的猜想是如果不接收数据,就无法完成拆包工作,所以第一个周期并未进行拆包


我的想法是否正确,请西门子大咖给出解答,或用详细图例解释一下,先拆包后copy的原因?   

是connected步序,您的想法是正确的,CopyToRingBuff先判断环形队列如果已转移完接收缓冲区的数据,则开启接收数据,Unpacking是先判断如果环形队里中有数据,则进行拆包并根据报文头里的LENTH,把环形队列的数据转移到接收数据区。因为这两个操作都是在条件满足的情况下进行的,所以功能上是没问题的。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

PLC编程精英训练营

共有1542条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。