在Step7中为S7 300/400创建字符串变量时,该变量所占用的字符长度总要比定义的字符串长度多出两个字节,如下图所示:
第一个字节用来显示该字符串的总长度,第二的字节用来显示该字符串的实际长度:
使用WinCCFlexible 监控整个字符串时,可直接选择WinCCFlexible中的字符串变量类型,关联的PLC变量首地址为字符串的首地址,不需要考虑偏移两个字节的问题,软件会自动处理。
创建监控该变量的IO域就可以了:
效果如下:
有人可能会问,WinCCFlexible中还有一个数据类型StringChar,如何使用它来监控字符串呢?我们可以使用StringChar类型变量来监控字符串中任意位置开始的任意长度的字符,如创建以下变量:
运行后,我们会发现StringChar变量显示字符串第2个字符开始的4个字符:
但如果为StringChar输入的字符数量少于定义的4个,字符串变量也会发生相应变化,这是由字符串的结束符机制造成的。