回复:S7-1200与调试助手的TCP通讯时总是少开头的两个字符

已锁定

holdkcsxyz

西门子1847工业学习平台

  • 帖子

    1560
  • 精华

    24
  • 被关注

    162

论坛等级:至圣

注册时间:2015-06-03

钻石 钻石 如何晋级?

发布于 2021-04-29 12:47:53

3楼

      就我做过的项目比如上位机和上位机或者和机器人或者LV的TCP通讯;机器人等发过来的字符串信息,并不显式的包含字符串长度信息,字符串长度不长时,可以把本次接受的长度信息转换成Byte字节类型再拼接在接收缓冲区的最前端的一个字节即可,或者将接收长度定义成接收缓冲区的首字,按西门子的字节对齐方式刚好不用变动即可,这样可能才能识别完整的字符串信息,或者你可以如楼上所讲将其定义成Char型数组或者WString试试。         

       字符串存储:字符的总长度+每个字符的ASCII码 。字符长度如果不长可能占一个字节(一般场合一个字节长度够用了):这时整个字符串的每个数据都可以存成字节类型,此时西门子有老版的string,char等类型;

       字符长度如果很长可能占两个字节甚至是四个字节(在有的编译器中,长度可到6万多,甚至更长),这时西门子有WSrting,Wchar等类型可用,很多编译器天然支持两个字节或四个字节类型。

    

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15106条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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