S7-CPU中支持字符串类型如下表所示:下面分别介绍在 WinCC 中如何显示和操作 S7-300/400 中的 CHAR 和 STRING 类型的数据。
1.CHAR类型的数据。
CHAR (Character) 数据类型的变量长度为 8 位,占用一个 BYTE 的内存。
CHAR 数据类型将单个字符存储为 ASCII 编码形式。 因为在WinCC 中是以字符串方式处理的此类型数据。
所以,在访问数据时会发生地址偏移2个字节。例如:读取的MB0 但是实际是读取MB2 中的数据。在从 WinCC 写入数据时,也类似。并且写入数据时会在MB1 中写入标识符“$01"。读取数据详细信息如图所示:
写入数据的详细信息如图:
2.STRING类型的数据。
数据类型为STRING的操作数可以在一个字符串中存储多个字符。其中该字符串的第一个字节用于存储字符串的长度,第二个字节用于存储字符串的实际长度。以下示例供参考:
注意:对于S7-300来讲建议最大字节定义为206。因为 S7-300 在和 WinCC 进行数据交互时最大字符串类型变量的长度为208字节。如果超过该值,会影响数据的正常读写。
在 WinCC 中使用”文本变量 8 位字符集“或”文本变量 16 位字符集“显示字符串类型的变量,必须指定文本变量的长度。并且长度必须和PLC中一致。例如:容纳10个字符的文本变量,若是“8位字符集”,必须是10个字符长度。详细的配置如下图所示:
运行效果如下图所示:
3.如需在界面中显示。输入/输出域的设置如下图所示: 此外,在 PLC 程序中可以通过控制字符串的实际长度,确定在WinCC 中显示变量的内容。注意如果是中文字符串,该参数一定要是偶数值。