移位操作返回奇怪的错误
Shift operation returning weird error
我在 codesys 环境下用 ABB 编程 plc,我不明白为什么会出现这个错误:
Error 4024: ... Expecting ELSIF, ELSE or END_IF before 'SHL'
返回此错误的代码类似于:
IF flag THEN
iState := 0;
Step := false;
SHL(1,iReg);
END_IF
基本上是两个赋值和一个无符号整数的左移操作。移位是导致错误的原因,注释该行可以消除错误。
我已经检查了很多次语法,还根据自相矛盾的文档颠倒了几次参数。
谁能告诉我我错过了什么?
您的 SHL 需要有一个结果
IF flag THEN
iState := 0;
Step := false;
result := SHL(1,iReg);
END_IF
我在 codesys 环境下用 ABB 编程 plc,我不明白为什么会出现这个错误:
Error 4024: ... Expecting ELSIF, ELSE or END_IF before 'SHL'
返回此错误的代码类似于:
IF flag THEN
iState := 0;
Step := false;
SHL(1,iReg);
END_IF
基本上是两个赋值和一个无符号整数的左移操作。移位是导致错误的原因,注释该行可以消除错误。
我已经检查了很多次语法,还根据自相矛盾的文档颠倒了几次参数。
谁能告诉我我错过了什么?
您的 SHL 需要有一个结果
IF flag THEN
iState := 0;
Step := false;
result := SHL(1,iReg);
END_IF