Skip to main content

SA0016: Huecos en estructuras

Detecta brechas en estructuras o bloques de funciones causadas por los requisitos de alineación del sistema de destino establecido actualmente. Si es posible, debe eliminar los huecos recurriendo a los elementos de la estructura o rellenándolos con un elemento ficticio. Si esto no es posible, puede desactivar la regla para las estructuras afectadas mediante el analysis pragma.

Justificación: debido a los diferentes requisitos de alineación en diferentes plataformas, puede haber un diseño diferente en la memoria para este tipo de estructuras. Luego, el código puede funcionar de manera diferente, según la plataforma.

Importancia: Baja

ejemplo 29. Ejemplo
TYPE Unpadded_Structure :
STRUCT
    xTest : BOOL;
    iTest : INT;    // SA0016
    byTest : BYTE;
    wTest : WORD;
END_STRUCT
END_TYPE
PROGRAM PLC_PRG
VAR
    myStruct : Unpadded_Structure;
END_VAR
myStruct.iTest := 0;

Salida en el Mensajes vista:

  • sa_icon_message.png SA0016: La estructura 'Unpadded_Structure' debe estar rellenada (pack-mode=8)