Skip to main content

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:

  • sa_icon_message.png SA0105 : Instance 'fbB' appelée plusieurs fois