回复:SCL 循环跳出

xiaode

  • 帖子

    1411
  • 精华

    2
  • 被关注

    49

论坛等级:奇侠

注册时间:2008-07-18

钻石 钻石 如何晋级?

发布于 2010-06-12 10:34:17

3楼

荣海:
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.
您看一下,什么地方出错了?
every day is new day !
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54757条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。