找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
还有这个数据缓冲区的功能是什么?为什么需要大于发送的数据长度呢?发送的数据都在那摆着,为什么还要缓冲呢?如果其他程序有往DBB27-DBB48里面写进去数据,是不是会被缓冲数据覆盖掉呢?
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
1、LEN参数指定实际发送数据的长度;SEND参数则指定发送数据存放的缓冲区(Buffer)长度;
2、以上参数设定可看出:,发送数据的起始地址仍然以DB220.DBX0.0开始,但发送数据存放的缓冲区(Buffer)长度大于实际发送数据的长度;
3、当然是浪费和多占用了DB220的数据存储区,程序不优化。
补充回答1:
1、关于LEN参数和SEND参数的图示如下:
起始地址=DB220.DBX0.0
→||||||||||||||||||||||||←LEN参数长度=26Byte
→||||||||||||||||||||||||||||||||||←SEND参数长度=48Byte
2、由此可看出:SEND参数声明多占用了48-26=22Byte。
补充回答2:
你的脑袋咱就不想一想呢!怎么不仔细看以上的回答呢!
1、缓冲区(Buffer)中存放的数据就是要收/发的数据;
2、见以上图示:定义数据缓冲区(即:SEND参数)长度超出发送数据长度(即:LEN参数),就浪费和多占用了DB220的数据存储区,程序不优化。
3、将收/发的数据放置在收/发数据区中(即:缓冲区),便于数据通讯的管理和维护。
4、收/发数据区(即:缓冲区)是由用户程序定义使用的。既然将此DB块定义为数据通讯使用,如果将其它程序有往此DB块里写数据,你想一想会不会覆盖呢??
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城