在SCL中解析字符串(来自串行缓冲区)很简单:您可以使用命令:**
LEN
CONCAT
LEFT or RIGHT
MID
INSERT
DELETE
REPLACE
FIND
EQ_STRNG and NE_STRNG
GE_STRNG and LE_STRNG
GT_STRNG and LT_STRNG
INT_TO_STRING and
STRING_TO_INT
DINT_TO_STRING and
STRING_TO_DINT
REAL_TO_STRING and
STRING_TO_REAL
我会从...开始
在SCL中创建功能块 .
将输入属性添加为字符串
将两个输出属性(Temp1,Temp2)添加为Reals或Ints
临时字符串和文本 - >实际转换的几个静态变量 .
解析你的代码类似于以下(因为我没有我的TIA门户,这可能需要修改):对于你的字符串“$ AOPT_TEMP1_20_TEMP2_21”,假设开头总是“$ AOPT_TEMP1_”(12个字符)
temp1_temp:=DELETE(IN1:=inputmsg,IN2:='$AOPT_TEMP1_',L:=12,P:=0);
//result should be "20_TEMP2_21"
//if you have a result above or below a 2 digit number we can't just get
//the next two cha