Compilerwarnung C0406
Meldung: Die implizite Prüffunktion '<Name der Prüffunktion>' ist durch eine andere Variable oder Funktion verschattet. Prüfungen werden nicht durchgeführt. Lösen Sie den Konflikt und bereinigen Sie die Applikation, um die Prüffunktion zu verwenden.
Mögliche Fehlerursache: Eine Methode eines Bausteins hat den gleichen Namen wie eine implizite Prüffunktion.
Fehlerbehebung: Benennen Sie die Methode um oder entfernen Sie die implizite Prüffunktion.
Beispiel für die Warnung
// Automatically generated code: Do not edit
FUNCTION CheckBounds: DINT
VAR_INPUT
index, lower, upper:DINT;
END_VAR
FUNCTION_BLOCK TestFB
VAR
a:ARRAY [0..1] OF INT;
i : INT;
END_VAR
a[i] := i;
METHOD CheckBounds:DINT
VAR_INPUT
index, lower, upper : DINT;
END_VARDer Array-Zugiff im Baustein TestFB produziert die folgende Warnung.
Meldung:
C0406: Die implizite Prüffunktion 'CHECKBOUNDS' ist durch eine andere Variable oder Funktion verschattet. Prüfungen werden nicht durchgeführt. Lösen Sie den Konflikt und bereinigen Sie die Applikation, um die Prüffunktion zu verwenden.