Namenskonventionen – Übersicht und Beschreibung
Übersicht
- Präfixe für Variablen
- Präfixe für Typen
- NC0031: Funktionsbausteininstanz
- Präfixe für Gültigkeitsbereiche
- NC0072: VAR_GLOBAL PERSISTENT
- NC0073: VAR_GLOBAL RETAIN PERSISTENT
- VAR
- NC0054: Funktionsbausteinvariablen
- NC0055: Funktions-/Methodenvariablen
- Präfixe für POUs
- Präfixe für POU-Typ
- Methoden-/Eigenschaftengültigkeitsbereich
- Präfixe für DUTs
- Präfixe für benutzerdefinierte Typen
- NC0160: Benutzerdefinierter Typ
Detaillierte Beschreibung
Im Folgenden finden Sie Erläuterungen und Beispiele, bei welchen Deklarationen (d.h. an welcher Stelle im Projekt) die einzelnen Namenskonventionen verwendet werden. Bei den Beispielen handelt es sich um beispielhafte Deklarationen, bei denen das entsprechende Präfix erwartet werden würde, falls ein Präfix bei der zugehörigen Namenskonvention definiert wäre. Es soll deutlich werden, wo und wie ein Typ oder eine Variable deklariert sein kann, damit die Namenskonvention NC<xxxx> an dieser Stelle geprüft wird. Die Beispiele zeigen hingegen nicht, welches konkrete Präfix für die einzelnen Namenskonventionen definiert ist und somit bei den beispielhaften Deklarationen erwartet werden würde. Es gibt somit keine OK-/NOK-Gegenüberstellung.
Für konkrete Beispiele mit definiertem Präfix sehen Sie bitte die Seite Namenskonventionen (2).
Basisdatentypen:
NC0003: BOOL
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ BOOL.
Beispieldeklarationen:
Bei folgenden Variablendeklarationen wird u.a. das für NC0003 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
bStatus : BOOL;
abVar : ARRAY[1..2] OF BOOL;
IbInput AT%I* : BOOL;
Die Beschreibung von „NC0003: BOOL“ ist auf die anderen Basisdatentypen übertragbar:
- NC0004: BIT, NC0005: BYTE
- NC0006: WORD, NC0007: DWORD, NC0008: LWORD
- NC0013: SINT, NC0014: INT, NC0015: DINT, NC0016: LINT, NC0009: USINT, NC0010: UINT, NC0011: UDINT, NC0012: ULINT
- NC0017: REAL, NC0018: LREAL
- NC0019: STRING, NC0020: WSTRING
- NC0021: TIME, NC0022: LTIME, NC0023: DATE, NC0024: DATE_AND_TIME, NC0025: TIME_OF_DAY
- NC0035: __XWORD, NC0037: __UXINT, NC0038: __XINT
Geschachtelte Datentypen:
NC0026: POINTER
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ POINTER TO.
Beispieldeklaration:
Bei folgender Variablendeklaration wird u.a. das für NC0026 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
pnID : POINTER TO INT;
NC0027: REFERENCE
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ REFERENCE TO.
Beispieldeklaration:
Bei folgender Variablendeklaration wird u.a. das für NC0027 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
reffCurrentPosition : REFERENCE TO REAL;
NC0028: SUBRANGE
Konfiguration eines Präfixes für eine Variablendeklaration von einem Unterbereichstyp. Ein Unterbereichstyp ist ein Datentyp, dessen Wertebereich eine Untermenge eines Basistypen umfasst.
Mögliche Basisdatentypen für einen Unterbereichstyp: SINT, USINT, INT, UINT, DINT, UDINT, BYTE, WORD, DWORD, LINT, ULINT, LWORD.
Beispieldeklarationen:
Bei folgender Variablendeklaration wird u.a. das für NC0028 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
subiRange : INT(3..5);
sublwRange : LWORD(100..150);
NC0030: ARRAY
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ ARRAY[…] OF.
Beispieldeklaration:
Bei folgender Variablendeklaration wird u.a. das für NC0030 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
anTargetPositions : ARRAY[1..10] OF INT;
Instanz-basierte Datentypen:
NC0031: Funktionsbausteininstanz
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ eines Funktionsbausteins.
Beispieldeklaration:
Deklaration eines Funktionsbausteins:
FUNCTION_BLOCK FB_Sample
…
Bei folgender Variablendeklaration wird u.a. das für NC0031 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
fbSample : FB_Sample;
NC0036: Schnittstelle
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ einer Schnittstelle.
Beispieldeklaration:
Deklaration einer Schnittstelle:
INTERFACE I_Sample
Bei folgender Variablendeklaration wird u.a. das für NC0036 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
iSample : I_Sample;
NC0032: Struktur
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ einer Struktur.
Beispieldeklaration:
Deklaration einer Struktur:
TYPE ST_Sample :
STRUCT
bVar : BOOL;
sVar : STRING;
END_STRUCT
END_TYPE
Bei folgender Variablendeklaration wird u.a. das für NC0032 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
stSample : ST_Sample;
NC0029: ENUM
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ einer Enumeration.
Beispieldeklaration:
Deklaration einer Enumeration:
TYPE E_Sample :
(
eMember1 := 1,
eMember2
);
END_TYPE
Bei folgender Variablendeklaration wird u.a. das für NC0029 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
eSample : E_Sample;
NC0033: Alias
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ eines Alias.
Beispieldeklaration:
Deklaration eines Alias:
TYPE T_Message : STRING; END_TYPE
Bei folgender Variablendeklaration wird u.a. das für NC0033 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
tMessage : T_Message;
NC0034: Union
Konfiguration eines Präfixes für eine Variablendeklaration vom Typ einer Union.
Beispieldeklaration:
Deklaration einer Union:
TYPE U_Sample :
UNION
n1 : WORD;
n2 : INT;
END_UNION
END_TYPE
Bei folgender Variablendeklaration wird u.a. das für NC0034 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
uSample : U_Sample;
Gültigkeitsbereiche von Variablendeklarationen:
NC0051: VAR_GLOBAL
Konfiguration eines Präfixes für eine Variablendeklaration zwischen den Schlüsselwörtern VAR_GLOBAL und END_VAR.
Beispieldeklaration:
Bei folgender Deklaration einer globalen Variablen wird u.a. das für NC0051 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
VAR_GLOBAL
gbErrorAcknowledge : BOOL;
END_VAR
Die Beschreibung von „NC0051: VAR_GLOBAL“ ist auf die anderen Gültigkeitsbereiche von Variablendeklarationen übertragbar:
- NC0070: VAR_GLOBAL CONSTANT
- NC0071: VAR_GLOBAL RETAIN
- NC0072: VAR_GLOBAL PERSISTENT
- NC0073: VAR_GLOBAL RETAIN PERSISTENT
- NC0053: Programmvariablen (VAR innerhalb eines Programms)
- NC0054: Funktionsbausteinvariablen (VAR innerhalb eines Funktionsbausteins)
- NC0055: Funktions-/Methodenvariablen (VAR innerhalb einer Funktion/Methode)
- NC0056: VAR_INPUT
- NC0057: VAR_OUTPUT
- NC0058: VAR_IN_OUT
- NC0059: VAR_STAT
- NC0061: VAR_TEMP
- NC0062: VAR CONSTANT
- NC0063: VAR PERSISTENT
- NC0064: VAR RETAIN
NC0065: E-/A-Variablen
Konfiguration eines Präfixes für eine Variablendeklaration mit AT-Deklaration.
Beispieldeklarationen:
Bei folgenden Variablendeklarationen mit AT-Deklaration wird u.a. das für NC0065 konfigurierte Präfix zur Bildung des Gesamtpräfixes verwendet, dessen Einhaltung bei Durchführung der Statischen Analyse überprüft wird.
ioVar1 AT%I* : INT;
ioVar2 AT%IX1.0 : BOOL;
ioVar3 AT%Q* : INT;
ioVar4 AT%QX2.0 : BOOL;
POU-Typen:
NC0102: PROGRAM
Konfiguration eines Präfixes für die Deklaration eines Programms (Name des Programms im Projektbaum).
Die Beschreibung von „NC0102: PROGRAM“ ist auf die anderen POU-Typen übertragbar:
- NC0103: FUNCTIONBLOCK
- NC0104: FUNCTION
- NC0105: METHOD
- NC0106: ACTION
- NC0107: PROPERTY
- NC0108: INTERFACE
Gültigkeitsbereiche von Methoden und Eigenschaften:
NC0121: PRIVATE
Konfiguration eines Präfixes für die Deklaration einer Methode oder einer Eigenschaft (Name der Methode/Eigenschaft im Projektbaum), deren Zugriffsmodifizierer PRIVATE ist.
Die Beschreibung von „NC121: PRIVATE“ ist auf die anderen Gültigkeitsbereiche von Methoden und Eigenschaften übertragbar:
- NC0122: PROTECTED
- NC0123: INTERNAL
- NC0124: PUBLIC
DUTs:
NC0151: Struktur
Konfiguration eines Präfixes für die Deklaration einer Struktur (Name der Struktur im Projektbaum).
Die Beschreibung von „NC0151: Struktur“ ist auf die anderen DUT-Typen übertragbar:
- NC0152: Aufzählung
- NC0153: Union
- NC0154: Alias
Benutzerdefinierte Typen:
NC0160: Benutzerdefinierter Typ
Konfiguration eines Präfixes für einen benutzerdefinierten Typen, z.B. für Variablen vom Typ PVOID oder für Instanzen vom Bibliotheksbaustein Tc2_System.TON.
Weitere Informationen zu den Eingabemöglichkeiten in diesem Bereich finden Sie unter Namenskonventionen.