Steuerung Eingabe Ausgabe Aktoren Sensoren

www2.pmf.fh.goettingen.de

Steuerung Eingabe Ausgabe Aktoren Sensoren

Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 1]

Steuerung

SPS

Eingabe

Ausgabe

. . . . . .

Sensoren

Aktoren

Prozess

Abbildung 1.2a: Komponenten eines Automatisierungssystems

HMI

Leitwarte

SPS

SPS

Steuerungen

E/A E/A E/A E/A

Ein- und Ausgaben

Sensoren

Aktoren

Abbildung 1.2b: Hierachie eines Automatisierungssystems

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 1


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 2]

zentrale Steuerung

paralleler

Bus

zentrale Einund

Ausgaben

dezentrale Steuerung

CPU

E / A

CPU

E / A

(Automatisierungsgeräte)

z.B. RS 232

PC

serieller Feldbus

(Kommunikationstechnik)

Programmiergerät

PC

Bedien- und

Darstellgerät (HMI)

E / A

dezentrale Einund

Ausgaben

Abbildung 1.2c: Aufbau eines Automatisierungssystems

Relais-Stromlaufplan der VPS

Kontaktplan der SPS

Abbildung 2.0: Vom Relais-Stromlaufplan der VPS zum Kontaktplan der SPS

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 2


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 3]

IEC 61131-3

Internationale Norm für "Programmable Controllers" (PC oder PLC)

- zu deutsch "Speicherprogrammierbare Steuerungen" (SPS) –

Teil 3: Programmiersprachen

Teil 1: Allgemeine Information

Teil 2: Betriebsmittelanforderungen und -prüfungen

Teil 4: Anwenderhinweise

Teil 5: Kommunikationsdienste

vom Technical Committee TC65 für "Industrial-Process Measurement

And Control" in der International Electrotechnical Commission

Was wird festgelegt (genormt) Syntax und Semantik von Programmiermethoden für SPS

• Ein SPS Programm sollte schnell, einfach und ohne tiefgreifende Kenntnisse der Mikroelektronik und

diverser Programmiersprachen erstellt werden können.

• Dem geübten „Programmierer“ sollten jedoch auch Hilfsmittel in die Hand gegeben werden, um seinen

Anforderungen nach effektiver Programmierung gerecht zu werden.

Die Normungsbestrebungen haben das Ziel die Programmierung der SPS zu vereinheitlichen.

Dies spart Zeit und Kosten; speziell dann, wenn eine Firma aus verschiedenen Gründen SPS’en

verschiedener Hersteller einsetzt.

• Der Programmierer braucht nicht herstellerspezifische Sprachen zu lernen (Schulungskosten).

• Aufgrund der Standardisierung können Programme teilweise auf anderen Systemen wieder verwendet

werden (Erstellungskosten).

• Die Systeme werden leichter wartbar (sie sind stabil).

Abbildung 2.1a: Was ist die IEC 61131-3

Sprachen nach IEC 61131-3 Sprachen nach DIN 19239

bzw. VDI 2880 Blatt 4

Bezeichnung (deutsch) Bezeichnung (englisch) Symbolik Bezeichnung (deutsch)

Sprache AWL

(Anweisungsliste)

Language IL

(Instruction List)

LD …

AND …

OR …

AWL

Anweisungsliste

Sprache ST

(Strukturierter Text)

Language ST

(Structured Text)

IF . . .

THEN … ELSE …

Sprache KOP

(Kontaktplan)

Sprache FBS

(Funktionsbaustein-

Sprache)

Language LD

(Ladder Diagram)

Language FBD

(Function Block Diagram)

| |

+--| |-- … -( )—+

| |

+--+

--|& |

--| |--

+--+

KOP

Kontaktplan

FUP

Funktionsplan

Sprache AS

(Ablaufsprache)

Language SFC

(Sequential Function

Chart)

|

+

|

+---+

| |

| |

+---+

Abbildung 2.1b: Die genormten Programmiersprachen

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 3


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 4]

Marke Operator Operand Kommentar

start: LD Taster (* Lade Wert des Operanden ins aktuelle Ergebnis *)

ANDN Sperre (* Verknüpfe aktuelles Ergebnis über UND NICHT mit Wert des Operanden *)

ST Luefter (* Speichere aktuelles Ergebnis im Operanden *)

Abbildung 2.2a: Beispiel für die Programmierung in AWL

Nr. Operator Modifizierer Operand Bedeutung

1 LD N (Anm.1) Lädt (N: negierten) Wert des Operanden ins aktuelle Ergebnis

2 ST N (Anm.1) Speichert aktuelles Ergebnis im Operanden

3 S (Anm.2) BOOL Setzt booleschen Operand auf 1

R (Anm.2) BOOL Setzt booleschen Operand auf 0 zurück

4 AND N, ( BOOL Boolesches UND

5 & N, ( BOOL Boolesches UND

6 OR N, ( BOOL Boolesches ODER

7 XOR N, ( BOOL Boolesches Exklusiv-ODER

8 ADD ( (Anm.1) Addition

9 SUB ( (Anm.1) Subtraktion

10 MUL ( (Anm.1) Multiplikation

11 DIV ( (Anm.1) Division

12 GT ( (Anm.1) Vergleich: >

13 GE ( (Anm.1) Vergleich: >=

14 EQ ( (Anm.1) Vergleich: =

15 NE ( (Anm.1) Vergleich

16 LE ( (Anm.1) Vergleich:


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 5]

1. ODER-vor-UND-Verknügfung e = (a + b) · (c + d)

LD a

OR b

AND( c

OR d

)

ST e

2. diskrete XOR-Verknüpfung c = a · b + a · b

LD a

ANDN b

OR( b

ANDN a

)

ST c

3. diskrete Selbsthaltung mit dominantem Rücksetzen

LDN

AND(

OR

)

ST

r

s

q

q

4. diskrete Selbsthaltung mit dominantem Setzen

LD

OR(

ANDN

)

ST

s

q

r

q

Abbildung 2.2d: Beispiele für logische Operationen in AWL

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 5


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 6]

Abbildung 3.1a: EVA-Prinzip

Abbildung 3.1b: Signalkette

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 6


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 7]

S p e i c h e r

SPS-Betriebssystem

(Grundsoftware, Firmware)

SPS-Programmspeicher

(Anwenderprogramm)

SPS-Datenspeicher

(Signalspeicher)

zyklische Arbeitsweise

(Tasks)

Anweisungen

(Verknüpfungen)

Variablen

(Eingänge, Ausgänge)

Abbildung 3.1c: Speicheraufteilung

Start

Eingänge

Prozessabbild der Eingänge

einlesen

Einlesen der Signalzustände

von den Eingängen in den

Signalspeicher

(Prozessabbild)

Programm 1

. . .

Programm 2

Bearbeiten der Anweisungen

(Verknüpfungen) im

Anwenderprogramm

unter Verwendung des

Prozessabbildes im

Signalspeicher

Ausgänge

Prozessabbild der Ausgänge

ausgeben

Ausgabe des Prozessabbildes

aus dem Signalspeicher an

die Ausgänge

Stopp

Abbildung 3.1d: Zyklische Arbeitsweise

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 7


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 8]

Abtasttheorem von Shannon:

f

e


1

2

f

zyk

=

1

2 ⋅T

zyk

t Puls ≥ T zyk und t Pause ≥ T zyk

Einlesezeitpunkte

SPS-Zyklus

T zyk

Eingangssignale

1:

f

e

1

= 2 ⋅T

zyk

t Puls

t Pause

2:

f

e

< 1

2 ⋅T

zyk

3:

f

e

> 1

2 ⋅T

zyk

f a

1

"Alaising" (Unterabtastung)

2 3

f zyk /2

f zyk 3f zyk /2 2f zyk

f e

Abbildung 3.3: Abtasttheorem

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 8


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 9]

Konfiguration

Resource Ressource

Resource Ressource

Task Task Task Task

Programm Programm Programm Programm

FB

FB

FB

FB

Globale Variablen

Zugriffspfade

Abbildung 4.1: Softwaremodell

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 9


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 10]

Schlüsselwort Datentyp Bits

BOOL boolesche 1

BYTE Bit-Folge 8 8

WORD Bit-Folge 16 16

DWORD Bit-Folge 32 32

LWORD Bit-Folge 64 64

SINT kurze ganze Zahl (short integer) 8

INT ganze Zahl (integer) 16

DINT doppelte ganze Zahl (double integer) 32

LINT lange ganze Zahl (long integer) 64

USINT … ULINT vorzeichenlose Zahlen (unsigned) 8 … 64

REAL Gleitpunkt-Zahl 32

LREAL lange Gleitpunkt-Zahl 64

TIME Zeitdauer *

DATE Datum (nur) *

TIME_OF_DAY oder

TOD

Uhrzeit (nur) *

DATE_AND_TIME oder Datum und Uhrzeit *

DT

STRING variabel-lange Zeichenfolge *

Abbildung 4.2.2: Datentypen (* implementierungsabhängig)

ANY

ANY_NUM

ANY_REAL

LREAL, REAL

ANY_INT

LINT, DINT, …, ULINT, …

ANY_BIT

LWORD, DWORD, …, BOOL

STRING

ANY_DATE

DATE_AND_TIME

DATE

TIME_OF_DAY

TIME

Abbildung 4.2.2.1: Hierarchie der generische Datentypen

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 10


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 11]

Aufzählung (Liste, eingeschlossen in Klammern), z.B.

TYPE SIGNAL_FORM_TYPE : (RECHTECK, DREIECK, SAEGEZAHN, SINUS) ;

END_TYPE

Bereich (von .. bis Bereich in Klammern eingeschlossen), z.B.:

TYPE ANALOG_DATA : INT (-4095..4095) ; END_TYPE

Feld (bestimmt durch ARRAY [Bereich von … bis] OF bekannter Datentyp), z.B.:

TYPE ANALOG_16_INPUT_DATA : ARRAY [1..16] OF ANALOG_DATA ; END_TYPE

Struktur (eingeschlossen durch das Konstrukt STRUCT .. END_STRUCT), z.B.:

TYPE

ANALOG_CHANNEL_CONFIGURATION :

STRUCT

RANGE : ANALOG_SIGNAL_RANGE ;

MIN_SCALE : ANALOG_DATA ;

MAX_SCALE : ANALOG_DATA ;

END_STRUCT ;

ANALOG_16_INPUT_CONFIGURATION :

STRUCT

FILTER_PARAMETER : SINT (0..99) ;

CHANNEL : ARRAY [1..16] OF ANALOG_CHANNEL_CONFIGURATION ;

END_STRUCT ;

END_TYPE

Abbildung 4.2.2.2: Abgeleitete (eigene) Datentypen

Beschreibung

Beispiele

Integer Literal -12, 0, 123_456, +986

Real Literale

-12.0, 0.0, 0.456, 3.14159_26

Real Literale mit Exponenten -1.34E-12 oder -1.34e-12

boolesche Literale 0, 1 oder FALSE, TRUE

Basis-2 Literale

2#1111_1111 (255 dezimal)

Basis-8 Literale

8#377 (255 dezimal)

Basis-16 Literale

16#FF oder 16#ff (255 dezimal)

Zeitdauer

T#14ms, T#14.7s, T#14.7m,

T#14.7h, t#14.7d, t#25h15m,

t#5d14h12m18s3.5ms oder

TIME#14ms, time#14.7s,

time#5d_14h_12m_18s_3.5ms

Abbildung 4.2.3: Konstanten („Literale“)

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 11


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 12]

Schlüsselwort

VAR

VAR_INPUT

VAR_OUTPUT

VAR_IN_OUT

VAR_EXTERNAL

VAR_GLOBAL

VAR RETAIN

VAR CONSTANT

Gebrauch der Variablen

Innerhalb der Organisationseinheit

Von außerhalb geliefert,

nicht innerhalb der Organisationseinheit änderbar

Von der Organisationseinheit nach außen geliefert

Von außerhalb geliefert,

kann innerhalb der Organisationseinheit geändert werden

Von der Konfiguration geliefert via VAR_GLOBAL

kann innerhalb der Organisationseinheit geändert werden

Deklaration von globalen Variablen

Gepufferte Variablen (Wert bleibt bei Stromausfall erhalten)

Konstante Variablen (Wert kann nicht geändert werden)

Abbildung 4.2.4: Schlüsselwörter für Variablendeklarationen

Schlüsselwortanteil

Bedeutung

%I Eingang

%Q Ausgang

%M Merker

X

Bit-Größe

kein Bit-Größe

B

Byte (8 bits) Größe

W

Wort (16 bits) Größe

D

Doppelwort (32 bits) Größe

L

Langwort (64 bits) Größe

Abbildung 4.2.4.1: Schlüsselwortanteile (Präfixe) für direkte Variablen

VAR

AT %IW6.2 : WORD; (* "direkte" Variable für "physikalische" Adressierung ohne Variablennamen *)

AT %MW6 : INT ; (* "located" Variable mit AT, d.h. vorgegebene Speicherzuteilung *)

conv_start : BOOL AT %QX25; (* Variablenname für "symbolische" Adress. *)

condition_red : BOOL; (* "unlocated" Variable, d.h. automatische Speicherzuteilung *)

valve_pos AT %QW28 : INT := 100; (* mit Anfangswert, "Initialisierung" *)

END_VAR

VAR CONSTANT

pi : REAL := 3.14;

END_VAR

Abbildung 4.2.4.2: Beispiele für Variablen-Deklarationen

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 12


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 13]

Programm

Funktion

Funktions-Baustein

Funktion Funktion Funktions-Baustein

Abbildung 4.3: Aufruf-Hierarchie der Programm-Organisationseinheiten

FUNCTION or_and : BOOL ; (* der Name und der Daten-Typ entspricht dem Rückgabewert *)

VAR_INPUT

var1, var2, var3 : BOOL ; (* alle Eingänge erfordern Parameter-Namen *)

END_VAR

or_and := (var1 OR var2) AND var3 ; (* Anweisungsteil der Funktion *)

END_FUNCTION

Abbildung 4.3.1.2: Beispiel zur Deklaration von eigenen Anwender-Funktionen

Darstellung

Deklaration

+-----+

+-----+

S1----------------| >=1 |---Q1

| SR | +---+ | |

BOOL---|S1 Q1|---BOOL R------O| & |----| |

BOOL---|R | Q1------| | | |

+-----+ +---+ +-----+

+---+

+-----+ R1-----------------O| & |---Q1

| RS | +-----+ | |

BOOL---|S Q1|---BOOL S-------| >=1 |----| |

BOOL---|R1 | Q1------| | | |

+-----+ +-----+ +---+

FUNCTION_BLOCK F_TRIG

+--------+ VAR_INPUT CLK: BOOL; END_VAR

| F_TRIG | VAR_OUTPUT Q: BOOL; END_VAR

BOOL---|CLK Q|---BOOL VAR M: BOOL := 1; END_VAR

+--------+ Q := NOT CLK AND NOT M;

M := NOT CLK;

END_FUNCTION_BLOCK

Abbildung 4.3.2.1a: Beispiele für Standard-Funktionsbausteine

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 13


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 14]

+-------+

| *** |

*** = TP (PULS)

TON (Einschaltverzögerung)

BOOL---|IN Q|---BOOL TOF (Ausschaltverzögerung)

TIME---|PT ET|---TIME

+-------+

+--------+ ++ ++ +--------+ TP

IN | | || || | |

--+ +-----++-++---+ +---------

t0 t1 t2 t3 t4 t5

+----+ +----+ +----+

Q | | | | | |

--+ +---------+ +--+ +-------------

t0 t0+PT t2 t2+PT t4 t4+PT

PT +---+ + +---+

: / | /| / |

ET : / | / | / |

: / | / | / |

: / | / | / |

0-+ +-----+ +--+ +---------

t0 t1 t2 t4 t5

+--------+ +---+ +--------+ TON

IN | | | | | |

--+ +--------+ +---+ +-------------

t0 t1 t2 t3 t4 t5

+---+ +---+

Q | | | |

-------+ +---------------------+ +-------------

t0+PT t1 t4+PT t5

PT +---+ +---+

: / | + / |

ET : / | /| / |

: / | / | / |

: / | / | / |

0-+ +--------+ +---+ +-------------

t0 t1 t2 t3 t4 t5

+--------+ +---+ +--------+ TOF

IN | | | | | |

---+ +--------+ +---+ +-----------

t0 t1 t2 t3 t4 t5

+-------------+ +---------------------+

Q | | | |

---+ +---+ +------

t0 t1+PT t2 t5+PT

PT +---+ +------

: / | + /

ET : / | /| /

: / | / | /

: / | / | /

0------------+ +---+ +--------+

t1 t3 t5

Abbildung 4.3.2.1b: Zeitverhalten der Standard-Funktionsbausteine TP, TON, TOF

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 14


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 15]

FUNCTION_BLOCK puls (* puls ist selbstgewählter Name des FB-Typs *)

(* Beachte: Ein FB hat im Gegensatz zur Funktion keinen Rückgabewert! *)

(* Funktionsbaustein-Kopf = Deklarationsteil *)

VAR_INPUT (* die Eingangsparameter i1, i2 werden links im FBS-Symbol dargestellt *)

i1 : BOOL;

i2 : BOOL;

END_VAR

VAR_OUTPUT (* der Ausgangsparameter g wird rechts im FBS-Symbol dargestellt *)

q : BOOL;

END_VAR

VAR (* die lokale Variable m wird nicht im FBS-Symbol dargestellt *)

m : BOOL;

END_VAR

(* Funktionsbaustein-Rumpf = Anweisungsteil *)

q := i1 AND i2 AND NOT m;

m := q;

END_FUNCTION_BLOCK

Abbildung 4.3.2.2: Beispiel zur Deklaration von eigenen Anwender-Funktionsbausteinen

PROGRAM test (* test ist selbstgewählter Name des Programms *)

(* Programm-Kopf = Deklarationsteil in ST *)

VAR

start_puls, sperr_puls : puls; (* start_puls und sperr_puls sind die Namen der FB-Instanzen

(* puls ist der FB-Typ *)

sensor AT %IX0.0 : BOOL; (* located Variablen vom Daten-Typ BOOL *)

schalter AT %IX0.1 : BOOL;

start, sperre : BOOL; (* unlocated Variablen *)

freigabe : BOOL := 1; (* Variablen-Anfangswert 1 *)


END_VAR

(* Programm-Rumpf = Anweisungsteil in FBS *)

(* Aufruf der FB-Instanz start_puls mit Werteübergabe der Variablen sensor an den Parameter i1 *)

freigabe

start_puls

EN

puls

ENO

sperr_puls

puls

ENO

sensor

i1 q

start schalter

i1 q

sperre

1 i2


i2

EN


END_PROGRAM

Abbildung 4.3.2.3: Beispiel zum Aufruf von Funktionsbausteinen

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 20.10.05] Seite 15


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 16]

Abbildung 5.1: Der Weg von der Programmerstellung bis zur Übertragung in die SPS

Abbildung 5.2: Fehlerverteilung in SPS-gesteuerten Anlagen

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 16


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 17]

Beispiel

Beschreibung

|

+=========+

|| Start || Anfangsschritt

+=========+

|

+- %IX2.4 & %IX2.3

|

+-------+

|fuellen|

+-------+

|

Transition

mit Bedingung in ST-Sprache

Schritt

|

+=========+

|| start ||

+=========+

|

| %IX2.4 %IX2.3 |

+---||-----||--------+ Bedingung in KOP

| |

+-------+

|fuellen|

+-------+

|

|

+=========+

|| start ||

+-------+ +=========+

| & | |

%IX2.4---| |-------+ Bedingung in FBS

%IX2.3---| | |

+-------+ +-------+

|fuellen|

+-------+

|

Abbildung 6.3: Beispiele zur Darstellung von Schritten und Transitionen

Beispiel

Beschreibung

|

+---------+ +-----+---------------+----+

| fuellen |--| L | fuellaktion_1 |voll| Bestimmungszeichen: L

+---------+ |t#10s| | |

| +-----+---------------+----+ Aktionsname: fuellaktion_1

+ voll | P | fuellaktion_2 | |

| +-----+---------------+----+ Rückkopplungsvariable (optional): voll

| | N | fuellaktion_3 | |

| +-----+---------------+----+

Abbildung 6.4a: Beispiel zur Darstellung von Aktionen

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 17


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 18]

+-----+--------------+-----+

---| "a" | "b" | "c" |--- "a" : Bestimmungszeichen

+-----+--------------+-----+

| "d" | "b" : Aktionsname

| |

+--------------------------+ "c" : boolesche Rückkopplungsvariable

"d" : Anweisungsteil der Aktion

Abbildung 6.4b: Elemente eines Aktionsblocks

Bestimmungszeichen

Erläuterung

(kein Zeichen)

Nicht-gespeichert

N

Nicht-gespeichert

R

vorrangiges rückssetzen

S

setzen (gespeichert))

L

zeitbegrenzt

D

zeitverzögert

P

Impuls (Flanke)

SD

gespeichert und zeitverzögert

DS

verzögert und gespeichert

SL

gespeichert und zeitbegrenzt

Abbildung 6.4c: Bestimmungszeichen für Aktionen

Abbildung 6.4d: Beispiel für die Verwendung von Bestimmungszeichen

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 18


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 19]

Abbildung 6.5: Ablaufkette

Beispiel

Beschreibung

|

+----+ Einfache Kette:

| S3 | Der Wechsel Schritt/Transition

+----+ wird als Folge wiederholt.

|

+ c Beispiel:

| Ein Ablauf von Schritt S3 zu Schritt S4

+----+ findet nur dann statt, wenn

| S4 |

Schritt S3 in aktivem Zustand ist und

+----+

die Transitionsbedingung c wahr ist.

|

Beispiel

Beschreibung

| Kettenauswahl mit Stern:

+----+ Eine Auswahl zwischen mehreren Ketten

| S5 | wird durch so viele Transitionssymbole

+----+ unter der horizontalen Linie dargestellt,

| wie es unterschiedliche mögliche

+-----*----+--... Abläufe gibt. Der Stern (*) gibt an, dass die

| | Transitionen von links nach rechts

+ e + f bearbeitet werden.

| |

+----+ +----+ Beispiel :

| S6 | | S8 | Ein Ablauf von S5 nach S6

+----+ +----+ findet nur statt, wenn S5 aktiv ist und

| | die Transitionsbedingung e wahr ist

oder von S5 nach S8 nur wenn S5 aktiv ist

und f wahr und e falsch ist.

Abbildung 6.6a: Kettenauswahl mit Priorität von links nach rechts

Beispiel

Beschreibung

| Kettenauswahl mit Prioritätsnummern:

+----+ Der Stern gefolgt von numerierten

| S5 | Zweigen zeigt eine anwender-definierte Priorität der

+----+ Transitionsauswertung an, dabei hat der Zweig mit

| der niedersten Nummer die höchste

+-----*-----+--... Priorität.

|2 |1

+ e + f Beispiel:

| | Ein Ablauf von S5 nach S8 findet nur statt, wenn

+----+ +----+ S5 aktiv ist und die Transitionsbedingung

| S6 | | S8 | f wahr ist oder von S5 nach S6

+----+ +----+ nur, wenn S5 aktiv ist und e wahr ist

| | und f falsch ist.

Abbildung 6.6b: Kettenauswahl mit Prioritätsnummern

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 19


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 20]

Beispiel

Beschreibung

| Kettenauswahl ohne Priorität:

+----+ Bei einer Kettenauswahl ohne Stern fehlt die Priorität.

| S5 | Der Anwender muss selbst dafür sorgen, dass die

+----+ Transitionsbedingungen sich gegenseitig

| ausschließen!

+-----+-----+--...

| | Beispiel:

+e +NOT e Ein Ablauf von S5 nach S6 findet nur statt, wenn

| | & f S5 aktiv ist und die Transitionsbedingung

+----+ +----+ e wahr ist oder von S5 nach S8

| S6 | | S8 | nur wenn S5 aktiv ist und e falsch ist

+----+ +----+ und f wahr ist.

| |

Abbildung 6.6c: Kettenauswahl ohne Priorität

Beispiel

Beschreibung

| | Zusammenführung einer Kettenauswahl:

+----+ +----+ Das Ende einer Kettenauswahl wird

| S7 | | S9 | durch soviele Transitionssymbole

+----+ +----+ über der horizontalen Linie dargestellt, wie

| | es Auswahlpfade gibt, die zu beenden sind.

+ h + j

| | Beispiel:

+-----+-----+--... Ein Ablauf von S7 nach S10 findet nur statt,

| wenn S7 aktiv ist und die Transitionsbedingung

+----+ h wahr ist oder von S9 nach S10

|S10 | nur, wenn S9 aktiv ist und j wahr ist.

+----+

|

Abbildung 6.6d: Zusammenführung einer Kettenauswahl

Beispiel

Beschreibung

| Verzweigung von Simultanketten:

+----+ Es ist nur ein gemeinsames Transitionssymbol

|S11 | unmittelbar über der doppelten horizontalen

+----+ Synchronisationslinie möglich.

|

+ b Beispiel:

| Ein Ablauf von S11 nach S12, S14,... findet nur

==+=====+=====+==... statt, wenn S11 aktiv ist und

| | die Transitionsbedingung b,

+----+ +----+ die zur gemeinsamen Transition gehört, ebenfalls wahr ist.

| S12| | S14| Nach der simultanen Aktivierung

+----+ +----+ von S12, S14, usw. laufen die Ketten unabhängig von

| | einander ab.

| |

Abbildung 6.7a: Verzweigung von Simultanketten

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 20


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 21]

Beispiel

Beschreibung

| | Zusammenführung von Simultanketten:

+----+ +----+ Es ist nur ein gemeinsames Transitionssymbol

| S13| | S15| unmittelbar unter der doppelten horizontalen

+----+ +----+ Synchronisationslinie möglich.

| |

==+=====+=====+==... Beispiel :

| Ein Ablauf von S13, S15,...nach S16 findet nur

+ d statt, wenn alle Schritte aktiv sind, die oberhalb

| und verbunden mit der doppelten horizontalen

+----+ Linie sind und die Transitionsbedingung d, die

|S16 | zur gemeinsamen Transition gehört,

+----+

|

Abbildung 6.7b: Zusammenführung von Simultanketten

Beispiel

Beschreibung

| Ketten-Sprung :

+-----+ Ein "Ketten-Sprung" ist ein Sonderfall der Kettenauswahl,

| S30 | bei der einer oder mehrere Zweige keine Schritte enthalten.

+-----+

| Die Eigenschaften entsprechen den Darstellungs-

+---*---+ möglichkeiten, die in den Abbildungen 6a,b,c

| | angegeben sind.

+ a +d

| |

+-----+ |

| S31 | | Beispiel:

+-----+ | (Eigenschaft der Abb. 6a ist gezeigt)

| | Ein Ablauf von S30 nach S33 findet nur statt,

+ b | wenn a falsch und d wahr ist, d.h.

| | die Kette (S31, S32) wird übersprungen.

+-----+ |

| S32 | |

+-----+ |

| |

+ c |

| |

+---+---+

|

+-----+

| S33 |

+-----+

|

Abbildung 6.8: Beispiel für einen Kettensprung

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 21


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 22]

Beispiel

Beschreibung

| Ketten-Schleife:

+-----+ Eine Ketten-Schleife ist ein Sonderfall einer

| S30 | Kettenauswahl in der ein der ein oder mehrere

+-----+ Zweige zu einem Vorgängerschritt zurückführen.

|

+ a Die Eigenschaften entsprechen den Darstellungs-

| möglichkeiten, die in den Abbildungen 6a,b,c

+--- -- + Wenn diese Eigenschaft benutzt wird,

| S33 | muss das entsprechende Zeichen zwischen zwei

+-----+ "-" Zeichen angeordnet sein;

| d.h. als Zeichenfolge "--", wie im

zugehörigen Beispiel gezeigt.

Abbildung 6.9a: Beispiel für eine Kettenschleife

Abbildung 6.9b: Beispiel für eine Kettenschleife mit Hilfe eines Sprungpfeils

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 22


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 23]

a |

+------+

| | |

+-----+ +------+ +------+

|STEP10|

|STEP9| |STEP13| |STEP22|

| | | | | * | | * |

+------+ +-----+ +------+ +------+

| | | |

+ X ====+========+=========+====

| |

+------+ + X

|STEP11| |

| | ====+====+===+====

+------+ | |

| +------+ +------+

|STEP15| |STEP16|

| | | |

+------+ +------+

| |

b |

+------+

| | |

+-----+ +------+ +------+

|STEP10|

|STEP9| |STEP13| |STEP22|

| * | | * | | * | | * |

+------+ +-----+ +------+ +------+

| | | |

+ X ====+========+=========+=====

| |

+------+ + X

|STEP11| |

| | ====+====+====+====

+------+ | |

| +------+ +------+

|STEP15| |STEP16|

| | | |

+------+ +------+

| |

c |

+------+

| | |

+-----+ +------+ +------+

|STEP10|

|STEP9| |STEP13| |STEP22|

| | | | | | | |

+------+ +-----+ +------+ +------+

| | | |

+ X * ====+========+=========+====

| |

+------+ + X *

|STEP11| |

| * | ====+====+===+====

+------+ | |

| +------+ +------+

|STEP15| |STEP16|

| * | | * |

+------+ +------+

| |

ANMERKUNG: Der aktive Zustand eines Schrittes bzw. einer Transition ist hier jeweils durch

einen Stern (*) angezeigt. Diese Schreibweise wird hier nur zur Veranschaulichung benutzt!

Abbildung 6.10: Ablaufregeln

a) Transition nicht freigegeben (X = nicht wirksam);

b) Transition freigegeben, aber nicht geschaltet (X = 0);

c) Transition geschaltet (X = 1)

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 23


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 24]

+----------------------+

| |

| +=====+

| || A ||

| +=====+

| |

| + t1

| |

| ======+==========+============+=======

| | |

| +-----+ +-----+

| | B | | C |

| +-----+ +-----+

| | |

| | *--------+

| | | |

| | + t2 + t3

| | | |

| | +---+ +---+

| | | D | | E |

| | +---+ +---+

| | | |

| ===+==========+============+=== |

| | |

| + t4 + t5

| | |

| +---+ +---+

| | F | | G |

| +---+ +---+

| | |

| + t6 + t7

| | |

+----------------------+---------------------+

Abbildung 6.10d: Ablauffehler, "unsichere" Ablaufkette

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 24


Vorlesung "Automatisierungstechnik" – Teil 1: "Speicherprogrammierbare Steuerungen"

Arbeitsblätter "Abbildungen" [ABB 25]

+----------------------+

| |

| +=====+

| || A ||

| +=====+

| |

| + t1

| |

| ======+==========+============+=======

| | |

| +-----+ +-----+

| | B | | C |

| +-----+ +-----+

| | |

| | *--------+

| | | |

| | + t2 + t3

| | | |

| | +---+ +---+

| | | D | | E |

| | +---+ +---+

| | | |

| ===+==========+============+=== |

| | |

| + t4 + t5

| | |

| +---+ +---+

| | F | | G |

| +---+ +---+

| | |

| ====+==========+==========+===

| |

| + t6

| |

+---------------------------------+

Abbildung 6.10e: Ablauffehler, "unerreichbare" Ablaufkette

Prof. Dr.-Ing. Andreas Kegler [File: AUT1_abb.doc 07.09.05] Seite 25

Weitere Magazine dieses Users
Ähnliche Magazine