Programmierrichtlinien vom sicherheitsgerichteten CoDeSys > Sprachenspezifische Programmierrichtlinien
4.4.3.6
Datentypen
Die folgenden Datentypen aus CoDeSys sind für Sicherheitsanwendungen zugelassen:
Einfacher Datentyp
Schlüsselwort
BOOL
BYTE, SINT, USINT
WORD, INT, UINT
DWORD, DINT, UDINT
TIME, TOD, DATE, DT
STRING
REAL
Komplexe Datentypen
Schlüsselwort
ARRAY
STRUCT
Listing-Typen
Unterbereichstypen
POINTER
Die folgenden Regeln müssen bei der Verwendung von komplexen Datentypen beachtet werden:
Bei komplexen Datentypen wird die Typendeklaration empfohlen
n
n
Vor jedem Zugriff auf ein Array muss eine explizite Bereichsüberprüfung des Index durchgeführt werden.
Bei einer Verletzung, die nicht durch die Anwendung erklärt werden kann, sollte das Steuerungssystem
in einen sicheren Zustand überführt werden.
4.4.3.7
Bausteine
Sämtliche Bausteintypen aus IEC 61131-3 sind für Sicherheitsanwendungen geeignet:
PROGRAM
n
n
FUNKTIONS
n
FUNCTION_BLOCK
05.07.2016
Geeignet (Ja / In begrenztem Maße / Nein) (Kommentar)
Ja
Ja
Ja
Ja
Ja
In begrenztem Maße (technisch möglich, allerdings aufgrund fehlender
sicherheitsgerichteter E/A-Geräte wenig sinnvoll)
In begrenztem Maße (fehleranfällig durch Rundungsfehler; deshalb keine
Abfrage mit EQ-Operator; beachten Sie ungültige Operationen wie Division
durch Null, Quadratwurzel oder Logarithmus einer negativen Zahl)
Geeignet (Ja / In begrenztem Maße / Nein) (Kommentar)
In begrenztem Maße (nur mit expliziter Bereichsüberprüfung, ansonsten zu
fehleranfällig)
Ja
Ja
Ja
In begrenztem Maße (empfohlene Maßnahmen: keine Zeigerarithmetik,
Bereichsüberprüfung, Neuzuweisung eines Zeigerwerts beim Start jedes
Zyklus)
AC500-S
Konfiguration und Programmierung
225