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 

基本的に、符号なし整数に対する 2 つの割り当てと左シフト操作です。シフトがエラーの原因であり、行にコメントを付けるとエラーが解消されます。

私は構文を何度もチェックし、矛盾するドキュメントに従って引数を数回反転させました。

何が欠けているのか誰か教えてもらえますか?

4

1 に答える 1

2

あなたのSHLには結果が必要です

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