IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert...

38
DIN EN 61131 Fachsprachen Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik, Professur Prozessleittechnik VL Prozessleittechnik I (SS 2012) Professur für Prozessleittechnik

Transcript of IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert...

Page 1: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

DIN EN 61131 Fachsprachen

Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik, Professur Prozessleittechnik

VL Prozessleittechnik I (SS 2012) Professur für Prozessleittechnik

Page 2: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

61131-3 Programmiersprachen

• 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE

• Standardfunktionen und Standardfunktionsbausteine • Typwandlungsfunktionen typ1_TO_typ2

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 2

Textbasiert Grafisch

Anweisungsliste (AWL) Strukturierter Text (ST)

Kontaktplan (KOP) Funktionsbausteinsprache (FBS)

Ablaufsprache (AS)

Page 3: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 3

Übersicht

• Beispiel: – Setze Ausgang Q1.1 auf 1, wenn folgende Bedingungen

gleichzeitig erfüllt sind: • Eingänge I0.1 oder I0.2 oder Ausgang Q1.1 gesetzt • Eingang I0.3 gesetzt • Eingang I0.4 gesetzt

• Zu realisierender boolscher Ausdruck: Q1.1 = ( I0.1 ˅ I0.2 ˅ Q1.1) ˄ I0.3 ˄ I0.4

Page 4: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Lösung in den verschiedenen Fachsprachen

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 4

LD %IX0.1 OR %IX0.2 OR %QX1.1 AND %IX0.3 AND %IX0.4 ST %QX1.1

Q1.1:=(I0.1 OR I0.2 OR Q1.1) AND I0.3 AND I0.4;

( )

I0.1

I0.2

Q1.1

I0.3 I0.4 Q1.1

>1

&

=

I0.1 I0.2 Q1.1

Q1.1 I0.3

I0.4

S0

S1

T0

T1

I0.1

I0.2 I0.3 I0.4

I0.3

I0.4

Step 0 R Q1.1

Step 1 S Q1.1

S0

Page 5: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 5

Gemeinsame Elemente der Programmiersprachen

• Zeichensatz – Textelemente Spalten 002-007 der ISO/IEC-646 IRV – Zusätzlich Kleinbuchstaben (aber nicht case sensitiv),

# oder £, $ oder ¤, | oder ! • Bezeichner:

– Folge von Buchstaben, Ziffern und Unterstrich – Muss mit Buchstaben oder Unterstrich beginnnen – Mehrere oder angehängte Unterstriche sind nicht

zulässig – Mindestens sechs Zeichen werden zur eindeutigen

Unterscheidung genutzt, Maximum impl.-abh. • Leerzeichen, Kommentare (* *), Numerische Literale,

Zeichenfolgeliteral, Zeitdauer

Page 6: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 6

Zahlen- und Zeitdauerliterale

• Zahlen – Unterstriche zur Strukturierung erlaubt

• 100_000_000 3.14159_26

– Basis 2/8/16 Literale möglich • 2#1111_1111 8#377 16#ff

– Literale mit Typangaben • BOOL#0 UINT#16#FF

• Zeitdauern – kurzes/langes Präfix

• TIME#14ms T#14.7s

– mit/ohne Unterstrichen • t#5d14h12m18s3.5ms t#5d_14h_12m_18s_3.5ms

Page 7: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 7

Elementare Datentypen

• Wahrheitswert: • BOOL1

• Ganzzahl mit/ohne Vorzeichen: • SINT8, INT16, DINT32, LINT64 / USINT8, UINT16, UDINT32,

ULINT64

• Reele Zahl: • REAL32, LREAL64

• Zeiten: • TIME, DATE, TIME_OF_DAY/TOD, DATE_AND_TIME/DT

• Variabel lange Zeichenkette: • STRING8, WSTRING16

• Bit-Folgen: • BYTE8, WORD16, DWORD32, LWORD64

Page 8: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 8

Hierarchie der allgemeinen Datentypen (zur Festlegung von Ein/Ausgängen von POE) ANY +---- ANY_DERIVED +---- ANY_ELEMENTARY +---- ANY_MAGNITUDE | +---- ANY_NUM | | +---- ANY_REAL | | | +---- LREAL, REAL | | | | | +---- ANY_INT | | +---- LINT, DINT, INT, ULINT, SINT,

| | ULDINT, UDINT, UINT, USINT | +---- TIME | +---- ANY_BIT | +---- LWORD, DWORD, WORD, BYTE, BOOL | +---- ANY_STRING | +---- STRING, WSTRING | +---- ANY_DATE +---- DATE_AND_TIME, DATE, TIME_OF_DAY

Page 9: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 9

Abgeleitete Anwender- oder herstellerdefinierte Datentypen • TYPE Bezeichner : ... END_TYPE

• Aufzählung – TYPE A_SIG : (SINGLE, DIFF) ; END_TYPE

• Bereich – TYPE A_DATA : INT (-32000..32512) ; END_TYPE

• Feld – TYPE A_8IN : ARARY [1..16] OF A_DATA; END_TYPE

• Struktur – TYPE Bezeichner : STRUCT ... END_STRUCT;

END_TYPE

– Kann geschachtelt werden

Page 10: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 10

Einzelelementvariablen

&

I0.1

I0.0

&

Schalter 1 Schalter 2

Q1.1 Lampe

% Q X 7.3 Adresse der Variablen

X (Einzel-)Bit-Größe kein (Einzel-)Bit-Größe B Byte(8 Bit)-Größe W Word(16 Bit)-Größe D Doppelwort(32 Bit)-Größe L Langwort(64 Bit)-Größe

Speicherort I Eingang Q Ausgang M Merker

Kennung einer direkten Variablen (Optional)

Page 11: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

IEC 61131-3 Standardfunktionen 1/2

• Mit einer numerischen Variablen – ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN,

ACOS, ATAN

• Arithmetische Funktionen – ADD*, MUL*, SUB, DIV, MOD, EXPT,

• Bitfolgefunktionen – SHL, SHR, ROR, ROL

• Bitweise boolsche Standardfunktionen – AND*, OR*, XOR*, NOT,

• Auswahl – SEL, MAX*, MIN*, LIMIT, MUX*,

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 11

Page 12: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

IEC 61131-3 Standardfunktionen 2/2

• Vergleich – GT*, GE*, EQ*, LE*, LT*, NE

• Zeichenfolgen – LEN, LEFT, RIGHT, MID, CONCAT*, INSERT, DELETE,

REPLACE, FIND

• Zeit (DATE, TIME, TIME_OF_DAY,DATE_AND_TIME) – ADD, SUB, CONCAT_DATE_TOD

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 12

Page 13: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

IEC 61131-3 Standardfunktionsbausteine

• Bistabile Funktionsbausteine – SR (* vorrangig Setzen *)

– RS (* vorrangig Rücksetzen *)

• Flankenerkennung – R_TRIG (* steigende Flanke *)

– F_TRIG (* fallende Flanke *)

• Zähler – CTU, CTU_(D|L|UD|UL)INT (*Aufwärtszähler*)

– CTD, CTD_(D|L|UD|UL)INT (*Abwärtszähler*)

• Zeitgeber – TON, TOF (* Ein/Ausschaltverzögerung *)

– TP (* Puls *)

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 13

Page 14: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Textbasiert Grafisch

Anweisungsliste (AWL) Strukturierter Text (ST)

Kontaktplan (KOP) Funktionsbausteinsprache (FBS)

Ablaufsprache (AS)

Page 15: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 15

Anweisungsliste AWL (engl. Instruction List, IL, STEP7: AWL)

• AWL: universell einsetzbare Maschinensprache, vergleichbar mit einem Assembler.

– Nach wie vor am weitesten verbreitet. – wenig Möglichkeiten zur strukturierten Programmierung. – In den jeweiligen Implementierungen zum Teil

unterschiedliche Operatoren und Sprachumfänge

Page 16: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

AWLs „Virtuelle Maschine“

• AWL definiert implizit eine virtuelle Maschine mit – AKU – Variablen (funktionale Speicher)

• Zentrales Element ist der AKKUMULATOR (AKU) – Grundlegende Semantik von Operatoren

• Ergebnis := Ergebnis Operator Operand – Ergebnis und Operand müssen denselben Datentyp

besitzen

• Formale Syntax: [Marke:] Operator Operand [(* Kommentar *)]

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 16

Page 17: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Modifzierer für Negation, Zurückstellung, bedingte Auswertung

• N: Negation – ANDN %IX2 Erg := Erg AND NOT %IX2

• (: Zurückstellung der Auswertung bis zum Operator )

– AND( %IX1 Erg := Erg AND (%IX1 OR %IX2) OR %IX2 )

• C: Bedingung, Anweisung wird nur durchgeführt, wenn der vorherige Ausdruck eine boolsche 1 ergeben hatte

– Achtung: Modifizierer gelten nur für bestimmte Befehle

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 17

Page 18: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Operatoren der Anweisungsliste

Nr. Operator N ( C Bedeutung

1 LD N Erg := Operand

2 ST N Operand := Erg

3 S, R Operand := (bool) Erg

4-7 AND,&,OR,XOR N ( Erg := Erg OP Operand

7a NOT Einerkomplement

8-11a ADD,SUB,MUL, DIV,MOD

( Erg := Erg OP Operand

12-17 GT,GE,EQ,NE,LE,LT

( Erg := Erg OP Operand

18-20 JMP, CAL, RET N C Sprung, Aufruf, Rücksprung

21 ) Bearbeitung rückgesteller OP

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 18

Page 19: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Funktionsaufruf

• Eintrag Funktionsname in Operatorfeld • Argumente als nicht-formale Eingangsliste LIMIT(1,B,5)

Argumente als formale Eingangsliste LIMIT(

EN:=COND, IN:=B, MN:=1, MX:= 5, ENO => TEMPL )

• Zurückgegebener Wert (RET) wird Ergebnis – ST A

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 19

Page 20: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Einschub: Ausführungssteuerung mit EN/ENO

• Für Funktionen und Funktionsbausteine können ein zusätzlicher Freigabeeingang EN (Enable) und Ausgang ENO (Enable Out) oder beide zur Verfügung gestellt werden VAR_INPUT EN: BOOL := 1 ; END_VAR

VAR_OUTPUT ENO: BOOL ; END_VAR

• EN == False – Operation wird nicht ausgeführt, durch SPS

ENO := False • ENO == False

– Werte der Funktionsausgänge implementierungsabhängig

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 20

Page 21: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Funktionsbausteinaufruf

• Aufruf FBS mit nicht-formaler oder formaler Argumentliste – CAL C10(%IX10, FALSE, A, OUT, B)

– CAL C10( CU := %IX10, Q=> OUT)

• Aufruf mit Laden/Speichern mit FBS-Eingangs von Argumenten Operatoren – LD A LD A

ST C10.PV PV C10 LD %IX10 LD %IX10 ST C10.CU CU C10 CAL C10

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 21

Page 22: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Unvollständige formale Argumentliste oder Eingangsoperatoren

• Fehlende Argumente werden von der letzten Zuweisung (ggf. Initialisierung) übernommen

– Fehlende Argumente ändern sich also nicht! • Beispiel

VAR C10: CTU;

LD 15

PV C10

• Zähler C10 wird bei steigender Flanke auf Eingang CU

inkrementiert – CU ist nicht angegeben keine Änderung, Zähler zählt nicht!

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 22

Page 23: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 23

AWL Beispiel

LD %IX0.1 (* Lade Eingang 0.1 in Akku *)

OR %IX0.2 (* Akku=Akku oder Eingang 0.2 *)

OR %QX1.1 (* Akku=Akku oder Ausgang 1.1 *)

AND %IX0.3 (* Akku=Akku und Eingang 0.3 *)

AND %IX0.4 (* Akku=Akku und Eingang 0.4 *)

ST %QX1.1 (* Ausgang 1.1=Akku *)

Page 24: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Textbasiert Grafisch

Anweisungsliste (AWL) Strukturierter Text (ST)

Kontaktplan (KOP) Funktionsbausteinsprache (FBS)

Ablaufsprache (AS)

Page 25: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 25

Strukturierter Text (engl. Structured Text, ST, STEP7 SCL)

• Pascal-ähnliche, höhere Programmiersprache • Vorteile:

– sehr kompakte Formulierung – abstrakte maschinenferne Befehle – übersichtlicher Aufbau durch Anweisungsblöcke – umfangreiche, komplexe Aufgaben realisierbar

• Nachteile: – Qualität des Maschinencode ist abhängig von Compiler

(Übersetzer). – Bei einigen Compilern Effizienzverlust zur Laufzeit durch

höhere Abstraktion (ST-Code i.d.R. langsamer als AWL-Code)

Page 26: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Ausdrücke

• Auswertungsreihenfolge – Rangfolge (Punkt vor Strich): A+B*C – Auswertung von links nach rechts: A+B+C – Auswertung linker Operand zuerst: SIN(A)*SIN(B)

• Boolsche Ausdrücke – Lazy Evaluation ist erlaubt: (A>B)&(C>D)

• Operatoren – Funktionsaufruf, e.g. SIN(A) – - (Negation), NOT, **, *, / MOD, +, -, – <,>,<=,>=, =, <> – &, AND, XOR, OR

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 26

Page 27: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Anweisungen

• Zuweisung: A := B; C := SIN(X); • FBS-Aufruf: TMR(IN:=%IX5, PT:=T#300ms);

A := TMR.Q;

• Bed. Ausführung: IF B1 THEN … ELSIF B2 THEN … ELSE … END_IF;

• Falluntersch.: CASE B1 OF 1,5: … 7..10: … ELSE … END_CASE;

• Wiederholung: FOR I:= 1 TO 3 DO … END_FOR; WHILE B1 DO … END_WHILE; REPEAT … UNTIL B1 END_REPEAT;

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 27

Page 28: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 28

ST Beispiele (Viele Wege führen nach Rom)

• Beispiel 1: Q1.1:=(I0.1 OR I0.2 OR Q1.1) AND I0.3 AND I0.4;

• Beispiel 2: M = Q1.1; Q1.1:=0;

IF (I0.1 OR I0.2 OR M) THEN IF (I0.3 AND I0.4) THEN Q1.1:=1; END_IF; END_IF;

• Negativbeispiel 3: Q1.1:=((I0.1+I0.2+Q1.1)>0)*I0.3*I0.4

Page 29: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Textbasiert Grafisch

Anweisungsliste (AWL) Strukturierter Text (ST)

Kontaktplan (KOP) Funktionsbausteinsprache (FBS)

Ablaufsprache (AS)

Page 30: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 30

Kontaktplan KOP (engl. Ladder Diagramm, LD, STEP7: KOP)

• Funktionen werden durch Schaltsymbole aus der Elektrotechnik dargestellt:

– Schließer, Öffner usw., die schaltbildähnlich zu Netzwerken zusammengefügt werden.

– An den Seiten befinden sich zwei Stromschienen, zwischen denen die Relaislogik liegt (90° Drehung zur Anpassung an Computer/Textschreiben)

• Programmiersprache beschränkt sich im Wesentlichen auf boolsche Signale

– Reihenschaltung: UND – Parallelschaltung: ODER – Negation: Arbeitskontakt / Ruhekontakt

Page 31: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 31

KOP Beispiel

( )

I0.1

I0.2

Q1.1

I0.3 I0.4 Q1.1

Eingang: Schaltkontakt --| |-- Ausgang: Relaisspule --( )-- Negation: --|/|-- --(/)--

Page 32: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Textbasiert Grafisch

Anweisungsliste (AWL) Strukturierter Text (ST)

Kontaktplan (KOP) Funktionsbausteinsprache

Ablaufsprache (AS)

Page 33: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 33

Funktionsbausteinsprache FBS (engl. Function Block Language, FB, STEP7: FUP)

• Symbolik der Digitalen-Schaltungen • UND- , ODER-Gatter, • INVERTIERTER Eingang, usw. • gut strukturierte und übersichtliche Programmierung

bool´scher Verknüpfungen. • Grafisch anschauliche Programmierung des

Informationsfluss von ganzzahligen und Gleitkomma-Operationen.

Page 34: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 34

FBS Beispiel

>1

&

=

I0.1 I0.2 Q1.1

Q1.1 I0.3

I0.4

Page 35: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

Textbasiert Grafisch

Anweisungsliste (AWL) Strukturierter Text (ST)

Kontaktplan (KOP) Funktionsbausteinsprache (FBS)

Ablaufsprache (AS)

Page 36: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 36

Ablaufsprache AS (engl. Sequential Function Chart Language, SFC)

• Industrielle Automatisierungsaufgaben lassen sich häufig als Sequenz einzelner Schritte darstellen.

– Die Ausführung der Schritte hängt vom Erreichen einer Bedingung ab

– Verschiedene Schritte können/müssen auch parallel ausgeführt werden

• Vereinfachte Petrinetze: – Übergang von einem Schritt zu einen oder mehreren

(parallelen) folgenden Schritten erfolgt durch eine Übergangsbedingung (Transition).

– Aktionen und Transitionen werden in einer der vorgenannten Sprachen spezifiziert.

Page 37: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 37

AS Beispiel

S0

S1

T0

T1

I0.1

I0.2 I0.3 I0.4

I0.3

I0.4

Step 0

R Q1.1

Step 1

S Q1.1

S0

Page 38: IEC 61131 – Ein abstraktes Modell eines …...61131-3 Programmiersprachen • 61131-3 spezifiziert fünf Programmiersprachen zur Implementierung von POE • Standardfunktionen und

17.04.2012 PLT-1 (c) 2008-2012, UR Folie 38

Siemens STEP7 vs. IEC 61131-3

• Aus TIA, Anhang II, IEC 61131: – Die Programmiersprachen KOP und FUP entsprechen

den in der Norm DIN EN 61131-3 (int. IEC 61131-3) festgelegten Sprachen „Kontaktplan“ und „Funktionsbaustein-Sprache“. […]

– AWL entspricht der in der Norm DIN EN 61131-3 (int. IEC 61131-3) festgelegten Sprache „Anweisungsliste“, wobei hinsichtlich der Operationen wesentliche Unterschiede bestehen. […]

– Die Ablaufsprache S7-GRAPH entspricht der in der Norm DIN EN 61131-3 (int. IEC 61131-3) festgelegten Sprache „Sequential Function Chart“.

– Zusätzlich S7-HiGraph (Zustandsgraphen)