SPS-Standard IEC 61131- 3

Um ein SPS-Programm mit der TwinCAT PLC zu erstellen, stehen 5 verschiedene Sprachen nach IEC 61131-3 zur Verfügung.

Anweisungsliste (AWL)

Die Anweisungsliste ist der Programmiersprache STEP5 sehr ähnlich. Jede Anweisung beginnt in einer neuen Zeile und beinhaltet einen Operator und einen oder mehrere Operanden. Vor einer Anweisung kann sich eine Marke befinden, gefolgt von einem Doppelpunkt. Ein Kommentar muss das letzte Element in einer Zeile sein.

Beispiel:

Marke

Operator

Operand

Kommentar

Start:

LD

Beckenfuellstand

(* Füllstand laden *)

 

GE

13

(* Grenzwert erreicht? *)

 

JMPC

Pumpe_ein

 

 

R

Pumpe_Ansteuerung

(* Pumpe ausschalten *)

 

JMP

Ende

 

Pumpe_ein:

S

Pumpe_Ansteuerung

(* Pumpe einschalten *)

Ende:

 

 

 

Strukturierter Text (ST)

Man spricht bei dieser Programmiersprache auch von einer höheren Programmiersprache, da nicht "maschinennahe" Befehle verwendet werden, sondern über abstrakte Befehle mächtige Befehlsfolgen aufgebaut werden können. Aus dem PC-Bereich sind Basic, PASCAL und C vergleichbare höhere Programmiersprachen.

Beispiel:

Operator

Operand

Kommentar

CASE Temperatur_Ofen OF

 

(* Heizleistung regeln *)

 

60..99: Heizung := 80;

(* 80% *)

 

100..149: Heizung := 60;

(* 60% *)

 

150..199: Heizung := 35;

(* 35% *)

 

200..250: Heizung := 10;

(* 10% *)

ELSE Alarm := TRUE;

 

(* Alarm setzen *)

END_CASE;

 

 

Funktionsplan (FUP)

Der Grundgedanke bei der SPS-Programmierung mit Funktionsplan ist, dass der Aufbau in funktionsorientierten logischen Ablaufketten (Netzwerke) erfolgt. Innerhalb eines Netzwerks ist die Abarbeitungsrichtung stets von links nach rechts. Vor Ausführung eines Bausteins müssen alle Eingangswerte gebildet worden sein. Die Auswertung eines Netzwerks ist erst dann abgeschlossen, wenn die Ausgangswerte aller Elemente berechnet sind.

Beispiel:

SPS-Standard IEC 61131- 3 1:

Kontaktplan (KOP)

Aus dem Bereich des elektrotechnischen Anlagenbaus stammt die Darstellung von logischen Abläufen in Form des Kontaktplans. Für die Umsetzung von Relaisschaltungen in SPS-Programmen ist diese Darstellung besonders gut geeignet. Die Bearbeitung beschränkt sich auf die boolschen Signale 1 und 0.

SPS-Standard IEC 61131- 3 2:

Ablaufsprache (AS)

Die Ablaufsprache ist dort sinnvoll, wo eine Schrittkettenprogrammierung notwendig ist. Komplexe Aufgaben werden in übersichtliche Programmteile (Schritte) zerlegt. Anschließend wird der Ablauf zwischen diesen Schritten grafisch festgelegt. Die Schritte selbst werden in einer anderen Programmiersprache (ST, AWL, ...) erstellt oder können auch wieder in AS dargestellt werden.

SPS-Standard IEC 61131- 3 3:

AS-Programme bestehen im Wesentlichen aus Schritten, Transitionen (Übergangsbedingungen) und ihren Verknüpfungen. Jedem Schritt ist eine Menge von Befehlen zugeordnet; diese Befehle werden ausgeführt, wenn der Schritt aktiv ist. Eine Transition muss erfüllt sein, damit der nachfolgende Schritt ausgeführt wird. Die Schritte und die Transitionen können in einer beliebigen Sprache formuliert werden.

Freigrafischer Funktionsplaneditor (CFC)

Der freigraphische Funktionsplaneditor arbeitet nicht wie der Funktionsplan FUP mit Netzwerken, sondern mit frei platzierbaren Elementen. Dies erlaubt beispielsweise Rückkopplungen.
Ein Beispiel für ein Netzwerk im Freigraphischen Funktionsplaneditor könnte typischerweise so aussehen:

SPS-Standard IEC 61131- 3 4: