SA0011: Nutzlose Deklarationen mit nur einer einzigen Komponente

Funktion

Ermittelt Strukturen, Unions oder Enumerationen mit nur einer einzigen Komponente.

Begründung

Es sollten keine Strukturen, Unions oder Enumerationen mit nur einer einzigen Komponente deklariert werden. Solche Deklarationen können für Leser verwirrend sein. Eine Struktur mit nur einem Element kann durch einen Aliastyp ersetzt werden. Eine Enumeration mit einem Element kann durch eine Konstante ersetzt werden.

Wichtigkeit

Niedrig

PLCopen-Regel

CP22/CP24

Beispiel 1 – Struktur:

TYPE ST_SingleStruct :           // => SA0011 
STRUCT
    nPart  : INT;
END_STRUCT
END_TYPE

Beispiel 2 – Union:

TYPE U_SingleUnion :             // => SA0011 
UNION
    fVar  : LREAL;
END_UNION
END_TYPE

Beispiel 3 – Enumeration:

TYPE E_SingleEnum :              // => SA0011 
(
    eOnlyOne := 1
);
END_TYPE