配色: 字号:
S71200 -1500指令说明和举例-寻址 STRING 或 WSTRING 中的具体字符
2022-03-16 | 阅:  转:  |  分享 
  
寻址STRING或WSTRING中的具体字符(S7-1200,S7-1500)
寻址STRING或WSTRING中的具体字符
寻址STRING或WSTRING中的具体字符
通过语法StringName[i],可访问STRING或WSTRING变量中的具体字符。
计数下标“i”以“1”开头。因此,可以使用StringName[1]访问字符串的第一个字符。
但不能访问STRING或WSTRING常量中的各个字符。
示例
以下示例说明了如何寻址(W)STRING:
寻址说明
"myDB".mySTRING[3]对该数据块中STRING的第三个字符进行寻址。
#myWSTRING[3]对WSTRING的第三个字符进行寻址。
W(STRING)访问的故障查找与排除
在运行过程中访问的字符超出STRING长度时,将导致访问错误。对该字符串进
行读取访问时,将接收到字符“$00”或“$0000”;而且不会对该字符串进行写入访问。
如果该指令中带有使能输出ENO,则ENO的信号状态将设置为FALSE。CPU不会
切换为STOP模式。
唯一例外:在字符串的实际长度之后直接写入该字符。
以下示例显示了实际长度为5时的字符串“Hello”。该STRING的第27个字符超出
了实际长度,无法写入。STRING将保持不变,赋值结果为“hello”。
SCL
MyDB.mystring:=''hello'';
MyDB.mystring[27]:=CHAR_TO_BYTE(''!'');
STRING6
以下示例显示上述的例外情况:该字符将直接写入后的第个字符处。
“hello!”
赋值结果为。
SCL
MyDB.mystring:=''hello'';
MyDB.mystring[6]:=CHAR_TO_BYTE(''!'');
如果可能,请尽量使用“扩展指令>字符串+字符”(Extendedinstructions>String+
Cha)窗格中的指令,对STRING进行处理。
CONCAT(IN1:=''hello'',IN2:=''!'');
-1-
献花(0)
+1
(本文系南山卧龙原创)