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