原来的程序已经编译成功,见截图,现在原来程序基础新加一个IF嵌套语句,老是编译错误,研究半天,也没找到原因,第一次使用IF嵌套,不知道是语法原因,还是标点符号原因老是报错,方便阅读就把程序贴出来,希望 前辈帮我看看,指出问题所在,非常感谢。。。。
FUNCTION FC6: VOID
VAR_INPUT
AA :INT;
END_VAR
VAR_OUTPUT
CC :INT;
ee: bool;
END_VAR
VAR_TEMP
TEMP :INT;
DD :INT;
hh: BOOL;
big: INT;
small: INT;
END_VAR
BEGIN
TEMP:=1;
DD :=0 ;
hh:= 0;
FOR TEMP:= 1 TO 6 BY 1 DO
IF "SHUJU".CUNZHUN[TEMP]+50>AA AND "SHUJU".CUNZHUN[TEMP]-50<AA THEN
DD:=TEMP;
hh:= 1;
EXIT;
ELSE IF TEMP=1 THEN small:=0;
ELSE small:="SHUJU".CUNZHUN[TEMP-1]+50;
//新增加一个IF语句,如果TEMP=1,把0赋值给small变量,如果TEMP不等于1,就把"SHUJU".CUNZHUN[TEMP-1]+50赋值给small变量
END_IF;
//通过上面赋值以后,继续扫描这个程序段,
IF AA > small AND AA <"SHUJU".CUNZHUN[TEMP]-50 THEN
DD:=TEMP;
hh:=0;
EXIT;
END_IF;
END_FOR;
CC:=DD;
ee:= hh;
END_FUNCTION
图片说明:
最佳答案
没有else if语句。应该是elsif。建议先看看相关资料吧。
提问者对于答案的评价:
谢谢你, 就是你说的问题,现在解决了,资料太少了,一个人摸索 ,所以不会的问题,就到论坛提问,再次感谢论坛这么多无私的人。。。。。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc139624.html