Automation 移位操作返回异常错误

Automation 移位操作返回异常错误,automation,plc,codesys,structured-text,Automation,Plc,Codesys,Structured Text,我在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 基本上是对无符号整数进行两次赋值和一次左移操作。偏移是产生错误的原因,注释行可以消除错误 我已经检查了很多次语法,还根据

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

哦,谢谢你,它现在工作得很好。只是一个观察。。。我得到了混合的输入:首先是要移位的变量,然后是位置的数目。SHL函数返回一个值。你需要告诉编译器它去了哪里。