荣海:
quote:以下是引用荣海在2010-06-12 10:16:34的发言:quote:以下是引用xiaode在2010-06-12 09:17:32的发言:
我自己已经找出来了,使用EXIT 语句就可以了。
两种方式可以实现,(1)就是你所说的 EXIT语句;(2)GOTO语句。
我使用了GOTO 指令,但是报错了,我把程序发上来,你看一下!
程序如下:
FUNCTION FC104: void
VAR_TEMP
// Temporary Variables
i:INT;
j:INT;
END_VAR
FOR i:=0 TO 11 BY i+1 DO
// Statement Section
IF DWORD_TO_REAL(DB8.DD[ i*4 ])>DWORD_TO_REAL(DB6.DD[ 4*i+4 ]) AND DWORD_TO_REAL(DB8.DD[ i*4 ])
// IF TEST.DD[ i*4 ]>SET_PAGE.DD[ 4*i+4 ] AND TEST.DD[ i*4 ] TEST.result[i]:=true;
ELSE
TEST.result[i]:=false;
END_IF;
END_FOR;
FOR j:=0 TO 11 BY j+1 DO
IF TEST.result[j] THEN
TEST.result[12]:=TRUE ; //OK
GOTO LAB1 ;
ELSE
TEST.result[12]:=FALSE ; // NG
TEST.result[13]:=TRUE ;
EXIT; // EXIT FOR LOOP
END_IF;
END_FOR;
LAB1: i := 1 ;
IF TEST.result[12] THEN
message.STEP:=message.STEP+1;
END_IF;
IF TEST.result[13] THEN
;
END_IF;
// Instruction Section
END_FUNCTION
编译过后,报的错误为:
E: L00028 C 00015: Lable not found.
E: L00035 C 00005: Lable not found.
您看一下,什么地方出错了?