发布于 2013-10-22 00:44:19
33楼
我就说说CHAR与SRING
1、西门子的WINCC与PLC功能实在强大,可以直接在PLC DB块中建立STRING,然后再WINCC建立IO域直接连接显示,在WINCC可以动态修改STRING数据,这样可以在PLC做简单的配方管理,配方的条目名称因此也可以修改,增加了应用系统的灵活性。
2、中文字符同样可以以CHAR类型保存修改,只是其占用两个字节,而英文字符只占用一个字节,这点与高级语言相通。
3、在WINCC修改STRING也是需要技巧的,比如定义一个SRING【20】要占用22个字节,第一个字节存储的是本字符串的长度,第二个字节存储的是本次更新的数据长度,第3到22个字节存储的是真正的字符串信息,如果本次更新字符串长度小于上次的长度,字符串只更新本次长度区域内的信息,长出的部分保持不变,只是不显示。
举个例子:Name:STRING【20】
占用地址DB1.DBB0-DB1.DBB21.
WINCC建立IO域与其连接:
为输入字符前:DB1.DBB0值为十进制20 ,DB1.DBB1为0
第一次输入abc后DB1.DBB0值为十进制20 ,DB1.DBB1为3,DB1.DBB2 为字符a,DB1.DBB3 为字符b,DB1.DBB4 为字符c,
第二次输入12后后DB1.DBB0值为十进制20 ,DB1.DBB1为2,DB1.DBB2 为字符1,DB1.DBB3 为字符2,DB1.DBB4 为字符c,
如果想要清除字符串数据,还需PLC内做处理,复杂数据类型必须以字节为单位操作。