Download - 7. Steuerungstechnik
1
Grundlagen derAutomatisierungstechnik
(Automatisierungstechnik 1)
7.Steuerungstechnik
GdA
135WiSe 19/20 Georg Frey
Übersicht
• Begriff der Steuerung• Vergleich Steuerung und Regelung• Arten von Steuerungen• Steuerungsentwurfsprozess
• Realisierung von Steuerungen: SPS Funktionsweise Bauarten
• Programmierung von Steuerungen: IEC 61131 Softwaremodell Programmiersprachen
2
GdA
136WiSe 19/20 Georg Frey
Gegenüberstellung von Steuerung und Regelung
• Definitionen nach DIN 19226 Teil 1 Das Steuern, die Steuerung, ist ein Vorgang in einem System, bei dem eine oder mehrere Größen als
Eingangsgrößen andere Größen als Ausgangsgrößen aufgrund der dem System eigentümlichenGesetzmäßigkeiten beeinflussen. Kennzeichen für das Steuern ist der offene Wirkungsweg oder eingeschlossener Wirkungsweg, bei dem die durch die Eingangsgrößen beeinflussten Ausgangsgrößennicht fortlaufend und nicht wieder über dieselben Eingangsgrößen auf sich selbst wirken.Anmerkung: Die Benennung Steuerung wird vielfach nicht nur für den Vorgang des Steuerns,sondern auch für die Gesamtanlage verwendet, in der die Steuerung stattfindet.
Das Regeln, die Regelung, ist ein Vorgang, bei dem fortlaufend eine Größe, die Regelgröße (die zuregelnde Größe), erfasst, mit einer anderen Größe, der Führungsgröße, verglichen und im Sinneeiner Angleichung an die Führungsgröße beeinflusst wird. Kennzeichen für das Regeln ist dergeschlossene Wirkungsablauf, bei dem die Regelgröße im Wirkungsweg des Regelkreises fortlaufendsich selbst beeinflusst.Anmerkung : Der Vorgang der Regelung ist auch dann als fortlaufend anzusehen, wenn er sich auseiner hinreichen häufigen Wiederholung gleichartiger Einzelvorgänge zusammensetzt (z.B. durchAbtaster in einer Abtastregelung). Auch unstetige Vorgänge können fortlaufend sein (z.B. beiZweipunktgliedern). Die Benennung Regelung wird vielfach nicht nur für den Vorgang des Regelns,sondern auch für die Gesamtanlage verwendet, in der die Regelung stattfindet. Der sich dabeiergebende Wirkungsablauf findet in einem Kreis, dem Regelkreis, statt.
GdA
137WiSe 19/20 Georg Frey
Regelgröße
StreckeAktorik
Sensorik
Regelglied
Reglerausgang
Führungsgröße w
-
Rückführgröße
Vergleichsglied
Algorithmus
STÖRUNGEN(incl. EMV, Umwelt, ...)
STÖRUNGEN(incl. EMV, Umwelt, ...)
Blockschaltbild einer Regelung
3
GdA
138WiSe 19/20 Georg Frey
Blockschaltbild einer Steuerung
AusgangsgrößenSteuerglied
StellsignaleEingangsgrößen
Strecke
Stellgliedrückmeldungen
Aktorik
SensorikRückführgrößen
STÖRUNGEN(incl. EMV, Umwelt, ...)
STÖRUNGEN(incl. EMV, Umwelt, ...)
Algorithmus
GdA
139WiSe 19/20 Georg Frey
Regelung SteuerungGrößen kontinuierlich diskretMathematik Differentialgleichungen Schaltalgebra, Automaten,
Petrinetze
Rückkopplung imSystem
ständig geschlossenersynchroner Kreis
asynchrone Rückkopplung binärerGrößen ( Ereignisse)
Rückkopplung derGrößen
Größen im Kreis wirken auf sichselbst zurück
Größen im Kreis wirken auf andereGrößen
Störungen unbekannte Störungen könnenausgeregelt werden
nur vorab bekannte und erfassbareStörungen können behandelt werden
Kreisverstärkung Kreisverstärkung ist definiert Stabilitätsproblem
keine Kreisverstärkung
Anzahl der Signale >95% der Regelkreise sindeinschleifig (1Sensor, 1 Aktor)
immer mehrschleifig, i.A. mehrerehundert Sensoren und Aktoren Komplexität
Spezifikation „immer gleich“, standardisiert:„Regelgröße an Führungsgrößeangleichen“
„immer neu“, nicht standardisierbar:normalerweise sehr umfangreich
Zusammenfassung: Steuerung vs. Regelung
4
GdA
140WiSe 19/20 Georg Frey
Klassifizierung von Steuerungen
• Aufgabenorientiert Verknüpfungssteuerungen
• DIN 19226 Teil 5: Eine Verknüpfungssteuerung ordnet den Zuständender Eingangssignale durch Boolesche Verknüpfungen definierteZustände der Ausgangssignale zu. Auch Steuerungen mitVerknüpfungsgliedern und einzelnen Speicher- und Zeitfunktionenohne zwangsläufig schrittweisem Ablauf werden ebenso benannt.
• Kurz: Zuordnung von Ausgangssignalbelegungen zuEingangssignalbelegungen
Ablaufsteuerungen• DIN 19226 Teil 5: Eine Ablaufsteuerung ist eine Steuerung mit
zwangsläufig schrittweisem Ablauf, bei der der Übergang von einemSchritt auf den oder die programmgemäß folgenden abhängig vonÜbergangsbedingungen erfolgt. Die Schrittfolge kann in besondererWeise programmiert sein, z.B. mit Sprüngen, Schleifen,Verzweigungen. Die Schritte der Steuerung entsprechen meist denprozessbedingt aufeinander folgenden Zuständen der zu steuerndenAnlage.
• Kurz: Schrittweise Abarbeitung eines Algorithmus mit zeitabhängigenoder prozessabhängigen Weiterschaltbedingungen
GdA
141WiSe 19/20 Georg Frey
Systemtheorie oder Software-Engineering?
Software-Engineering• Streckenmodell im Allgemeinen nicht
oder nur in sehr abstrakter Formvorhanden
• Aufgabenstellung ist in jeden Projektneu und deshalb nicht standardisierbar
• Einzelentwurf der Algorithmenaufgrund der nicht standardisiertenAufgabenstellung
• Reuse nur für Teile möglich
• Eigenschaften der entworfenenLösung müssen nachgewiesen werden
Steuerungsentwurf
Systemtheorie• Ausgangspunkt: mathematisches Modell der
Strecke(Modellbildung oder Identifizierung)
• Aufgabenstellung kann standardisiert inmathematischer Form angegeben werden(Sollwerte einregeln, Störungen ausregeln)
• Algorithmen liegen für verschiedene Fälle instandardisierter Form vor(PI, PID, Zweipunkt, ...)
• Reuse durch Bestimmung neuer Parametermöglich
• Berechnete Lösung hat garantierteEigenschaften (Voraussetzung: gutesStreckenmodell)(Stabilität, Dämpfung, ...)
Regelungsentwurf
5
GdA
142WiSe 19/20 Georg Frey
Vorgehen in der industriellen Praxis
Spezifikationdes Ablaufs(Gantt-Chart)für Automatik-Modus
Steuerungsalgorithmus
C1on
S2 C2onIdle
C1on
S1
S1Xfer
Fault
Xfer
Xfer C1on
ManMode
CAD Modell der Maschine
operations
time
GdA
143WiSe 19/20 Georg Frey
Vorgehen in der industriellen Praxis (schematisch)
informelleSpezifikation
direkteImplementierung
Realisierung
Validierung
6
GdA
144WiSe 19/20 Georg Frey
informelle Spezifikation
• Als Ausgangspunkt findet der Steuerungsentwickler fast immer eineinformelle Spezifikation der Steuerungsaufgabe vor. Darunter fällt alles,was nicht auf einer streng definierten theoretischen Basis aufbaut, z.B. „von allen zu verstehende“ verbale Beschreibungen Skizzen freie Ablaufdiagramme
• Im Allgemeinen umfasst die informelle Spezifikation eine Beschreibungdes ungesteuerten Prozesses (z.B. Anlagenschemata oder RI-Fließbildnach DIN 28004 und DIN 19227).
• Anforderungen an den gesteuerten Prozess sind beschrieben.• Direkte Anforderungen an den Steuerungsalgorithmus können ebenfalls
enthalten sein.• Diese Teile der Spezifikation sind nicht immer klar voneinander
getrennt.• Problem: Da derartigen Aufgabenbeschreibungen keine wohl definierte
Syntax und Semantik zugrunde liegt, können sie nicht zweifelsfrei aufVollständigkeit, Eindeutigkeit bzw. Widerspruchsfreiheit überprüftwerden.
GdA
145WiSe 19/20 Georg Frey
direkte Implementierung
• In den meisten Fällen ist nach wie vor eine direkte Implementierung derinformellen Spezifikation in die gewünschte Realisierung industriellerAlltag.
• Problem: Der direkte Weg bietet leider vielfältige Fehlermöglichkeiten undzieht langwierige Inbetriebnahmen nach sich.
Realisierung• Allgemein besteht die Realisierung immer aus einer Kombination von
Hard- und Software.• Auf der Softwareseite sind dabei mehrere Softwareebenen wie
Echtzeitbetriebssystem, Kommunikationssoftware und Algorithmenebeneinvolviert.
• Nutzt man Standardsysteme mit wohl definierter Funktion, etwa eine SPS,so ist das Ergebnis des Steuerungsentwurfs die Software derAlgorithmenebene.
• Neben firmenspezifischen Sprachen haben sich hier mancherorts diegenormten Steuerungssprachen nach DIN EN 61131-3 durchgesetzt.
7
GdA
146WiSe 19/20 Georg Frey
Validierung (informell)
• Bei der Validierung werden Aussagen darüber gemacht, inwieweitdie gesamte Steuerung die beabsichtigte Funktion erfüllt.
• Dabei spannt sich der Bogen von der Realisierung zur informellenSpezifikation.
• Mit der Validierung erhält man die Möglichkeit, Fehler bei derdirekten Implementierung aufzudecken.
• Eine weitere wichtige Aufgabe der Validierung ist es,„Ungereimtheiten“ zu erkennen, die in der informellen Spezifikationvorhanden sind.
• Typischerweise handelt es sich dabei um unvollständige oderwidersprüchliche Festlegungen.
• Häufig führt die Validierung daher zur Änderung der ursprünglichgegebenen (a posteriori ungültigen) Spezifikation.
• Problem: Die Validierung auf Basis der Realisierung kann nureingeschränkt formalisiert werden.
• Sehr zeitaufwändig, nicht automatisierbar, i.A. unvollständig
GdA
147WiSe 19/20 Georg Frey
Validierungsmethoden (informell)
• Allgemein spricht man vom Test wenn eine Implementierung gegen dieinformelle Spezifikation validiert wird.
• Man unterscheidet White Box Tests und Black Box Tests.• White Box Tests basieren auf der internen Struktur des untersuchten
Programms oder Algorithmus. Code-Inspektion: Ein Team liest und diskutiert den Algorithmus Zeile für Zeile. Walkthroughs: Das Team liest den Algorithmus unter der Annahme vorher definierter
Testfälle (manuelle Simulation).
• Bei Black Box Tests wird nur die externe Schnittstelle des Systemsbetrachtet (das Innere erscheint als Black Box) Auf der Basies spezifizierter Testfälle werden Eingangssignale auf das System
gegeben. Die resultierenden Ausgangssignale werden mit der Spezifikation verglichen. Die im Ingenieurbereich übliche Methode der Simulation ist ein Black Box Test. Zwei Möglichkeiten
• ohne Strecke (Prüffeld)• mit Strecke (Hardware-in-the-Loop)
8
GdA
148WiSe 19/20 Georg Frey
Steuerungsentwurfsprozess mit formalen Methoden
informelleSpezifikation Realisierung
direkteImplementierung
Validierung
Formalisierung formaleSpezifikation Implementierung
GdA
149WiSe 19/20 Georg Frey
IEC 61131 bzw. DIN EN 61131
• Teil 1: Allgemeine Informationen enthält allgemeine Begriffsbestimmungen und typische Funktionsmerkmale, die eine
SPS von anderen Systemen unterscheiden. Beispielsweise die zyklischeAbarbeitung des Anwenderprogramms mit dem gespeicherten Abbild der Eingangs-und Ausgangswerte. BEGRIFFE
• Teil 2: Betriebsmittelanforderungen und Prüfungen definiert die elektrischen, mechanischen und funktionalen Anforderungen an die
Geräte sowie entsprechende Typprüfungen. HARDWARE• Teil 3: Programmiersprachen
Festlegung eines grundlegenden Softwaremodells. Harmonisierung undÜberarbeitung von weltweit verbreiteten Programmiersprachen. SOFTWARE
• Teil 4: Anwenderrichtlinien (noch kein Standard) Leitfaden für SPS-Anwender mit praxisgerechten Hinweisen von der Systemanalyse
bis zur Wartung. PROJEKTHANDLING• Teil 5: Kommunikation (noch kein Standard)
Kommunikation zwischen SPSen unterschiedlicher Hersteller und mit anderenGeräten. KOMMUNIKATION
9
GdA
150WiSe 19/20 Georg Frey
Definition: SPS (nach DIN EN 61131 Teil 1)
Ein digital arbeitendes elektronisches System für denEinsatz in industriellen Umgebungen mit einemprogrammierbaren Speicher zur internen Speicherungder anwenderorientierten Steuerungsanweisungen zurImplementierung spezifischer Funktionen wie z.B.Verknüpfungssteuerung, Ablaufsteuerung, Zeit-, Zähl-und arithmetische Funktionen, um durch digitale oderanaloge Eingangs- und Ausgangssignaleverschiedene Arten von Maschinen und Prozessen zusteuern. (...)
GdA
151WiSe 19/20 Georg Frey
SPS-Abarbeitungszyklus
10
GdA
152WiSe 19/20 Georg Frey
Prozessabbild
• Speicherbereich zur Aufnahme der Signalwerte der Ein- undAusgänge: Konstante Eingangssignale während eines Programmzyklus. Ausgabewerte werden zwischengespeichert, d.h. kurzzeitige Änderungen während
des Zyklus haben nach außen keine Wirkung.
• maximale Reaktionszeit ist etwa doppelte Zyklusdauer Tz d.h. beigegebener maximaler Reaktionszeit ergibt sich eine Begrenzung derProgrammlänge (typischer Wert: 1000 Anweisungen/ms)
• minimale Dauer eines Eingangssignals ist etwa Zyklusdauer Tz• aufgrund von Programmverzweigungen ist die Zyklusdauer nicht
konstant Überwachung der Zyklusdauer Zyklendurchlauf in regelmäßigen Abständen TA >Tz,max
• spezielle SPS Geräte erlauben den direkten Zugriff auf dieProzesssignale (ohne Prozessabbild) langsamer
GdA
153WiSe 19/20 Georg Frey
Minimale Reaktionszeit
11
GdA
154WiSe 19/20 Georg Frey
CPU-Baugruppe
Eingangsbaugruppen
Ausgangsbaugruppen
Kommunikationsbaugruppen
Funktionsbaugruppen
Bedieneinheiten
SPS-Aufbau
Stromversorgung
optional
GdA
155WiSe 19/20 Georg Frey
Bauarten
Standard-SPS(z.B. Siemens S7-400)
Mini-SPS (z.B. Siemens Logo)
Slot oder Software SPS
12
GdA
156WiSe 19/20 Georg Frey
Vor- und Nachteile der unterschiedlichen SPS-Bauarten
Hardware-SPS Slot-SPS Soft-SPSVorteile höchste Ausfallsicherheit
echtzeitfähig robuste Ausführungsform bei reinen
Steuerungsaufgaben sindKleinsteuerungenpreiswerter als PC´s
hohe Ausfallsicherheit bedingt echtzeitfähig unabhängig vom PC-
Betriebssystem unbegrenzte Speicher-
ressourcen des PC einfache Integration
von Visualisierungenund Datenbanken
preiswert basierend auf WinNT,
Win2000 oder WinXPBetriebssystem
einfache Integration indie sonstige PC Hard-und Software-Struktur
Nutzung allerPC-Ressourcen
Nachteile schlechtere Anbindung anInternet und Intranet.
aufwändigere Integrationvon Visualisieurng und
Datenbanken Rechengeschwindigkeit
geringer als bei PC´s begrenzter Programm- und
Datenspeicher
geringere Betriebs-sicherheit der PC-Hardware
Kurzlebigkeit der PC-Hardware
teils Einschränkungenbei der Echtzeitfähigkeit
geringe Ausfallsicherheit keine Echtzeitfähigkeit keine festen Zykluszeiten
GdA
157WiSe 19/20 Georg Frey
Softwaremodell der IEC 61131-3
Gemeinsame Elemente
Programmiersprachen
13
GdA
158WiSe 19/20 Georg Frey
Gemeinsame Elemente
• Überlagertes Softwaremodell
Programmstrukturierung durch Programmorganisationseinheiten• Programme (PROGRAM)• Funktionsbausteine (FUNCTION_BLOCK)• Funktionen (FUNCTION)
Zuweisung von SW zu HW durch• Konfigurationen (CONFIGURATION)• Ressourcen (RESOURCE)• Tasks (TASK)
• Gemeinsame Elemente der Programmiersprachen Variablen Datentypen Deklarationsteil
GdA
159WiSe 19/20 Georg Frey
PROGRAM, FUNCTION_BLOCK, FUNCTION
• Funktionen (FUN) liefern bei gleichem Eingang immer gleiches Ergebnis (kein Gedächtnis)
• Funktionsbausteine (FB) arbeiten mit eigenem Datensatz können Zusatzinformationen merken Instanzbildung
• Programm (PROG) Kopf eines SPS-Anwenderprogramms und besitzen die Möglichkeit auf SPS-
Peripherie zuzugreifen, bzw. diese den POE's zur Verfügung zu stellen
• Aufrufhierarchie: PROG kann FB und FUN aufrufen FB kann FB und FUN aufrufen FUN kann FUN aufrufen
zyklischer Aufruf (Rekursion) ist untersagt!
14
GdA
160WiSe 19/20 Georg Frey
Programmorganisationseinheiten POE
GdA
161WiSe 19/20 Georg Frey
Zuordnung von SW zu HW
• Auf welcher SPS bzw. welcher Ressource soll das Programmablaufen?
• Wie erfolgt die Programmausführung und mit welcher Priorität?• Müssen Variable auf physikalische SPS-Adressen gelegt werden?• Müssen Bezüge zu anderen Programmen über globale oder externe
Variablen hergestellt werden?• Diese Informationen werden als Konfiguration abgelegt
(CONFIGURATION)
• Die IEC 61131 bietet auch hierfür ein standardisiertes Format
• In der Praxis jedoch i.A. herstellerspezifisch!
15
GdA
162WiSe 19/20 Georg Frey
Softwaremodell der IEC 61131-3
Gemeinsame Elemente
Programmiersprachen
GdA
163WiSe 19/20 Georg Frey
Programmiersprachen nach IEC 61131-3
16
GdA
164WiSe 19/20 Georg Frey
Programmiersprachen nach IEC 61131-3
GdA
165WiSe 19/20 Georg Frey
Anweisungsliste AWL
• Engl.: Instruction List (IL)• In Deutschland sehr gebräuchliche Sprache• Neben der in der IEC genormten Fassung sind andere Dialekte
im Einsatz Siemens STEP5 bzw. STEP7 sind aufgrund der Verbreitung der Siemens
SPS-Hardware dominierend Unterschiede in der Programmiersprache selbst sind jedoch weniger
gravierend Schlimmer: das im vorigen Kapitel beschriebene Software-Konzept ist nicht
vorhanden
• AWL ist relativ leicht erlernbar (Registerdenkweise)• AWL führt im Allgemeinen zu sehr schnellen Programmen• ABER: Unübersichtlich bei großen Programmen• ABER: Erlaubt Spagetti-Programmierung durch unbedingte
Sprünge• ABER: nicht zustandsorientiert
17
GdA
166WiSe 19/20 Georg Frey
Befehlsaufbau in AWL
START: LD %IX1 (* PUSH BUTTON *)
ANDN %MX5 (* NOT INHIBITED *)
ST %QX2 (* FAN ON *)
Marke Operator Operand Kommentar
result := result OPERATOR operand
GdA
167WiSe 19/20 Georg Frey
Wichtige Operatoren (1)
Variablen- und Speicherhandling• LD Load Lädt einen Wert in den Akkumulator• LDN Load Not Lädt einen negierten Wert in den Akkumulator• ST Store Speichert den Inhalt des Akkumulators• STN Store Not Speichert die Negation des Akkumulators
• S Set setzt Operand auf TRUE (wenn Akku=1)• Verkürzt für STC Store Conditional
• R Reset setzt Operand auf FALSE (wenn Akku=1)• Verkürzt für STCN Store Conditional Not
Boolesche Verknüpfungen• AND, ANDN Und, Und Nicht• AND(, ANDN( Verknüpfung mit Klammerausdruck danach• OR, ORN Oder, Oder Nicht• OR(, ORN( Verknüpfung mit Klammerausdruck danach• XOR , XORN Exklusiv Oder, Exklusiv Oder Nicht• XOR(, XORN( Verknüpfung mit Klammerausdruck danach• ) Klammer zu
18
GdA
168WiSe 19/20 Georg Frey
Wichtige Operatoren (2)
Behandlung allgemeiner Daten• ADD, ADD( Addiert Operand auf Akkumulator• SUB, SUB( Subtrahiert Operand vom Akkumulator• MUL, MUL( Multipliziert Akkumulator mit Operand• DIV, DIV( Dividiert Akkumulator durch Operand• ) Klammer zu
Vergleichsoperatoren• GT, GT( Größer• GE, GE( Größer oder Gleich• EQ, EQ( Gleich• NE, NE( Ungleich• LE, LE( Kleiner oder Gleich• LT, LT( Kleiner• ) Klammer zu
GdA
169WiSe 19/20 Georg Frey
Wichtige Operatoren (3)
Verzweigungen (Sprünge)• JMP Sprung zu einer Sprungmarke• JMPC Bedingter Sprung (nur ausgeführt wenn Akkumulator auf TRUE)• JMPCN Bedingter Sprung (nur ausgeführt wenn Akkumulator auf
FALSE)
Funktionsbausteinaufruf• CAL Bausteinaufruf• CALC Bedingter Bausteinaufruf (wenn Akkumulator auf TRUE)• CALCN Bedingter Bausteinaufruf (wenn Akkumulator auf FALSE)
Rücksprung aus Funktionsbaustein oder Funktion• RET Rücksprung• RETC Bedingter Rücksprung (wenn Akkumulator auf TRUE)• RETCN Bedingter Rücksprung (Akkumulator auf FALSE)
Funktionsaufruf• Funktionsname
19
GdA
170WiSe 19/20 Georg Frey
Parameterübergabe an FB bzw. FUN in AWL
• Beispiel: Standardfunktionsbaustein TON (Einschaltverzögerung) Formalparameter:
• Eingänge IN, PT• Ausgänge Q, ET
Funktion:• TON liefert am Ausgang Q zeitverzögert um PT den Eingangswert IN wenn für
IN eine steigende Flanke erkannt wird.• Für einen Impuls an IN der kleiner als PT ist wird der Ausgang nicht geändert.• Am Ausgang ET kann die aufgelaufene Zeit abgelesen werden
Zeitdiagramm
GdA
171WiSe 19/20 Georg Frey
TON
20
GdA
172WiSe 19/20 Georg Frey
Parameterübergabe an FB bzw. FUN in AWL
• FB muss zunächst im aufrufenden Programm instanziiert werdenVAR
Frei, Aus: BOOL:=0 (* Freigabe-Eingang, Ausgang*)Zeit1: TON (* Standard-FB TON)Wert: TIME (* Wert-Eingang)
END_VAR
• Aufruf des FBs (3 verschiedene Methoden)1. CAL Zeit1(IN:=Frei, PT:=t#500ms)
2. LD t#500msST Zeit1.PTLD FreiST Zeit1.INCAL Zeit1
3. LD t#500msPT Zeit1LD FreiIN Zeit1
• Auswertung der AusgangsparameterLD Zeit1.QST AusLD Zeit1.ETST Wert
GdA
173WiSe 19/20 Georg Frey
Anwendungsbeispiel
21
GdA
174WiSe 19/20 Georg Frey
AWL: Anwendung Pumpenbeispiel
GdA
175WiSe 19/20 Georg Frey
Programmiersprachen nach IEC 61131-3
22
GdA
176WiSe 19/20 Georg Frey
Strukturierter Text (ST)
• Engl.: Structured Text (ST)• Höhere Programmiersprache• Pascal mit Erweiterungen für das Softwaremodell nach IEC 61131 und
das Handling von I/O-Signalen• Strukturierte Programmierung mit Konstrukten wie IF THEN ELSE,
CASE, FOR, WHILE
GdA
177WiSe 19/20 Georg Frey
Anweisungen
Zuweisung:z.B. alarm := ein AND aus;
Unterprogrammaufruf:z.B. lampe(S:=ein, R1:=aus);
Kontrollanweisung:z.B. IF NOT alarm
THEN lampe(S:=ein, R1:=aus);END_IF;
23
GdA
178WiSe 19/20 Georg Frey
Kontrollstrukturen
IF d < 0.0THEN n := 0;ELSIF d = 0.0
THEN n := 1;x1 := -b / (2.0*a);ELSE n := 2;x1 := (-b + SQRT (d)) / (2.0*a);
END_IF;
CASE TW OF1,5: anzeige := temperatur;2: anzeige := umdrehung;3: anzeige := brutto-tara;4,6..10: anzeige := status (tw-4);ELSE anzeige := 0;fehler := 1;
END-CASE;
GdA
179WiSe 19/20 Georg Frey
Schleifen
FORFOR i := 1 TO 100 BY 2 DO
IF i = kTHEN EXIT;
END_IF;zaehl[i] := i + 3;
END_FOR;
WHILEi := 1;WHILE i <= 100 & i <> k DO
zaehl [i] := i + 3;i := i + 2;
END_WHILE;
REPEATi := 1;
IF i <> kTHEN
REPEATzaehl [i] := i + 3;
i := i + 2;UNTIL i > 100 OR i = k
END_REPEAT;END_IF;
EXIT verlässt bei geschachteltenSchleifen jeweils die innerste.
24
GdA
180WiSe 19/20 Georg Frey
Programmiersprachen nach IEC 61131-3
GdA
181WiSe 19/20 Georg Frey
Kontaktplan (KOP)
• Engl.: Ladder Diagram (LD)• In USA sehr gebräuchliche Sprache• Neben der in der IEC genormten Fassung sind andere Dialekte im
Einsatz Unterschiede in der Programmiersprache selbst sind jedoch weniger gravierend Schlimmer: das im vorigen Kapitel beschriebene Software-Konzept ist nicht
vorhanden Noch schlimmer teilweise andere Abarbeitungsregeln
• KOP ist relativ leicht erlernbar (Verdrahtungsdenkweise)• KOP führt im Allgemeinen zu sehr schnellen Programmen• ABER: Unübersichtlich bei großen Programmen• ABER: Erlaubt Spagetti-Programmierung durch unbedingte Sprünge• ABER: nicht zustandsorientiert
• Grundidee: Programmierung durch zeichnen eines Stromlaufplanes mitKontakten und Spulen Kontakte schließen oder öffnen den Strompfad in Abhängigkeit von Variablen Spulen führen Zuweisungen an Variablen aus
25
GdA
182WiSe 19/20 Georg Frey
Grundelemente KOP: Kontakte
Kontakte
xSchließer schließt Strompfad bei x=1
öffnet Strompfad bei x=0
x Öffner öffnet Strompfad bei x=1
schließt Strompfad bei x=0
x P Schließer mit Erkennung
positiver Flankeschließt Strompfad einmalig, wenn x von 0 nach1 übergeht
x N Schließer mit Erkennung
negativer Flankeschließt Strompfad einmalig, wenn x von 1 nach0 übergeht
GdA
183WiSe 19/20 Georg Frey
Grundelemente KOP: Spulen
Spulen
ySpule bei Stromfluß y=1
ohne Stromfluß y=0
y negative Spule bei Stromfluß y=0
ohne Stromfluß y=1
y P Spule mit Erkennung
positiver Flankebei Stromübergang von 0 nach 1 einmalig y=1
y N Spule mit Erkennung
negativer Flankebei Stromübergang von 1 nach 0 einmalig y=1
y S Setzspule bei stromfluß y=1
bleibt bis y durch andere Zuweisung rückgesetztwird
y R Rücksetzspule bei stromfluß y=0
bleibt bis y durch andere Zuweisung gesetzt wird
26
GdA
184WiSe 19/20 Georg Frey
Grundelemente KOP: Sprünge
Marke Ax1
return
returnx2
Sprünge
unbedingter Sprung
immer springe zu dem mit dem Bezeichner„Marke A“ gekennzeichneten Netzwerk
bedingter Sprung
x1=1: Springe immer zu dem mit dem Bezeichner„Marke A“ gekennzeichneten Netzwerk
sonst: direkt weiter
Rücksprünge
Unbedingter Rücksprung an die Stelle nach dem Sprungbefehl
bedingter Rücksprung nur bei x2=1
Marke A
GdA
185WiSe 19/20 Georg Frey
Aufbau und Abarbeitung
• Zwischen zwei Stromschienen werden Netzwerke eingezeichnet• Aufbau der Netzwerke: Variablen einlesen dann Variablen ausgeben• Abarbeitung von oben nach unten und von links nach rechts• Beispiele:
Var1 Var2
Var3
Var4
Var3 Var4
Var1
27
GdA
186WiSe 19/20 Georg Frey
KOP: Anwendung Pumpenbeispiel
GdA
187WiSe 19/20 Georg Frey
Programmiersprachen nach IEC 61131-3
28
GdA
188WiSe 19/20 Georg Frey
Funktionsbausteinsprache FBS
• Engl.: Function Block Diagram (FBD)
• Anlehnung an die Hardwaretechnologie der 60er
• Anwendung in der Prozessindustrie
• Verknüpfungsglieder (AND, OR, ...) und Flipflops (Speicher) werdengrafisch zu einer Schaltung verbunden
• Abarbeitung der Schaltung implizit: oben unten und links rechts explizit: Angabe einer Reihenfolge
GdA
189WiSe 19/20 Georg Frey
FBS: Anwendung Pumpenbeispiel
29
GdA
190WiSe 19/20 Georg Frey
Zusammenfassung zu 7.
• Begriff der Steuerung• Unterschied zwischen Steuerung und Regelung• Unterschied zwischen Verknüpfungs- und Ablaufsteuerung• Steuerungsentwurfsprozess• Funktionsweise einer SPS• Softwaremodell nach IEC 61131• Sprachen nach IEC 61131
AWL
KOP
FBS
ST
Ablaufsprache AS später nach der Einführung von Petrinetzen