SA0105: Chiamate multiple di istanzaPermalink

Rileva le istanze dei blocchi funzione che vengono richiamate più volte. Per fare ciò, i blocchi funzione devono essere contrassegnati con il pragma ‎{attribute 'analysis:report-multiple-instance-calls'}‎.

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

Importanza: Basso

Regola PLCopen: CP16 / CP20

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;
ND_VAR

fbA();
fbB();	// SA0105
fbA();
fbB();	// SA0105

--> SA0105: Instance 'fbB' called more than once