Sie sind auf Seite 1von 39

Steuerungstechnik

mit SIMATIC S7-300


© 2006, Rolf Oeberst

Programmverwirklichung (1)

S t e u e r e i n r i c h t u n g

Signal- Stell-
eingabe Eingabe Verarbeitung Ausgabe glieder

S1 S2 S1 S2 K1
Programm

E 0.0 E0.1 E0.2 E0.3

Steuerung
K2
A0.0 A0.1 A0.2 A0.3
© 2006, Rolf Oeberst

K1 K1

Verbindungsprogrammierte Speicherprogrammierbare
Steuerung (VPS) Steuerung (SPS)

1
Programmverwirklichung (2)

Verbindungsprogrammierte Steuerung

Bei der Schütztechnik wird die Steuerlogik dadurch aufgebaut, dass die Schützkontakte
in Reihen- und/oder Parallelschaltung durch Leitungen verbunden sind.
© 2006, Rolf Oeberst

Hauptstromkreis Steuerstromkreis

Programmverwirklichung (3)

Speicherprogrammierbare Steuerung

Bei der SPS wird die Steuerungslogik durch eine Software, dem SPS-Programm,
realisiert. Das Softwareprogramm ist in der SPS gespeichert.

F2 S0 S1 S11 S12 S13

E 0.0 E0.1 E0.2 E0.3 E0.4 E0.5

SPS
A0.0 A0.1 A0.2 A0.3 A0.4 A0.5

K2 K1
© 2006, Rolf Oeberst

K1 K2 H1 H2

Hauptstromkreis Steuerstromkreis

2
Was ist eine SPS ?

Unter einer SPS (Speicherprogrammierbare Steuerung) bzw. PLC (programmable


logic controller) versteht man nach DIN 61131-1 ein digital arbeitendes elektro-
nisches System mit einem programmierbaren Speicher zur internen Speicherung der
anwenderorientierten Steuerungsanweisungen zur Implementierung spezifischer
Funktionen wie z.B. Verknüpfungssteuerung, Ablaufsteuerung, Zeit-, Zähl- und
arithmetische Funktionen, um durch digitale oder analoge Eingangs- und Ausgangs-
signale verschiedene Arten von Maschinen und Prozessen zu steuern.

SPS: S7-200
SPS-Ausgang

I0.0 Q0.0
Micro PLC 212

Spannungs-
SF

SIEMENS RUN I0.1 Q0.1

STOP I0.2 Q0.2

I0.3 Q0.3

versorgung I0.4

I0.5
Q0.4

Q0.5

~ SIMATIC

S7-200
I0.6

I0.7
© 2006, Rolf Oeberst

SPS-Eingang SPS-
Eingang

Aufbau einer SPS (1)

Energieversorgung

Eingabe Verarbeitung Ausgabe


E A
binär / digital / analog
binär / digital / analog

I U
N Mikrocomputer S
Umsetzung Umsetzung
G G
physikalisch mit logisch 
Ä Ä
 logisch physikalisch
N SPS-Firmware N
G G
E (Signalanpassung/ (Signalumformung/ E
-umformung) -verstärkung)

Kommunikation
© 2006, Rolf Oeberst

3
Aufbau einer SPS (2)

Speicher:
Der Speicher enthält u.a. das SPS-Programm.

Steuerwerk:
Das Steuerwerk übernimmt die Initialisierung (Null-
setzen aller Zähler, Zeitglieder und Merker sowie
Akku). Die Hauptaufgabe besteht in der sequentiellen
Abarbeitung der Anweisungen, die im Programm-
Speicher abgelegt sind.

Merker:
Dienen zur Zwischenspeicherung von Signalzuständen
(„Hilfsschütz“).
Zeitglieder:
Mit Hilfe von Zeitgliedern lassen sich Ereignisse zu bestimmten Zeitpunkten auslösen.

Prozessabbild:
Enthält die Signalzustände der Ein- und Ausgänge zu einem bestimmten Zeitpunkt.
© 2006, Rolf Oeberst

Zähler:
Zähler ermöglichen ein Zählen von Ereignissen.

Akku:
Der Akku ist der Zwischenspeicher, in dem Berechnungen ausgeführt werden.

Arbeitsweise einer SPS (1)

Eine SPS arbeitet nicht direkt mit den digitalen Ein- und Ausgängen, sondern mit dem
so genannten Prozessabbild. Das Prozessabbild ist der konsistente Satz von Ein- und
Ausgangsgrößen zu einem bestimmten Zeitpunkt.

Am Anfang der Programmbearbeitung werden die Signalzustände aller Eingänge


gleichzeitig zum Prozessabbild der Eingänge (PAE) übertragen.

Falls sich Eingangsgrößen während der Programmbearbeitung ändern, so hat dies


keinen Einfluss auf das Berechnungsergebnis. Signalwechsel während der
Programmbearbeitung werden erst im nächsten Zyklus berücksichtigt. Es wird also
stets mit den Signalwerten gerechnet, die zu Beginn eines Berechnungszyklusses
eingelesen wurden.

Aus der Programmbearbeitung resultierende Änderungen der Signalzustände für die


jeweiligen Ausgänge werden im Prozessabbild der Ausgänge (PAA) zwischen-
gespeichert.
© 2006, Rolf Oeberst

Am Ende der Programmbearbeitung wird das Prozessabbild der Ausgänge zu den


Ausgängen transferiert.

4
Arbeitsweise einer SPS (2)

Schritt 1: Abfrage aller Eingänge auf ihren Signalzustand und im PAE ablegen

Eingangs- PAE PAA Ausgangs-


Programmliste
baugruppe Register Register baugruppe

1. Anweisung
2. Anweisung
3. Anweisung
4. Anweisung
5. Anweisung

Schritt 6. Anweisung
1 7. Anweisung
© 2006, Rolf Oeberst

Programmende

Arbeitsweise einer SPS (3)

Schritt 2: sequentielle Programmbearbeitung

Eingangs- PAE PAA Ausgangs-


Programmliste
baugruppe Register Register baugruppe

1. Anweisung
2. Anweisung
3. Anweisung
4. Anweisung
Schritt 2

5. Anweisung
6. Anweisung
7. Anweisung
© 2006, Rolf Oeberst

Programmende

5
Arbeitsweise einer SPS (4)

Schritt 3: Die Ergebnisse aus den Anweisungen werden nun in das PAA geschrieben.

Eingangs- PAE PAA Ausgangs-


Programmliste
baugruppe Register Register baugruppe

1. Anweisung
2. Anweisung
3. Anweisung
Schritt
4. Anweisung 3
5. Anweisung
6. Anweisung
7. Anweisung

Schritt
© 2006, Rolf Oeberst

Programmende

Arbeitsweise einer SPS (5)

Schritt 4: das PAA wird in die Ausgabebaugruppe geschrieben.

Eingangs- PAE PAA Ausgangs-


Programmliste
baugruppe Register Register baugruppe

1. Anweisung
2. Anweisung
3. Anweisung
4. Anweisung
5. Anweisung
6. Anweisung Schritt
7. Anweisung 4
© 2006, Rolf Oeberst

Programmende

6
Arbeitsweise einer SPS (6)

Ein Zyklus umfasst das Lesen der Eingänge, die Bearbeitung des SPS-Programms vom
ersten bis zum letzten Befehl und das Schreiben der Ausgänge.
Dieser Vorgang wiederholt sich in der CPU ständig.

Eingänge lesen

Programm-
bearbeitung

Ausgänge
schreiben

Meldungen
bearbeiten
© 2006, Rolf Oeberst

Selbstdiagnose

Aufbau einer SPS

Unter den Herstellern von SPS-Steuerungen findet man in der Regel zwei Gerätelinien:

Kompaktsteuerungen Modularsteuerungen
• Das Gehäuse beinhaltet alle • Bestehen aus verschiedenen Einzelkom-
wesentlichen Grundkomponenten ponenten wie Baugruppenträger,
Spannungsversorgung, CPU, Ein- und
• durch zusätzliche Baugruppenmodule
Ausgabebaugruppen
erweiterbar
• Für den mittleren bis oberen Leistungs-
• für den unteren bis mittleren
bereich in der Anlagenautomatisierung
Leistungsbereich in der Anlagen-
automatisierung
© 2006, Rolf Oeberst

S7-200 S7-300

7
Modularer Aufbau

Die S7-300 ist modular aufgebaut. Sie können sich aus dem umfassenden
Baugruppenspektrum die S7-300 individuell zusammenstellen. Alle Baugruppen
der S7-300 sind durch ein Gehäuse in der Schutzart IP 20 geschützt, d. h. sie sind
gekapselt und lüfterlos betreibbar.

Das Baugruppenspektrum umfasst:


• CPUs für unterschiedliche Leistungsbereiche
• Signalbaugruppen für digitale und analoge Ein-/Ausgabe
• Funktionsbaugruppen für Technologiefunktionen
• CPs für Kommunikationsaufgaben
• Laststromversorgungen zum Anschluss der S7-300 an eine Versorgungs-
spannung von AC 120/230V
• Anschaltungsbaugruppen zur Verbindung der Baugruppenträger bei einem
© 2006, Rolf Oeberst

Aufbau auf mehrere Baugruppenträger

Komponenten einer S7-300

Komponenten Funktion

Profilschiene (Rack) ... ist der Baugruppenträger für eine S7-300

Stromversorgung (PS) ... setzt Netzspannung (AC 120/230V) in DC 24V


Betriebsspannung um  Versorgung der S7-300 sowie
Laststromversorgung für DC 24V-Laststromkreise;
kurzschluss- und leerlauffest
Prozessorbaugruppe (CPU) ... führt das Anwenderprogramm aus; versorgt den S7-
300 Rückwandbus mit 5V; kommuniziert über die MPI-
Schnittstelle mit anderen Teilnehmern eines MPI-
Netzes.
Signalbaugruppe (SM) ... nehmen Feldsignale (Sensor-/ Aktorsignale) auf und
passen sie an die Signalpegel der S7-300 an (digitale
und analoge Ein-/Ausgabebaugruppen)
Funktionsbaugruppen (FM) ... für zeitkritische und speicherintensive Prozesssignal-
verarbeitungsaufgaben, z.B. Positionieren oder Regeln
Kommunikationsprozessor (CP) ... entlasten die CPU von Kommunikationsaufgaben und
ermöglichen die Vernetzung z.B. PROFIBUS / Ethernet /
© 2006, Rolf Oeberst

Punkt-zu-Punkt-Kopplung
Anschaltungsbaugruppe (IM) ... verbindet die einzelnen Zeilen (Racks) miteinander.

8
Anordnung der Baugruppen

Anordnung der Baugruppen auf einen Baugruppenträger


Rack

Rack
PS CPU SM/FM/CP

MPI
© 2006, Rolf Oeberst

Maximalausbau einer S7-300

Baugruppenträger 3 PS IM SMs

Baugruppenträger 2 PS SMs
IM

Baugruppenträger 1 PS SMs
IM

max.
10 m
© 2006, Rolf Oeberst

Baugruppenträger 0 PS SMs
CPU IM

9
Adressieren der S7-Baugruppen

Adressierung

Steckplatzorientierte Adressvergabe Freie Adressvergabe

STEP7 ordnet jeder Steckplatznummer eine Bei der freien Adressvergabe können Sie jeder
festgelegte Baugruppen-Anfangsadresse Baugruppe eine beliebige Adresse innerhalb
(Defaultadresse) zu. des von der CPU möglichen Adressbereiches
zuordnen. Die freie Adressvergabe ist bei der
S7-300 nur möglich mit der CPU 315-2 DP.
© 2006, Rolf Oeberst

Steckplätze bei S7-300

IM
3 4 5 6 7 8 9 10 11

IM
3 4 5 6 7 8 9 10 11

IM
3 4 5 6 7 8 9 10 11

PS CPU IM SM SM SM SM SM SM SM SM
1 2 3 4 5 6 7 8 9 10 11
© 2006, Rolf Oeberst

10
Baugruppenadressierung

Baugruppen- Baugruppen- Steckplatznummer


träger Anfangsadresse
1 2 3 4 5 6 7 8 9 10 11

Digital 0 4 8 12 16 20 24 28
0 Analog PS CPU IM 256 272 288 304 320 336 252 368

Digital - 32 36 40 44 48 52 56 69
1 Analog - IM 384 400 416 432 448 464 480 496

Digital - 64 68 72 76 80 84 88 92
2 Analog - IM 512 528 544 560 576 592 608 624

Digital - 96 100 104 108 112 116 120 124


3 Analog - IM 640 656 672 688 704 720 736 752
© 2006, Rolf Oeberst

Nicht bei CPU 314 IFM

Nicht bei CPU 312 IFM/313

Adressierung

Bitadresse
7 6 5 4 3 2 1 0
.7 ....... .0

EB0 EB1 EB2 EB3 Byteadresse


AB4 AB5 AB6 AB7 (8 Bit)

EW0 EW2 Wortadresse


AW4 AW6 (16 Bit)

ED0 Doppelwortadresse
AD4 (32 Bit)
© 2006, Rolf Oeberst

11
Automatisierungssystem S7-300: CPU 314

Status- und Fehleranzeigen:


SF CPU 314
SF: Sammelfehler BATF
BATF: Batteriefehler DC5
DC5V: interne 5V-Versorgung FRCE
FRCE: Forcen (Zwangssteuern) aktiv RUN
RUN: Betriebszustand RUN STOP
STOP: Betriebszustand STOP

RUN-P
RUN
Betriebsartenschalter: Schacht für
STOP Memory Card
RUN-P: Programmbearbeitung und MRES
-korrektur
RUN: Programmbearbeitung mit
Schreibschutz
STOP: CPU im Stop
MRES: Urlöschfunktion (Memory Reset)
M
L+
M
© 2006, Rolf Oeberst

Mehrpunktfähige
Fach für Pufferbatterie MPI-Schnittstellle
Anschluß für
Spannungsversorgung

Automatisierungssystem S7-300: CPU 314

Die CPU 314 zeichnet sich durch folgende Eigenschaften aus:

• 24 KByte Arbeitsspeicher (RAM)


• 40 KByte Ladespeicher (RAM);
• Geschwindigkeit ca. 0,3 ms pro 1000 Binäranweisungen

Digitalein-/ausgänge: 1024
Analogein-/ausgänge: 256
Prozeßabbild (PAE/PAA): 128 Byte (E0.0 bis E127.7 / A0.0 bis A127.7)

Merker (M0.0 ... M255.7): 2048


Zähler (Z0 .... Z63): 64
Zeiten (T0 ... T127): 128
© 2006, Rolf Oeberst

12
Programmbearbeitung (1)

Lineare Programmbearbeitung
Bei der linearen Programmbearbeitung werden die Anweisungen von der SPS in der
Reihenfolge bearbeitet, in der sie im Programmspeicher hinterlegt sind. Wenn das
Programmende erreicht ist beginnt die Programmbearbeitung wieder von vorne.
Man spricht von zyklischer Bearbeitung.

Die lineare Programmbearbeitung wird


OB1
meist für einfache, nicht zu umfang-
reiche Steuerungen verwendet und kann 1. Anweisung
im OB1 realisiert werden. 2. Anweisung
3. Anweisung

...
© 2006, Rolf Oeberst

Programmende

Programmbearbeitung (2)

Strukturierte Programmbearbeitung
Das Programm unterteilt man bei umfangreichen Steuerungsaufgaben in kleine,
überschaubare und nach Funktionen geordnete Programmbausteine.

FB1
OB1 Anweisung
Anweisung . FC21
Aufruf FB1
. DB11
.

Anweisung Rücksprung
DB 10
Anweisung
Aufruf FC2 FC2
Anweisung Anweisung
. .
. .
. .
© 2006, Rolf Oeberst

Anweisung Rücksprung OB = Organisationsbaustein


FB = Funktionsbaustein
FC = Funktion
DB = Datenbaustein

13
Programmbearbeitung (3)

Anwenderbausteine
Organisationsbaustein (OB): Anwender-Schnittstelle zum Betriebssystem
OB1  zyklische Programmbearbeitung
Funktionsbaustein (FB): Baustein mit Speicher und Möglichkeit zur
Parameterübergabe
Funktion (FC): Baustein ohne Speicher, Möglichkeit zur
Parameterübergabe
Datenbaustein (DB): Baustein zur Ablage von Anwenderdaten

Systembausteine
Systemdatenbaustein (SDB): Datenbaustein zur Ablage von systeminternen Daten
System-Funktionsbaustein (SFB): vom Anwender aufrufbarer Systembaustein
© 2006, Rolf Oeberst

Systemfunktion (SFC): vorprogrammierte Funktion, im Betriebssystem


integriert

Phasen der Softwareentwicklung einer SPS

Aufgaben der SPS


Spezifikation der Steuerungsaufgabe Funktionsbeschreibung
Auswahl der Steuerungshardware

Programmstrukturierung
Programmentwurf Wiederverwendung
Entwurf der Programmmodule

Anweisungsliste (AWL)
Programmierung Kontaktplan (KOP)
Funktionsplan (FUP)

Manuelle Programmanalyse
Programmtest Debugging
Simulation
© 2006, Rolf Oeberst

Programmdokumentation
Wartung und Pflege Erweiterungen
Korrekturen

14
Spezifikation der Steuerungsaufgabe

Was soll gesteuert werden?

Welche Teilaufgaben sind zu erfüllen?

Welche Sicherheitsanforderungen gibt es?

Welche sonstigen Anforderungen gibt es?

Welche Operanden werden benötigt?


© 2006, Rolf Oeberst

Beschreibungsformen logischer Funktionen

Die Funktion einer logische Schaltung lässt sich auf fünf verschiedene Arten eindeutig
beschreiben und zwar durch:
1. eine Beschreibung in Worten (verbale Beschreibung)
2. ein Schaltzeichen
3. eine Wahrheitstabelle (Wertetabelle, Funktionstabelle)
4. eine Funktionsgleichung oder
5. einen Signal-Zeit-Plan (Zeitablaufdiagramm)

Y = A & /B B A Y 1
A 0
0 0 0
1
0 1 1 B
A & 0
© 2006, Rolf Oeberst

1 0 0 1
B Y
Y 1 1 0
0

15
Rechenregeln der booleschen Algebra

x ∨ 0=x
x ∨ 1=1
x ∧ 0=0
x ∧ 1=x

George Boole (02.11.1815 - 08.12.1864)


x ∨ x=x
englischer Mathematiker und Philosoph
x ∧ x=x
Der Engländer George Boole führte 1853 als erster logische
Verknüpfungen in algebraischen Gleichungen ein. Er geht vom
x ∨ x=1
dualen Zahlensystem aus, wie es Gottfried Wilhelm Leibniz
entwickelt und am 15.03.1679 als „dyadisches Zahlensystem“ x ∧ x=0
© 2006, Rolf Oeberst

veröffentlich hatte. Boole deutet die „1“ im Dualsystem als „Ja“


oder „richtig“, die „0“ als „Nein“ oder „falsch“ und führt die
logischen Operationen „AND“, „OR“ und „NOT“ ein. Variablen mit
den Zuständen 0 und 1 bezeichnet man als boolesche Variable.
x=x

Rechenregeln der booleschen Algebra

Augustus de Morgan (27.06.1806 - 18.03.1871)


englischer Mathematiker

¬(a ∨ b) = ¬a ∧ ¬b oder
(a ∨ b) = a ∧ b
¬(a ∧ b) = ¬a ∨ ¬b (a ∧ b) = a ∨ b
© 2006, Rolf Oeberst

16
Wahrheitstabelle (1)

Die vollständige Wahrheitstabelle (Wertetabelle, Funktionstabelle) enthält alle


Kombinationen der Eingangsvariablen und die dazugehörigen Ausgangsvariablen.

Die Wahrheitstabelle beschreibt vollständig eine kombinatorische logische Schaltung.

x y z f g
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
© 2006, Rolf Oeberst

Wahrheitstabelle (2)

Zur Ermittlung der Schaltung stellt man bei unübersichtlichen Schaltbedingungen


zunächst die vollständige Wahrheitstabelle auf und bildet dann entweder die ODER-
Normalform (Disjunktive Normalform – DNF) oder die UND-Normalform (Konjunktive
Normalform – KNF).
Bei der DNF werden alle Minterme miteinander ODER und bei der KNF alle Maxterme
mit UND verknüpft.

b a x x = Minterm1 ∨ Minterm2
0 0 0 Maxterm1 oder
0 1 1 Minterm1 x = Maxterm1 ∨ Maxterm2
1 0 1 Minterm2 bzw.
1 1 0 Maxterm2 x = Maxterm1 ∧ Maxterm2
© 2006, Rolf Oeberst

DNF: x = (a ∧ b) ∨ (a ∧ b) KNF: x = (a ∧ b) ∨ (a ∧ b)

x = (a ∨ b) ∧ (a ∨ b)

17
Wahrheitstabelle (3)

x y z f g
0 0 0 0 0
0 0 1 1 0 Zeile 2
0 1 0 1 0 Zeile 3
0 1 1 0 1 Zeile 4
1 0 0 1 0 Zeile 5
1 0 1 0 1 Zeile 6
1 1 0 0 1 Zeile 7
1 1 1 1 1 Zeile 8
Zeile 8

f = Zeile2 ∨ Zeile3 ∨ Zeile5 ∨ Zeile8


© 2006, Rolf Oeberst

f = (x ∧ y ∧ z) ∨ (x ∧ y ∧ z) ∨ (x ∧ y ∧ z) ∨ (x ∧ y ∧ z)

g = (x ∧ y ∧ z) ∨ (x ∧ y ∧ z) ∨ (x ∧ y ∧ z) ∨ (x ∧ y ∧ z)

Elementare Gatter

Inverter (Negation) Konjunktion (AND) Disjunktion (OR)

a a
a 1 x & x ≥1 x
b b

x=a x=a∧b x=a∨b

a x b a x b a x
0 1 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 0 0 1 0 1
© 2006, Rolf Oeberst

1 1 1 1 1 1

18
Elementare Gatter

NAND NOR

a a
& x ≥1 x
b b

x=a∧b x=a∨b

b a x b a x
0 0 1 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
© 2006, Rolf Oeberst

1 1 0 1 1 0

Elementare Gatter

Antivalenz Äquivalenz
(EXOR, XOR, exklusives Oder) (EXNOR, XNOR, Gleichheit)

a a
=1 x =1 x
b b

x = a ⊕ b = (a ∧ b) ∨ (a ∧ b) x = a ⊕ b = (a ∧ b) ∨ (a ∧ b)
x=a≡b

b a x b a x
0 0 0 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
© 2006, Rolf Oeberst

1 1 0 1 1 1

19
Übung: Aufstellen einer Wahrheitstabelle

Geben Sie folgende Schaltung als Wahrheitstabelle an.

a
& d
b ≥1 x

e g
c 1 &
d=a∧b
f e=c
a 1
f=a
g=b∧e∧f= a∧b∧c
b
x=d∨g
© 2006, Rolf Oeberst

x = (a ∧ b) ∨ (a ∧ b ∧ c)

Übung: Aufstellen einer Wahrheitstabelle

c b a d e f g x
a∧b /c /a b∧e∧f d∨g
0 0 0 0 1 1 0 0
0 0 1 0 1 0 0 0
0 1 0 0 1 1 1 1
0 1 1 1 1 0 0 1
1 0 0 0 0 1 0 0
1 0 1 0 0 0 0 0
1 1 0 0 0 1 0 0
1 1 1 1 0 0 0 1
© 2006, Rolf Oeberst

x = (a ∧ b ∧ c) ∨ (a ∧ b ∧ c) ∨ (a ∧ b ∧ c)

20
Vereinfachen der Schaltfunktionen (Minimierung)

Bei der direkten Umsetzung einer Wahrheitstabelle in ein SPS-Programm muss unter
Umständen ein erheblicher Programmieraufwand betrieben werden.
Mit Hilfe von algebraischer, tabellarischer und grafischer Minimierung können die
Schaltfunktionen umgewandelt und vereinfacht werden.

1. Rechenregeln und Gesetze der Schaltalgebra (Algebraisches Verfahren)


• Kommutativgesetz (Vertauschungsgesetz)
• Assoziativgesetz (Verbindungsgesetz / Zuordnungsgesetz)
• Distributivgesetz (Verteilungsgesetz)
• De Morgansches Theorem (Negationsgesetz / Inversionsgesetz)
• Absorptionsgesetz (Verschmelzungsgesetz)

2. Verfahren nach Quine und McCluskey (tabellarisches Verfahren)


© 2006, Rolf Oeberst

3. Karnaugh-Veitch-Diagramm / Karnaugh-Tafel (grafisches Verfahren)

Gesetze der Booleschen Algebra (1)

Involutionsgesetz: ¬¬a=a
Kommutativgesetze: a∧b=b∧a
a∨b=b∨a
Assoziativgesetze: (a ∧ b) ∧ c = a ∧ (b ∧ c) = a ∧ b ∧ c
(a ∨ b) ∨ c = a ∨ (b ∨ c) = a ∨ b ∨ c
Idempotenzgesetze: a∧a=a
a∨a=a
Absorbtionsgesetze: a ∧ (a ∨ b) = a
a ∨ (a ∧ b) = a
Distributivgesetze: a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)
De Morgan'sche Gesetze: ¬ (a ∧ b) = (¬
¬ a) ∨ (¬
¬ b)
¬ (a ∨ b) = (¬
¬ a) ∧ (¬
¬ b)
© 2006, Rolf Oeberst

Neutralitätsgesetze: a ∨ (b ∧ ¬ b) = a
a ∧ (b ∨ ¬ b) = a

21
Gesetze der Booleschen Algebra (2)

Beispiel:

erweitern mit
x = (a ∧ b ∧ ¬ c) ∨ (a ∧ ¬ b ∧ c) ∨ (¬
¬ a ∧ b ∧ c) ∨ ( a ∧ b ∧ c) ∨ ( a ∧ b ∧ c)

(a ∧ b ∧ ¬ c) ∨ ( a ∧ b ∧ c)
(a ∧ ¬ b ∧ c) ∨ ( a ∧ b ∧ c)


¬ a ∧ b ∧ c) ∨ ( a ∧ b ∧ c)

(a ∧ b) ∧ (¬
¬ c ∨ c) (a ∧ c) ∧ (¬
¬ b ∨ b) (b ∧ c) ∧ (¬
¬ a ∨ a)
© 2006, Rolf Oeberst

x= (a ∧ b) ∨ (a ∧ c) ∨ (b ∧ c)

Quine/McCluskey-Verfahren

Dieses tabellarisches Verfahren zur Minimierung erhält als Eingabe alle Minterme der
entsprechenden DNF und berechnet daraus die optimale Normalform.
Es wird nach Mintermen gesucht, die bis auf eine Variable übereinstimmen. Diese beiden
werden „abgehakt“ und der um diese Variable gekürzte Ausdruck als neuer Minterm
eingetragen. Dieser Vorgang wiederholt sich solange, bis sich keine Möglichkeiten zur
Zusammenfassung und Streichung ergeben.

Beispiel: x = (a ∧ b ∧ ¬ c) ∨ (a ∧ ¬ b ∧ c) ∨ (¬
¬ a ∧ b ∧ c) ∨ ( a ∧ b ∧ c)

Minterme Kürzungen neuer Minterm


a∧b∧¬c X a∧b
a∧¬b∧c X a∧c
¬a∧b∧c X b∧c
© 2006, Rolf Oeberst

a∧b∧c X X X

x = (a ∧ b) ∨ (a ∧ c) ∨ ( b ∧ c)

22
KV-Diagramme (1)

Dieses Verfahren ist nach dessen Entwicklern (Karnaugh / Veitch) benannt und dient
der Vereinfachung (Minimierung) von Schaltnetzen.

d c b a Zeile Das KV-Diagramm für 2,3 und 4 Variable hat 22 = 4 , 23 = 9


0 0 0 0 0 bzw. 24 = 16 Felder. Jedes Feld des KV-Diagramms
0 0 0 1 1 entspricht einer Zeile der Wahrheits- bzw. Wertetabelle.
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4 2 Variable
0 1 0 1 5 /a a
0 1 1 0 6
/b 0 1
0 1 1 1 7
1 0 0 0 8 b 2 3 4 Variable
1 0 0 1 9 /a a a /a
1 0 1 0 10
3 Variable /b 0 1 5 4 /d
1 0 1 1 11
1 1 0 0 11 /a a a /a b 2 3 7 6 /d
© 2006, Rolf Oeberst

1 1 0 1 13
/b 0 1 5 4 b 10 11 15 14 d
1 1 1 0 14
1 1 1 1 15 b 2 3 7 6 /b 8 9 13 12 d
/c /c c c /c /c c c

KV-Diagramme (2)

Zur Vereinfachung von logischen Schaltnetzen mit KV-Diagramm wird folgende


Vorgehensweise empfohlen:

1. Wahrheitstabelle mit n Variablen oder Gleichungen in Normalform (DNF/ KNF)


erstellen
2. In die einzelnen Felder des KV-Diagramms wird eine 1 eingetragen, wenn ein
Minterm der Funktion vorliegt, andernfalls eine 0.
3. Man versucht, möglichst viele horizontal und vertikal benachbarte Felder, die
eine 1 enthalten (Minterme) zu zusammenhängenden 2er-, 4er, 8er oder 16er-
Blöcken (Päckchen) zusammenzufassen. Dabei dürfen sich die Gruppierungen
überschneiden
4. Möglichst alle „1“-Felder in Blöcken zusammenfassen
5. Gegensätzliche Variable, die von den Blöcken berührt werden, werden gekürzt
6. Felder innerhalb der Blöcke sind UND-verknüpft
© 2006, Rolf Oeberst

7. Blöcke untereinander sind ODER-verknüpft

23
KV-Diagramme (3)

/a a a /a
/b 1 1 /d
b 1 1 /d
x = (a ∧ ¬ b) ∨ (¬
¬ a ∧ b)
b 1 1 d
/b 1 1 d
/c /c c c

/a a a /a
/b 1 1 /d
b 1 1 /d
x = (¬
¬ b ∧ c) ∨ (b ∧ ¬ c)
b 1 1 d
© 2006, Rolf Oeberst

/b 1 1 d
/c /c c c

KV-Diagramme (4)

/a a a /a
/b 1 1 /d
b 1 1 /d
x = (c ∧ ¬ d) ∨ (¬
¬ c ∧ d)
b 1 1 d
/b 1 1 d
/c /c c c

/a a a /a
/b /d
b /d
x=d
b 1 1 1 1 d
© 2006, Rolf Oeberst

/b 1 1 1 1 d
/c /c c c

24
KV-Diagramme (5)

Beispiel:

x = (a ∧ b ∧ ¬ c) ∨ (a ∧ ¬ b ∧ c) ∨ (¬
¬ a ∧ b ∧ c) ∨ ( a ∧ b ∧ c)

/a a a /a
/b 1
b 1 1 1
/c /c c c

/a a a /a
/b 1
x = (a ∧ c) ∨ (a ∧ b) ∨ (b ∧ c)
b 1 1 1
© 2006, Rolf Oeberst

/c /c c c

STEP7 - SIMATIC Manager (1)

Der SIMATIC Manager ist eine grafische Benutzeroberfläche für alle


STEP7-Anwendungen:

⇒ Einrichten und Verwalten von Projekten


⇒ Konfigurieren und Parametrieren der Hardware
⇒ Konfigurieren von Netzwerken und Verbindungen (MPI/ Profibus)
⇒ Programmierung der Anwenderprogramme (AWL, FUP, KOP)
⇒ Laden von Programmen auf Zielsysteme
⇒ Test und Diagnose
© 2006, Rolf Oeberst

25
STEP7 - SIMATIC Manager (2)

Titelleiste Menüleiste Schaltflächen

Funktions-
leiste

Arbeitsbereich
© 2006, Rolf Oeberst

Statusleiste

STEP7 - SIMATIC Manager (3)

Die Dateiverwaltung erfolgt mit dem „SIMATIC Manager“. Im STEP 7 wird jedes Projekt
in einer fest vorgegebenen Struktur angelegt. Die Programme sind in den folgenden
Verzeichnissen abgespeichert:

Projekt: SIMATIC 300 Stationen:


Dieses Verzeichnis enthält die Hardware Hier werden die entsprechenden Hardware-
(z.B. SIMATIC 300 Stationen) und die konfigurations- und CPU-Daten abgespeichert.
Subnetze (z.B. MPI und PROFIBUS).
Quellen:
Hier werden Quellen (z.B. STEP5-
Quellen) abgelegt, die durch Über-
setzen in ablauffähige Programme
umgewandelt werden können.

Bausteine:
Hier werden die Programm-
bausteine ( OB, FB, FC, SFB,
SFC, DB etc. ) abgespeichert.

Symbole:
© 2006, Rolf Oeberst

Hier werden die Symbollisten zur


CPU: S7-Programm: Symbolischen Adressierung
Hier wird das S7- Programm und Hier werden die Anwenderprogramme gespeichert.
die vernetzten Verbindungspartner (Bausteine), Symboltabellen (Symbole)
eingetragen. und Quellen (Quellen) verwaltet.

26
Hardwarekonfiguration

Anordnen der Baugruppen in der Konfigurationstabelle

Parametrierung der Baugruppen

Speichern der Konfiguration

Übertragen der Konfiguration zur CPU


© 2006, Rolf Oeberst

Programmdarstellung

Bei der SPS wird die Steuerlogik durch eine Software, dem SPS-Programm, realisiert.
Das Softwareprogramm wird mit einer Programmiersprache erstellt, die das Programm
grafisch oder als Liste darstellt.

Man unterscheidet hierbei drei unterschiedliche Darstellungsarten:

1. KOP Kontaktplan Grafische Darstellung


2. FUP Funktionsplan Grafische Darstellung
3. AWL Anweisungsliste Mnemotechnische Darstellung (Text)

Diese drei Programmdarstellungen unterstützen nur den Programmierer bei der


Erstellung des Programms. In der SPS-Steuerung liegt das kompilierte Programm im
Maschinencode vor.
© 2006, Rolf Oeberst

27
Kompatibilitätsprobleme

• zu viele Hersteller, jeder hat eigene Standards, die Vor- und Nachteile bieten
• Ein Anwender muss auf SPS-Systemen verschiedener Hersteller gleichzeitig
arbeiten können
• Kommunikation verschiedener SPS-Systeme untereinander nur bedingt möglich
• immer größer werdende Automatisierungsaufgaben

LÖSUNG
des PROBLEMS

herstellerunabhängige Programmierung
© 2006, Rolf Oeberst

Programmierung von Steuerungen nach IEC 1131-3

Um eine herstellerunabhängige Programmierung zu ermöglichen, wurde von der


PLCopen Group, eine Zusammenschluss von SPS-Herstellern, der Standard IEC
1131-3 (IEC = International Electrotechnical Commission) ins Leben gerufen.

Folgende Programmiersprachen bzw. grafische Entwurfswerkzeuge sieht die IEC vor:

SPS-Programmiersprachen
(DIN EN 61131-3 bzw. IEC 1131-3)

Anweisungsliste (AWL) Kontaktplan (KOP)


Instruction List (IL) Ladder Diagram (LD)

Strukturierter Text (ST) Funktionsbausteinsprache (FBS)


Structured Text (ST) Function Block Diagram (FBD)
© 2006, Rolf Oeberst

Ablaufsprache (AS)
Sequentiell Function Chart (SFC)

28
Programmierung einer SPS

Anweisungsliste (AWL)

Diese Programmiersprache ist eine maschinennahe textuelle Sprache.

Die einzelnen Anweisungen entsprechen den Arbeitsschritten, mit denen die CPU die
sequentielle Abarbeitung des Programms durchführt. Mehrere Anweisungen können zu
Netzwerken zusammengefügt werden.

Kennzeichen
START: U(
Parameter
O(
U E 0.1
UN E 0.2
)
O E 0.3
ON E 0.4
)
UN E 0.0
= A 4.0
© 2006, Rolf Oeberst

BE

Marke Operation Operand

Programmierung einer SPS

Funktionsplan (FUP)

Die logischen Funktionen werden grafisch mit DIN 40900-Symbolen dargestellt.


Außerdem können komplexe Funktionen, wie z.B. mathematische Funktionen, direkt
in Verbindung mit den logischen Boxen dargestellt werden.
Diese Art von Programmierung erscheint sehr einfach. Bei komplexen Steuerungen
wird die grafische Darstellung jedoch sehr unübersichtlich.

E0.1
&

E0.2
>=1
E0.3
E0.4
&
© 2006, Rolf Oeberst

E0.0 A4.0

29
Programmierung einer SPS

Kontaktplan (KOP)

Die Darstellung ist Stromlaufplänen nachempfunden und eignet sich besonders für
Personen, die bereits Erfahrung mit Schützsteuerungen haben.
Die Elemente eines Stromlaufplanes, wie z.B. Öffner oder Schließer, werden zu
Netzwerken zusammengefügt. Ein oder mehrere Netzwerke ergeben den gesamten
Anweisungsteil eines Codebausteins.

E0.1 E0.2 E0.0 A4.0

E0.3
© 2006, Rolf Oeberst

E0.4

Grundschaltungen (1)
unbetätigter Schließer

S1 K2 S1
unbetätigter Öffner
betätigter Schließer

S1

K1 K2 H1 K3
© 2006, Rolf Oeberst

S1 & K1 S1 & H1 S1 & K3

30
Grundschaltungen (2)

S1 K4
S1 S1 S2

Parallelschaltung
Reihenschaltung
betätigter Öffner

S2

K4 H2 K5 K6
© 2006, Rolf Oeberst

& S1 & S1 ≥1
S1 H2 K5 K6
S2 S2

Grundschaltungen (3)

S1 S2
S1 S2

S3 S4
S3

K7 K8

S1 ≥1
S1 ≥1
S2 &
© 2006, Rolf Oeberst

&
S2 K7 K8
S3 ≥1
S3
S4

31
Grundschaltungen (4)

S1 ≥1
S1 S2 S5 S2 &

S3 ≥1 ≥1
S3 S4 K9
S4 S5

K9 H3
K9 & H3
© 2006, Rolf Oeberst

Grundschaltungen (5)

S1 ≥1
S1 S2 K10
S2 &

S3 K10
S3

K10 & H4
K10 H4
© 2006, Rolf Oeberst

32
Grundschaltungen (6)

Wechselschaltung S1 S1

Kreuzschaltung
S2
S2
S3

H5 H6

S1 &
H6 = (S1∧S2∧S3) ∨ (S1∧S2∧S3) ∨
S2 ≥1
© 2006, Rolf Oeberst

(S1∧S2∧S3) ∨ (S1∧S2∧S3)
S1 & H5

S2

Merker

Für Verknüpfungen innerhalb der Steuerung, bei denen keine Signalabgabe außerhalb
der Steuerung erforderlich ist, werden Merker eingesetzt.
Merker sind elektronische Speicherelemente (R-S-Speicherglieder), mit denen die
beiden Signalzustände „0“ und „1“ abgespeichert werden können. Merker werden wie
Ausgänge programmiert.

Remanente Merker Nichtremanente Merker


• behalten beim Ausschalten der Betriebs- • bei Ausfall der Betriebsspannung
spannung den letzten Zustand geht der gespeicherte Inhalt verloren
• behalten beim Wechsel der Betriebsart • werden beim Wechsel der Betriebsart
„RUN  Stop“ ihren letzten Zustand „RUN  STOP“ zurückgesetzt.
• können außer durch das Anwender-
programm mit „URLÖSCHEN“ rückgesetzt
© 2006, Rolf Oeberst

werden

33
Speicher (1)

Bei logischen Schaltnetzen sind die Ausgänge eine logische Funktion aller Eingänge.
Bei komplexen Steuerungen hängt der Ausgang nicht nur von den Eingängen ab,
sondern auch von den so genannten internen Zuständen (Automat).

Selbsthaltung Flip-Flop

S1 S
S1 K1
S2 R Q K1

S2
© 2006, Rolf Oeberst

K1

Speicher (2)

S1 S2
0 1 S
S1
I0.0 Q0.0
SF Micro PLC 212

SIEMENS RUN

STOP
I0.1

I0.2
Q0.1

Q0.2
S2 R Q K1
I0.3 Q0.3

I0.4 Q0.4

I0.5 Q0.5

I0.6
SIMATIC

I0.7
S7-200

K1 S1 ≥1

K1 &

S2 K1
© 2006, Rolf Oeberst

Achtung:
Programmtechnisch erfolgt nicht die Abfrage nach dem angeschlossenem Betriebsmittel,
sondern nach den Signalzuständen am Eingang der SPS.

34
Zeitfunktionen (1)

Für die Realisierung von Steuerungsaufgaben müssen sehr häufig verschiedene


Zeitfunktionen eingesetzt werden.
Diese Zeitfunktionen sind in der Zentralbaugruppe der SPS integriert. Die Einstellung
der gewünschten Laufzeit (10ms bis 9990s) und das Starten der Zeitfunktion muss
über das Anwenderprogramm erfolgen.
Sie können unter fünf verschiedenen auswählen:

• Impuls
• Verlängerter Impuls
• Einschaltverzögerung
• Speichernde Einschaltverzögerung
• Ausschaltverzögerung
© 2006, Rolf Oeberst

Zeitfunktionen (2)

Bei Signalwechsel am Starteingang (positive Flanke) wird das Zeitglied gestartet.

Ein Zeitglied soll immer eine bestimmte Zeit ablaufen. Die Zeitdauer TW kann
entweder als vordefinierte Konstante im Programm fest vergeben werden oder als 16-
BIT-WORT (u.a als Eingangswort EW, als Ausgangswort AW oder als Merkerwort MW)
vorgegeben werden.

Ein Signal am Rücksetzeingang beendet die Bearbeitung des Zeitgliedes. Der aktuelle
Zeitwert wird gelöscht, der Ausgang Q der Zeitzelle zurückgesetzt.

Der aktuelle Zeitwert kann an den Ausgängen DUAL und DEZ abgefragt werden.Der
Zeitwert an Ausgang DUAL ist binär-kodiert, der Zeitwert am Ausgang DEZ ist BCD-
kodiert.

Eine Zeit kann am Ausgang Q auf ihren Signalzustand (‘0’ oder ‘1’) abgefragt und für
© 2006, Rolf Oeberst

weitere Verknüpfungen verwandt werden.

35
Zeitwert

Mit der folgenden Syntax können Sie einen vordefinierten Zeitwert laden:

S5T# aH_bbM_ccS_dddMS

Stunden Minuten Sekunden Millisekunden

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

x x 1 0 0 0 0 1 0 0 1 0 0 1 1 1

Zeitbasis Zeitwert im BCD-Format


© 2006, Rolf Oeberst

(1 bis 999)
00 – 10ms
01 – 100ms
10 – 1s
11 – 10s

Impuls
© 2006, Rolf Oeberst

36
Verlängerter Impuls
© 2006, Rolf Oeberst

Einschaltverzögerung
© 2006, Rolf Oeberst

37
Speichernde Einschaltverzögerung
© 2006, Rolf Oeberst

Ausschaltverzögerung
© 2006, Rolf Oeberst

38
Taktgeber

T1
T2 S_IMPULS

S5T#250ms TW DUAL
DEZ T2

R Q S_IMPULS

S5T#250ms TW DUAL
DEZ
R Q

T1 = T2 Frequenz
T 500 ms 1 Hz
250 ms 2 Hz
© 2006, Rolf Oeberst

1
T1 0 1 100 ms 5 Hz
1
f=
T2 T1 + T2 50 ms 10 Hz
0
© 2006, Rolf Oeberst

39