Herunterladen Inhalt Inhalt Diese Seite drucken

Allgemeine Programmierrichtlinien; Sicherheitsgerichtete Und Nicht Sicherheitsgerichtete Teile Der Anwendung - ABB AC-500-S Sicherheitshandbuch

Vorschau ausblenden Andere Handbücher für AC-500-S:
Inhaltsverzeichnis

Werbung

Programmierrichtlinien vom sicherheitsgerichteten CoDeSys > Sicherheitsgerichtete und nicht sicherheitsgerichtete Teile der Anwen-
Schlüsselwort
EXIT
RETURN

4.4.4 Allgemeine Programmierrichtlinien

Zusätzlich zu sprachenspezifischen Richtlinien sollten Fehler durch die Beachtung allgemeiner Richtlinien
vermieden werden. Diese Richtlinien sind hier in keiner besonderen Reihenfolge aufgeführt:
n
Wenige Zustände
Zustände in der Form von Variablen, die ihren Wert über einen Steuerungszyklus hinaus behalten,
erschweren die Prüffreundlichkeit einer Anwendung. Das kann mit den folgenden Maßnahmen verhindert
werden:
Vermeidung von Zuständen, wo immer möglich
Eine Zustandsvariable sollte nur einmal pro Zyklus beschrieben werden. Dies erleichtert das Finden
von Fehlern, wenn ein Zustand einen ungültigen Wert hat.
Wenn ein Zustand aus mehreren Variablen besteht, sollte er in einen Funktionsbaustein eingebettet
werden. Zustandsübergänge sollte nur vom Aufrufen eines Bausteins betroffen sein.
n
Keine Warnungen
Eine Sicherheitsanwendung darf keine Compiler-Warnungen generieren!
n
Begrenzte Anzahl von Zeilen pro Baustein (500)
Für eine bessere Transparenz sollte ein Baustein nicht mehr als 500 Zeilen haben.
Begrenzte Anzahl von Zeichen pro Zeile (150)
n
Für eine bessere Transparenz sollte eine Zeile nicht mehr als 150 Zeichen haben.
n
Keine Wiederverwendung von Variablen
Jede Variable sollte nur für einen Zweck eingesetzt werden. Eine Verwendung in einem anderen Kon-
text, auch wenn der vorherige Zweck nicht länger wichtig ist, enthält ein bedeutendes Fehlerpotential,
insbesondere im Rahmen von Änderungen.
n
Variablen so lokal wie nötig
Variablen, die nur in einem Baustein beschrieben sind, müssen lokal deklariert werden. Die einzige Aus-
nahme betrifft Variablen, die mit Adressen verknüpft sind. Diese sollten zur Vermeidung mehrfacher
Zuweisungen global deklariert werden.
n
Nur ein Zugriff auf Ausgang
Für Zustände sollten Ausgänge nur an einer Stelle im Programm beschrieben werden.
n
Kein Zugriff auf globale Variablen aus Funktionen und Funktionsbausteinen
Eine Funktion sollte keine Nebeneffekte haben und ein Funktionsbaustein sollte nur den Zustand seiner
eigenen Instanz ändern. Funktionen und Funktionsbausteine sollten deshalb keinen Zugriff auf globale
Variablen haben.

4.4.5 Sicherheitsgerichtete und nicht sicherheitsgerichtete Teile der Anwendung

Für sehr komplexe Anwendungen wird empfohlen, alle sicherheitsgerichteten Teile der Anwendung auf ein
separates Steuerungssystem zu übertragen. Wenn das nicht möglich ist, sollten diese Teile der Anwendung
durch die folgenden Maßnahmen getrennt werden:
n
Bausteine (Programme, Funktionsbausteine und Funktionen) sind entweder sicherheitsgerichtet oder
nicht. Sämtliche sicherheitsgerichteten Bausteine sollten einen bestimmten Präfix haben (z. B. "S_").
n
Das Aufrufen von nicht sicherheitsgerichteten Bausteinen in Sicherheitsbausteinen ist nicht erlaubt. Dies
muss mit der Funktion "Aufrufbaum ausgeben" überprüft werden.
05.07.2016
Geeignet (Ja / In begrenztem Maße / Nein) (Kommentar)
In begrenztem Maße (verlässt eine Schleife unverzüglich. Eine Schleife sollte
nur durch die Endbedingung verlassen werden.)
In begrenztem Maße (verlässt eine Subroutine unverzüglich. Eine Subroutine
sollte nur verlassen werden, nachdem alle Anweisungen verarbeitet worden
sind.)
AC500-S
Konfiguration und Programmierung
dung
231

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis