29
1 Grundlagen der Automatisierungstechnik (Automatisierungstechnik 1) 7. Steuerungstechnik GdA 135 WiSe 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

7. Steuerungstechnik

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 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

Page 2: 7. Steuerungstechnik

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

Page 3: 7. Steuerungstechnik

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

Page 4: 7. Steuerungstechnik

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

Page 5: 7. Steuerungstechnik

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

Page 6: 7. Steuerungstechnik

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.

Page 7: 7. Steuerungstechnik

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)

Page 8: 7. Steuerungstechnik

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

Page 9: 7. Steuerungstechnik

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

Page 10: 7. Steuerungstechnik

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

Page 11: 7. Steuerungstechnik

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

Page 12: 7. Steuerungstechnik

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

Page 13: 7. Steuerungstechnik

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!

Page 14: 7. Steuerungstechnik

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!

Page 15: 7. Steuerungstechnik

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

Page 16: 7. Steuerungstechnik

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

Page 17: 7. Steuerungstechnik

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

Page 18: 7. Steuerungstechnik

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

Page 19: 7. Steuerungstechnik

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

Page 20: 7. Steuerungstechnik

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

Page 21: 7. Steuerungstechnik

21

GdA

174WiSe 19/20 Georg Frey

AWL: Anwendung Pumpenbeispiel

GdA

175WiSe 19/20 Georg Frey

Programmiersprachen nach IEC 61131-3

Page 22: 7. Steuerungstechnik

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;

Page 23: 7. Steuerungstechnik

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.

Page 24: 7. Steuerungstechnik

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

Page 25: 7. Steuerungstechnik

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

Page 26: 7. Steuerungstechnik

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

Page 27: 7. Steuerungstechnik

27

GdA

186WiSe 19/20 Georg Frey

KOP: Anwendung Pumpenbeispiel

GdA

187WiSe 19/20 Georg Frey

Programmiersprachen nach IEC 61131-3

Page 28: 7. Steuerungstechnik

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

Page 29: 7. Steuerungstechnik

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