SA0105 : Appels d'instances multiples
Détecte les instances de blocs fonctionnels appelés plusieurs fois. Pour cela, les blocs fonctionnels doivent être marqués du pragma suivant :
{attribute 'analysis:report-multiple-instance-calls'}
Justification : Certains blocs fonctionnels sont conçus de telle sorte qu'ils ne peuvent être appelés qu'une seule fois dans le cycle. Ce test vérifie si un appel est passé ou non à plusieurs endroits.
Importance : Faible
Règle PLCopen : CP16 / CP20
Exemple 93. Exemple
// {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
Sortie dans le messages voir:
SA0105 : Instance 'fbB' appelée plusieurs fois