EcoStruxure Machine Expert Version 1.1 unterstützt nicht die Controller M258, LMC058 und LMC078.

Empfehlungen für die Definition von Bezeichnern

Überblick

Die Definition von Bezeichnern erfolgt:

oBei der Deklaration von Variablen (Variablenname)

oBei der Definition von benutzerdefinierte Datentypen

oBei der Erstellung eines POUs (Funktionen, Funktionsbausteine, Programme)

Zusätzlich zu den allgemeinen Elementen, die bei der Definition eines Bezeichners berücksichtigt werden müssen (vgl. Kapitel Allgemeine Informationen über die Variablendeklaration), beachten Sie bitte die nachstehenden Empfehlungen für eine eindeutige Definition:

oVariablennamen 

oVariablennamen in Bibliotheken 

oBenutzerdefinierte Datentypen (DUTs) in Bibliotheken

oFunktionen, Funktionsbausteine, Programme (POU), Aktionen

oPOUs in Bibliotheken

Variablennamen

Bei der Benennung von Variablen in Anwendungen und Bibliotheken befolgen Sie bitte so weit wie möglich die Ungarische Notation.

Verfassen Sie für jede Variable eine kurze aussagekräftige Beschreibung. Diese Beschreibung dient als Basisname. Verwenden Sie die Großschreibung für die einzelnen Wörter des Basisnamens. Verwenden Sie die Kleinschreibung für den Rest (Beispiel: FileSize).

Datentyp

Unterer Grenzwert

Oberer Grenzwert

Informationsinhalt

Präfix

Kommentar

BOOL

FALSE

TRUE

1 Bit

x*

b

Reserviert

BYTE

8 Bit

by

Bitzeichenfolge, nicht für arithmetische Operationen

WORD

16 Bit

w

Bitzeichenfolge, nicht für arithmetische Operationen

DWORD

32 Bit

dw

Bitzeichenfolge, nicht für arithmetische Operationen

LWORD

64 Bit

lw

Nicht für arithmetische Operationen

SINT

–128

127

8 Bit

si

USINT

0

255

8 Bit

usi

INT

–32.768

32.767

16 Bit

i

UINT

0

65.535

16 Bit

ui

DINT

–2.147.483.648

2.147.483.647

32 Bit

di

UDINT

0

4.294.967.295

32 Bit

udi

LINT

–263

263-1

64 Bit

li

ULINT

0

264-1

64 Bit

uli

REAL

32 Bit

r

LREAL

64 Bit

lr

STRING

s

WSTRING

ws

TIME

tim

TIME_OF_DAY

tod

DATE_AND_TIME

dt

DATE

date

ENUM

16 Bit

e

POINTER

p

ARRAY

a

* für boolesche Variablen wird absichtlich ein x als Präfix gewählt, um die Variable von einem BYTE zu unterscheiden und um den IEC Programmierern die Unterscheidung zu erleichtern (vgl. Adressierung von %IX0.0).

Einfache Deklaration

Beispiele für einfache Deklarationen:

bySubIndex: BYTE;

sFileName: STRING;

udiCounter: UDINT;

Verschachtelte Deklaration

Beispiel für eine verschachtelte Deklaration, wobei die Präfixe in der Reihenfolge der Deklarationen miteinander verbunden sind:

pabyTelegramData: POINTER TO ARRAY [0..7] OF BYTE;

Funktionsbausteininstanzen und Variablen von benutzerdefinierten Datentypen

Funktionsbausteininstanzen und Variablen von benutzerdefinierten Datentypen erhalten ein Kürzel als Präfix für den Funktionsbaustein oder den Datentypnamen (z. B.: sdo).

Beispiel

cansdoReceivedTelegram: CAN_SDOTelegram;

TYPE CAN_SDOTelegram :     (* prefix: sdo *)
STRUCT
  wIndex:WORD;
  bySubIndex:BYTE;
  byLen:BYTE;
  aby: ARRAY [0..3] OF BYTE;
END_STRUCT
END_TYPE

Lokale Konstanten

Lokale Konstanten (c) beginnen mit dem Präfix c und einem Unterstreichungszeichen, gefolgt von einem Datentyppräfix und einem Variablennamen.

Beispiel

VAR CONSTANT
  c_uiSyncID: UINT := 16#80;
END_VAR

Globale Variablen und globale Konstanten

Globale Variable sind am Präfix g_ und globale Konstanten am Präfix gc_ erkennbar.

Beispiel

VAR_GLOBAL
  g_iTest: INT;
END_VAR
VAR_GLOBAL CONSTANT
  gc_dwExample: DWORD;
END_VAR

Variablennamen in Bibliotheken

Struktur

Für die Variablennamen gilt im Wesentlichen die obige Beschreibung. Verwenden Sie beim Zugreifen auf eine Variable in Ihrem Anwendungscode den Namespace der Bibliothek als Präfix.

Beispiel

g_iTest: INT; (declaration)
CAN.g_iTest (implementation, call in an application program

Benutzerdefinierte Datentypen (DUT) in Bibliotheken

Struktur

Der Name der einzelnen Strukturdatentypen besteht aus einer kurzen, aussagekräftigen Beschreibung (z.B. SDOTelegram) der Struktur.

Beispiel (in der Bibliothek mit dem Namespace CAL):

TYPE Day :(
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY);

Deklaration:

eToday: CAL.Day;

Verwendung in einer Anwendung:

IF eToday = CAL.Day.MONDAY THEN

HINWEIS: Bei einer Verwendung der in Bibliotheken deklarierten DUTs bzw. Aufzählungen sollten Sie die Möglichkeit einer Verwendung des Namespaces in Betracht ziehen.

Funktionen, Funktionsbausteine, Programme (POU), Aktionen

Stellen Sie den Namen von Funktionen, Funktionsbausteinen und Programmen einen kurzen aussagekräftigen Namen (z. B. SendTelegram) als Präfix voran. Wie bei den Variablen sollte der erste Buchstabe des Worts in einem POU-Namen immer mit einem Großbuchstaben beginnen, während alle anderen Worte in Kleinbuchstaben geschrieben sein sollten. Es empfiehlt sich, den Namen eines POUs aus einem Verb und einem Substantiv zu bilden.

Beispiel

FUNCTION_BLOCK SendTelegram (* prefix: canst *)

Geben Sie im Deklarationsteil eine kurze Beschreibung des POUs als Kommentar ein. Im weiteren Verlauf sollten auch Eingänge und Ausgänge mit Kommentaren versehen werden. Bei Funktions­bausteinen sollten Sie das zugeordnete Präfix für Einrichtungsinstanzen direkt nach dem Namen einfügen.

Aktionen

Aktionen erhalten kein Präfix. Nur den Aktionen, die ausschließlich intern und somit von der POU selbst aufgerufen werden, ist das Präfix prv_ vorangestellt.

POUs in Bibliotheken

Struktur

Bei der Definition von Methodennamen gelten die gleichen Regeln wie für Aktionen. Geben Sie eine Methode ggf. zusammen mit einem Kommentar ein. Fügen Sie bei der Deklaration der Methode eine kurze Beschreibung hinzu. Schnittstellennamen sollten mit einem I beginnen; z. B. ICANDevice.

HINWEIS: Bei der Verwendung von in Bibliotheken deklarierten POUs sollten Sie eine Verwendung des Namespaces in Betracht ziehen.