Namenskonventionen (2)
In der Registerkarte Namenskonventionen (2) finden Sie Optionen, die die Einstellungen der Registerkarte Namenskonventionen erweitern. Mit Hilfe dieser Optionen können Sie konfigurieren, wie sich das erwartete Gesamtpräfix für Variablen/Deklarationen zusammensetzen soll.
Die Einhaltung der Namenskonventionen wird bei der Durchführung der Statischen Analyse überprüft.
1) Erstes Zeichen nach Präfix soll ein Großbuchstabe sein
- Wenn aktiviert: 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.
- Wenn deaktiviert: Es findet keine Prüfung der Groß-/Kleinschreibung statt.
- Standardeinstellung: deaktiviert
Beispiele:
- Variable "bvar" mit dem erwarteten Präfix "b"
- Funktionsbaustein "FB_sample" mit dem erwarteten Präfix "FB_"
Option | Zustand | Ergebnis der statischen Analyse |
---|---|---|
Erstes Zeichen nach Präfix soll ein Großbuchstabe sein | Aktiviert | Für die oben genannten Definitionen wird jeweils ein Fehler gemeldet, dass der erste Buchstabe nach dem Präfix groß sein müsse. Korrekte Bezeichner wären "bVar" und "FB_Sample". |
Deaktiviert | Die Bezeichner "bvar" und "FB_sample" sind zulässig. Es wird kein Fehler bzgl. der Groß-/Kleinschreibung ausgegeben. |
2) Rekursive Präfixe für kombinierbare Datentypen
- Wenn aktiviert: Variablen von kombinierbaren Datentypen (POINTER, REFERENCE, ARRAY, SUBRANGE) müssen ein zusammengesetztes Datentyppräfix haben. Das zusammengesetzte Präfix wird aus den Einzelpräfixen gebildet, die für die einzelnen Bestandteile des kombinierten Datentyps konfiguriert sind.
- Wenn deaktiviert: Es wird nur das Präfix des äußersten Datentyps als Datentyppräfix erwartet.
- Standardeinstellung: aktiviert
- Beispiele: siehe unten
3) Namensraumpräfix mit Datentyppräfix kombinieren
(Namensraum = Gültigkeitsbereich = Scope)
- Wenn aktiviert: Eine Variable muss das in den Namenskonventionen definierte Präfix für ihren Namensraum gefolgt von ihrem Datentyppräfix haben.
- Wenn deaktiviert: Das erwartete Gesamtpräfix hängt davon ab, ob für eine Variable ein Namensraumpräfix definiert ist oder nicht.
- Falls für eine Variable das zugehörige Namensraumpräfix definiert ist, muss die Variable nur das in den Namenskonventionen definierte Präfix für ihren Namensraum haben. Das Datentyppräfix wird im Anschluss an das Namensraumpräfix nicht erwartet.
- Falls für eine Variable das zugehörige Namensraumpräfix nicht definiert ist, muss die Variable nur das für sie definierte Datentyppräfix haben.
- Standardeinstellung: aktiviert
- Beispiele: siehe unten
Beispiele
- Präfixkonfiguration für Datentypen:
- POINTER (26) = "p"
- ARRAY (30) = "a"
- INT (14) = "n"
- BOOL (3) = "b"
- Präfixkonfiguration für Namensraum/Gültigkeitsbereich/Scope
- Fall 1: Funktionsbausteinvariablen (54) = "_local_"
- Fall 2: Funktionsbausteinvariablen (54) = leeres Feld/nicht konfiguriert
- INFO: Weitere Beispiele für einen Namensraum/Gültigkeitsbereich/Scope sind u.a. VAR_GLOBAL (51), VAR_INPUT (56) und VAR CONSTANT (62).
- Deklaration:
FUNCTION_BLOCK FB_Sample
VAR
var1 : POINTER TO ARRAY[1..3] OF INT;
var2 : ARRAY[10..20] OF ARRAY[3..5] OF BOOL;
END_VAR
Optionsszenario 1:
Option | Zustand | Erwartetes Gesamtpräfix für Fall 1 (NC0054 = "_local_") | Erwartetes Gesamtpräfix für Fall 2 (NC0054 = leer) |
---|---|---|---|
Rekursive Präfixe für kombinierbare Datentypen | Aktiviert | Für var1: '_local_pan' Für var2: '_local_aab' | Für var1: 'pan' Für var2: 'aab' |
Namensraumpräfix mit Datentyppräfix kombinieren | Aktiviert |
Erklärung:
- Da die Option „Rekursive Präfixe für kombinierbare Datentypen“ aktiviert ist, wird als Datentyppräfix das zusammengesetzte Präfix aus den Einzelpräfixen erwartet. Folglich werden die Teilpräfixe "p" für POINTER, "a" für ARRAY und "n" für INT zum Datentyppräfix "pan" bzw. die Teilpräfixe "a" für ARRAY, nochmal "a" für ARRAY und "b" für BOOL zum Datentyppräfix "aab" zusammengesetzt.
- Da die Option „Namensraumpräfix mit Datentyppräfix kombinieren“ ebenfalls aktiviert ist, wird als Gesamtpräfix für Variablen die Kombination aus Namensraumpräfix und Datentyppräfix erwartet.
- Fall 1: _local_ + pan = _local_pan
- Fall 2: <leer> + pan = pan
Optionsszenario 2:
Option | Zustand | Erwartetes Gesamtpräfix für Fall 1 (NC0054 = "_local_") | Erwartetes Gesamtpräfix für Fall 2 (NC0054 = leer) |
---|---|---|---|
Rekursive Präfixe für kombinierbare Datentypen | Deaktiviert | Für var1: '_local_p' Für var2: '_local_a' | Für var1: 'p' Für var2: 'a' |
Namensraumpräfix mit Datentyppräfix kombinieren | Aktiviert |
Erklärung:
- Da die Option „Rekursive Präfixe für kombinierbare Datentypen“ deaktiviert ist, wird als Datentyppräfix nur das Präfix des äußersten Datentyps erwartet. Das erwartete Datentyppräfix ist somit "p" bzw. "a".
- Da die Option „Namensraumpräfix mit Datentyppräfix kombinieren“ aktiviert ist, wird als Gesamtpräfix für Variablen die Kombination aus Namensraumpräfix und Datentyppräfix erwartet.
- Fall 1: _local_ + p = _local_p
- Fall 2: <leer> + p = p
Optionsszenario 3:
Option | Zustand | Erwartetes Gesamtpräfix für Fall 1 (NC0054 = "_local_") | Erwartetes Gesamtpräfix für Fall 2 (NC0054 = leer) |
---|---|---|---|
Rekursive Präfixe für kombinierbare Datentypen | Aktiviert | Für var1: '_local_' Für var2: '_local_' | Für var1: 'pan' Für var2: 'aab' |
Namensraumpräfix mit Datentyppräfix kombinieren | Deaktiviert |
Erklärung:
- Siehe Optionsszenario 1: Da die Option „Rekursive Präfixe für kombinierbare Datentypen“ aktiviert ist, wird als Datentyppräfix das zusammengesetzte Präfix aus den Einzelpräfixen erwartet. Dies ergibt "pan" bzw. "aab" als Datentyppräfix.
- Da die Option „Namensraumpräfix mit Datentyppräfix kombinieren“ deaktiviert ist, hängt das erwartete Gesamtpräfix davon ab, ob für eine Variable ein Namensraumpräfix definiert ist oder nicht.
- Falls Namensraumpräfix definiert (Fall 1): Die Variable muss nur das Namensraumpräfix haben. Das Datentyppräfix wird im Anschluss an das Namensraumpräfix nicht erwartet. Dies ergibt für beide Variablen "_local_" als erwartetes Gesamtpräfix.
- Falls Namensraumpräfix nicht definiert (Fall 2): Die Variable muss nur das Datentyppräfix haben. Dies ergibt "pan" bzw. "aab" als erwartetes Gesamtpräfix.
Optionsszenario 4:
Option | Zustand | Erwartetes Gesamtpräfix für Fall 1 (NC0054 = "_local_") | Erwartetes Gesamtpräfix für Fall 2 (NC0054 = leer) |
---|---|---|---|
Rekursive Präfixe für kombinierbare Datentypen | Deaktiviert | Für var1: '_local_' Für var2: '_local_' | Für var1: 'p' Für var2: 'a' |
Namensraumpräfix mit Datentyppräfix kombinieren | Deaktiviert |
Erklärung:
- Siehe Optionsszenario 2: Da die Option „Rekursive Präfixe für kombinierbare Datentypen“ deaktiviert ist, wird als Datentyppräfix nur das Präfix des äußersten Datentyps erwartet. Dies ergibt "p" bzw. "a" als Datentyppräfix.
- Da die Option „Namensraumpräfix mit Datentyppräfix kombinieren“ deaktiviert ist, hängt das erwartete Gesamtpräfix davon ab, ob für eine Variable ein Namensraumpräfix definiert ist oder nicht.
- Falls Namensraumpräfix definiert (Fall 1): Die Variable muss nur das Namensraumpräfix haben. Das Datentyppräfix wird im Anschluss an das Namensraumpräfix nicht erwartet. Dies ergibt für beide Variablen "_local_" als erwartetes Gesamtpräfix.
- Falls Namensraumpräfix nicht definiert (Fall 2): Die Variable muss nur das Datentyppräfix haben. Dies ergibt "p" bzw. "a" als erwartetes Gesamtpräfix.
Weitere Hinweise/Beispiele:
Für POUs mit einem Zugriffsmodifizierer (also Methoden oder Eigenschaften) wird als Gesamtpräfix die Kombination aus dem Präfix für den Gültigkeitsbereich (NC0121-NC0124: PRIVATE/PROTECTED/INTERNAL/PUBLIC) und dem Präfix für den POU-Typ (NC0105 bei Methode, NC0107 bei Eigenschaft) erwartet. Beispiele:
- Wenn für PRIVATE (121) das Präfix "priv_" und für METHOD (105) das Präfix "M_" konfiguriert wurde, dann wird für eine PRIVATE-Methode das Gesamtpräfix "priv_M_" erwartet.
- Wenn für METHOD (105) weiterhin das Präfix "M_" konfiguriert ist, aber für PRIVATE (121) kein Präfix konfiguriert wurde, d.h. wenn das Feld in den Namenskonventionen leer ist, dann wird für eine PRIVATE-Methode das Gesamtpräfix "M_" erwartet.