SCL程序轉(zhuǎn)換問(wèn)題
劉玉蓉
發(fā)布于2014-12-04 17:57
36
0
標(biāo)簽:
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 編譯錯(cuò)誤。
請(qǐng)問(wèn)怎么處理?用SCL
佳答案
FC或FB的I/O區(qū)域中復(fù)雜數(shù)據(jù)類型變量實(shí)際上是一個(gè)指針,所以要用臨時(shí)變量轉(zhuǎn)一下
改成下面這樣就可以了
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