回复:s7 300 空字符串问题

pkh2006

西门子1847工业学习平台

  • 帖子

    872
  • 精华

    11
  • 被关注

    130

论坛等级:奇侠

注册时间:2013-08-25

黄金 黄金 如何晋级?

发布于 2014-04-17 09:14:34

3楼

quote:以下是引用未尽在2014-04-16 17:05:45的发言:
这得从PLC对字符串的识别来说起,西门子规定,字符串(STRING)类型全长为N+2个字节,N为实际字符长度,其中,字节0为允许最大长度值,这就是说,实际字符串的长度如果超过这个值,则非法。字节1为实际字符长度,PLC取数据时为提高效率(减少模糊性,因为字符串不定长,不太好判断字符串的边界),首先读取这两个数据,再按照这两个字节的数据取后面的字节,字节1为0,则表示该字符串为空,至于后面的字节是什么内容,谁知道?也无意义不是,全零或全1不得是一种数据状态,总之通过1字节知道他们无意义就好了。所以,你输出空字符串时,读写执行机制一旦检测到是“0”,就不会多此一举的去管后面的字节了。


刚才又试了一个输入为true时,输出为'abc',输入为false时,输出为'abcd'。
看来是这样的,plc关心字符串实际长度,实际长度以外的就不检查了。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54658条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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