Namenskonventionen – Übersicht und Beschreibung

Übersicht

- Präfixe für Variablen

          - Präfixe für Typen

                    - NC0003: BOOL

                    - 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

                    - NC0026: POINTER

                    - NC0027: REFERENCE

                    - NC0028: SUBRANGE

                    - NC0030: ARRAY

                    - NC0031: Funktionsbausteininstanz

                    - NC0036: Schnittstelle

                    - NC0032: Struktur

                    - NC0029: ENUM

                    - NC0033: Alias

                    - NC0034: Union

                    - NC0035: __XWORD

                    - NC0037: __UXINT

                    - NC0038: __XINT

          - Präfixe für Gültigkeitsbereiche

                    - NC0051: VAR_GLOBAL

                    - NC0070: VAR_GLOBAL CONSTANT

                    - NC0071: VAR_GLOBAL RETAIN

                    - NC0072: VAR_GLOBAL PERSISTENT

                    - NC0073: VAR_GLOBAL RETAIN PERSISTENT

                    - VAR

                              - NC0053: Programmvariablen

                              - NC0054: Funktionsbausteinvariablen

                              - NC0055: Funktions-/Methodenvariablen

                    - 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

- Präfixe für POUs

          - Präfixe für POU-Typ

                    - NC0102: PROGRAM

                    - NC0103: FUNCTIONBLOCK

                    - NC0104: FUNCTION

                    - NC0105: METHOD

                    - NC0106: ACTION

                    - NC0107: PROPERTY

                    - NC0108: INTERFACE

          - Methoden-/Eigenschaftengültigkeitsbereich

                    - NC0121: PRIVATE

                    - NC0122: PROTECTED

                    - NC0123: INTERNAL

                    - NC0124: PUBLIC

- Präfixe für DUTs

          - NC0151: Struktur

          - NC0152: Aufzählung

          - NC0153: Union

          - NC0154: Alias

- 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.