Dialog: Einstellungen Statische Analyse: Namenskonventionen

Funktion: In dem Dialog definieren Sie die Präfixe für die Datentypen und die Gültigkeitsbereiche von Variablen, sowie Präfixe für POUs und benutzerdefinierte Datentypen (DUTs). Die Einhaltung der Namenskonventionen wird durch die statische Codeanalyse geprüft. Wenn eine Konvention nicht eingehalten wird, wird für die statische Codeanalyse eine Fehlermeldung in der Ansicht Meldungen angezeigt. Weitere Informationen hierzu: Statische Codeanalyse konfigurieren und durchführen

Aufruf:

Voraussetzung:

Die Fehlermeldungen werden in der Form NC <Präfix-Konventionsnummer> : <Meldungstext> angezeigt. NC steht für „Naming Convention“. Beispielsweise bedeutet die Fehlermeldung NC0102: Ungültiger Name … eine Verletzung der Namenskonvention 102 für POUs vom Typ PROGRAM.

VORSCHLAG:

Sie können für einzelne Bezeichner die Namenskonventionen mit dem Pragma 'naming' deaktivieren. Die Bezeichner können dann beliebig beginnen und nicht zwingend mit dem Präfix.

Filter

Eingabefeld für Zeichenfolge, nach der gesucht wird

Tabelle mit den Namenskonventionen

Namen

Knotenpunkte und Elemente, für die ein Präfix definiert werden kann

Die Nummer in Klammer nach jedem Element, zum Beispiel PROGRAM (102), ist die Präfix-Konventionsnummer, die bei einer Nichteinhaltung der Namenskonvention ausgegeben wird.

Präfix

Eingabefeld für das Präfix

  • Mehrere Präfixe können, getrennt durch Komma, eingegeben werden.

    Beispiel:

    Präfix für POUs, PROGRAM (102): prog, PRG_

    Präfix für POUs, FUNCTION (103): fun, FUN_

  • Für Präfixe sind auch reguläre Ausdrücke (RegEx) möglich. Dazu muss ein @ vorangestellt werden.

    Beispiel:

    Der Name muss mit x beginnen und darf dann noch ein Zeichen des Bereichs a-dA-D enthalten: @x[a-dA-D]

  • Für Variablen vom Datentyp Alias und für Bausteine (POUs) vom Datentyp Property das Präfix mit dem Platzhalter {datatype} definiert werden

Präfixe für Variablen

Organisatorischer Knotenpunkt für alle Variablen, für die ein von ihrem Datentyp oder Gültigkeitsbereich abhängiges Präfix definiert werden kann

Präfixe für POUs

Organisatorischer Knotenpunkt für alle POU-Typen und Methodengültigkeitsbereiche, für die ein Präfix definiert werden kann

Präfixe für DUTs

Organisatorischer Knotenpunkt für die DUT-Datentypen Struktur, Enumeration, Alias oder Union, für die ein Präfix definiert werden kann

Präfixe für benutzerdefinierte Typen

Organisatorischer Knotenpunkt für spezielle benutzerdefinierte Typen, insbesondere solche aus Bibliotheken

Sie können die Liste mit Konventionen erweitern: Klicken Sie auf die Leerzeile darunter. Geben Sie dann den Namen eines benutzerdefinierten Typen ein oder wählen Sie einen benutzerdefinierten Typ im Dialog Eingabehilfe aus.

Sie können eine Konvention löschen, indem Sie diese selektieren und die Taste Entf wählen.

Hinweis: Diese Konventionen haben Vorrang vor den Präfixen, die mit dem Attribut {attribute 'nameprefix' := '<prefix>'} definiert sind.

Optionen

Erstes Zeichen nach Präfix soll ein Großbuchstabe sein

: Die statische Codeanalyse meldet einen Fehler für eine Variable, wenn das erste Zeichen des Variablennamens nach dem definierten Präfix kein Großbuchstabe ist.

Namensraumpräfix mit Datentyppräfix kombinieren

: Eine Variable muss das definierte Präfix für ihren Namensraum haben, gefolgt von dem definierten Präfix für ihren Datentyp.

Beispiel: Folgende Präfixe sind definiert: Für VAR_GLOBAL g_, für Datentyp REAL r.

Die Codeanalyse meldet Fehler für globale REAL-Variablen, die nicht das Präfix g_r haben.

: Wenn für eine Variable Konventionen für den Namensraum angegeben wurden, werden diese Konventionen berücksichtigt. Etwaige Datentypskonventionen bleiben dann unberücksichtigt.

Beispiel: Folgende Präfixe sind definiert: Für VAR_GLOBAL g_, für Datentyp REAL r.

Die Codeanalyse meldet ausschließlich Fehler für globale REAL-Variablen, die nicht das Präfix g_ haben.

Rekursive Präfixe für kombinierbare Datentypen

: Variablen kombinierter Datentypen müssen zusammengesetzte Präfixe haben, die den definierten Namenskonventionen entsprechen.

Beispiel:

ppiVariable : POINTER TO POINTER TO INT;

Für Variablen des Datentyps POINTER TO wurde das Präfix p definiert, für den Datentyp INT das Präfix i.

Die statische Codeanalyse meldet Fehler für alle Variablen vom Datentyp POINTER TO POINTER TO INT, die nicht das Präfix ppi haben.

refaiVar : REFERENCE TO ARRAY[1..3] OF INT;

Für den Datentyp REFERENCE TO wurde das Präfix ref definiert, für ein Array das Präfix a und für den Datentyp INT das Präfix i.

Die statische Codeanalyse meldet Fehler für alle Variablen vom Datentyp REFERENCE TO ARRAY[1..3] OF INT, die nicht das Präfix refai haben.

Beispiel

Die folgende Namenskonvention entspricht weitestgehend den Empfehlungen, die für die "Bezeichner" in CODESYS beschrieben sind.

Beispiel

Die Namenskonvention (1) bezieht sich auf den Standardbaustein TON. Deklarationen des spezieller Bibliotheksbausteins werden infolgedessen auf das Präfx „ton_“ überprüft. Mit Klick in die Leerzeile (2) können Sie weitere Namenskonventionen einfügen.