1

我正在 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 

基本上是两个赋值和一个无符号整数的左移操作。转变是产生错误的原因,而注释该行会消除它。

我已经检查了很多次语法,并且在相互矛盾的文档之后也多次反转了参数。

谁能告诉我我错过了什么?

4

1 回答 1

2

您的 SHL 需要有结果

IF flag THEN
    iState := 0;
    Step := false;
    result := SHL(1,iReg);
END_IF 
于 2015-12-09T14:37:12.380 回答