Skip to main content

SA0105:複数のインスタンス呼び出し

複数回呼び出されるファンクションブロックのインスタンスを検出します。この目的のために、関数ブロックは次のプラグマでマークされる必要があります。

{attribute 'analysis:report-multiple-instance-calls'}

理由: 一部の機能ブロックは、サイクル内で 1 回だけ呼び出せるように設計されています。このテストでは、複数の場所で通話が行われているかどうかを確認します。

重要度:低

PLCopenルール:CP16 / CP20

93.
// {attribute 'analysis:report-multiple-instance-calls'} Deactivated
FUNCTION_BLOCK FB_DoA
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    iA : INT;
END_VAR
iA := iA + 1;
{attribute 'analysis:report-multiple-instance-calls'}
FUNCTION_BLOCK FB_DoB
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    iB : INT;
END_VAR
iB := iB + 1;
PROGRAM PLC_PRG
VAR
    fbA : FB_DoA;
    fbB : FB_DoB;
END_VAR
fbA();
fbB();    // SA0105
fbA();
fbB();    // SA0105

での出力 メッセージ ビュー:

  • sa_icon_message.png SA0105: インスタンス 'fbB' が複数回呼び出されました