Skip to main content

SA0105: Chiamate a più istanze

Rileva le istanze di blocchi funzione che vengono chiamati più volte. A questo scopo i blocchi funzione devono essere contrassegnati con il seguente pragma:

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

Giustificazione: Alcuni blocchi funzionali sono progettati in modo tale da poter essere richiamati solo una volta nel ciclo. Questo test verifica se una chiamata viene effettuata o meno in più sedi.

Importanza: Bassa

Regola PLCopen: CP16 / CP20

Esempio 93. Esempio
// {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

Uscita in Messaggi vista:

  • sa_icon_message.png SA0105: Istanza 'fbB' richiamata più di una volta