SCL程序转换问题
刘玉蓉
发布于2014-12-04 17:57
36
0
标签:
FUNCTION FC11 : INT
VAR_INPUT
barcode1:STRING[5];
barcode2:STRING[5];
END_VAR
VAR_temp
x1:INT;
x2:INT;
END_VAR
BEGIN
x1:=STRING_TO_INT(barcode1);//编译不成功处
x2:=STRING_TO_INT(barcode2);
IF x1<>0 AND x2<>0 AND x1<>x2 THEN
CASE x1 of
92:
FC11:=8;
07:
FC11:=1;
62:
FC11:=2;
ELSE
FC11:=0;
END_CASE;
END_IF;
END_FUNCTION
E:illegal parament assignment 编译错误。
请问怎么处理?用SCL
佳答案
FC或FB的I/O区域中复杂数据类型变量实际上是一个指针,所以要用临时变量转一下
改成下面这样就可以了
FUNCTION FC11 : INT
VAR_INPUT
barcode1:STRING[5];
barcode2:STRING[5];
END_VAR
VAR_temp
x1:INT;
x2:INT;
bt1:STRING[5];
bt2:STRING[5];
END_VAR
BEGIN
bt1 := barcode1;
bt2 := barcode2;
x1:=STRING_TO_INT(bt1);//编译不成功处
x2:=STRING_TO_INT(bt2);
IF x1<>0 AND x2<>0 AND x1<>x2 THEN
CASE x1 of
92:
FC11:=8;
07:
FC11:=1;
62:
FC11:=2;
ELSE
FC11:=0;
END_CASE;
END_IF;
END_FUNCTION