SA0105: Llamadas de múltiples instancias
Detecta las instancias de bloques de funciones que se llaman varias veces. Para ello, los bloques de funciones deben marcarse con el siguiente pragma:
{attribute 'analysis:report-multiple-instance-calls'}
Justificación: Algunos bloques de funciones están diseñados de tal manera que solo se pueden llamar una vez en el ciclo. Esta prueba verifica si se realiza o no una llamada en múltiples ubicaciones.
Importancia: Baja
Regla PLCopen: CP16 / CP20
ejemplo 93. Ejemplo
// {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
Salida en el Mensajes vista:
SA0105: Instancia 'fbB' llamada más de una vez