FUNCTION "fcHMI_Global" : VOID
VAR
i: INT;
j: INT;
END_VAR
BEGIN
// Statement Section
FOR i:= 200 TO 215 DO
IF MX[i+1,0] =TRUE
THEN
"dbHMI_001 Global".DW[58+j]:=1;
j:=j+10;
END_IF;
IF i=215
THEN
i:=0;
END_IF;
END_FOR;
END_FUNCTION
写了个SCL小程序,没有错误,用的仿真软件,编译没有错误,为什么CPU执行一段时间后自动停止了啊,还有SCL编辑器最多可以写多少行程序啊,麻烦大家讲讲啊,谢谢
问题补充:
定义变量时VAR和VAR_TEMP在用的时候有什么区别啊
最佳答案
j的值会溢出,加个限制的语句啊
if j>=? then
j:=?;
end_if;
下面这
IF i=215
THEN
i:=0;
END_IF;
没有意义,i的值就是for循环赋值的,下一次执行它还是会从200-215递增的
提问者对于答案的评价:
谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc234647.html