Sie sind auf Seite 1von 32

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

Laborbung LI1/2: SPS-Regelung einer Lichtregelstrecke bungsinhalt


In dieser Laborbung soll die Helligkeit in einer geschlossenen Box mit Hilfe einer speicherprogrammierbaren Steuerung (SPS) geregelt werden. Als Lichtquelle dienen zwei nebeneinander in der Box montierte, gleichwertige Glhlampen, die ber Leistungsverstrker angesteuert werden knnen. Eine Lampe dient als Streckeneingang (Uin), die zweite Lampe als Strgreneingang (Uz). Die Lichtstrke selbst wird ber einen lichtempfindlichen Widerstand (LDR), der in der Box gegenber den Lampen angeordnet ist, gemessen. Da die Lampen und der LDR nichtlineare Kennlinien aufweisen, die sich gegenseitig nicht kompensieren, liegt eine nichtlineare Regelstrecke vor. Um einen Regler im Frequenzbereich zu entwerfen, mu man daher eine geeignete Linearisierung um einen Arbeitspunkt vornehmen. Das Verhalten der Strecke wird dann bei kleinen Auslenkungen um den Arbeitspunkt untersucht.

bungsablauf
1. Umwandlung des lichtstrkeabhngigen LDR-Widerstandswertes in ein Spannungssignal Uout (Aufbau der OP-Schaltung am Steckbrett) 2. Aufnahme der statischen Kennlinie Uout =f(Uin) der Regelstrecke fr verschiedene Strgren Uz als Kennlinienfeld auf einem x-y-Plotter 3. Festlegung eines geeigneten Arbeitspunktes (Uin, Uz) und Korrektur des Mesignals Uout ber die SPS derart, da im Arbeitspunkt die Ausgangsgre y=0 gemessen wird (Offsetkorrektur). 4. Ermittlung eines dynamischen Modells der Lichtregelstrecke im Arbeitspunkt 5. Entwurf eines Reglers fr die identifizierte Strecke im Bodediagramm 6. Entwurf und Programmierung eines Regleralgorithmus auf der SPS (Eingang: Istwert y, interne Sollwertvorgabe ysoll, Ausgang: Stellgre u=Uout. Achtung, fixe Verstrkung des Leistungsverstrkers von k=-2 bercksichtigen!). Test der korrekten Funktion. 7. Schlieen des Regelkreises und Kontrolle der Funktion 8. Aufnahme von Fhrungsprung- und Strungssprungantwort

Die bung wird aufgrund des groen Zeitaufwands auf 2 Halbtage verteilt abgehalten. Am ersten bungshalbtag wird der Punkt 6 (Entwurf und Programmierung eines Regleralgorithmus auf der SPS) durchgefhrt, am 2. bungshalbtag werden die Punkte 1-5,7-8 sowie eventuelle Zusatzaufgaben behandelt.

Literatur
[1] [2] [3] [4] A. Weinmann, Regelungen. Analyse und technischer Entwurf, Band 1, 3. Auflage 1994 K.J. Astrm, B. Wittenmark, Computer Controlled Systems, 3. Auflage 1997 U. Tietze, Ch. Schenk, Halbleiter-Schaltungstechnik, 9. Auflage 1989 SIMATIC Automatisierungssystem S7-200, Systemhandbuch, Siemens AG, 1998

DI. G. Jambrich,

58801/37622

Seite -39-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

Digitale Regler
Abtastregelungen
Abtastsysteme zeichnen sich dadurch aus, da zeitkontinuierliche Signale in konstanten Abtastschritten kT abgetastet (Sampling) und ber die Abtastperiode konstant gehalten werden (Hold). Zustzlich kommt es in realen Systemen durch den Analog-Digital-Wandler auch zu einer Quantisierung des Signalwertes in endlich viele Stufen (Digitalisierung). Dieser Vorgang wird in Abb. 1 verdeutlicht: Das Signal y(t) wird zu den Zeitpunkten t=kT, k=0,1,2,... abgetastet - y*(kT). Wird das Signal ohne Quantisierung ber je eine Abtastperiode konstant gehalten, ergibt sich der Signalverlauf y t , die Quantifizierung fhrt auf yd(t).

y(t) y* (kT)

y(t) y*(kT) yd(t)

2T

3T

4T

5T

6T

2T

3T

4T

5T

6T

Abbildung 1 - Abtastung, Halten und Quantisierung eines zeitkontinuierlichen Signals

Diskretisierung des zeitkontinuierlichen Reglers


Eine einfache Mglichkeit1, einen (digitalen) Abtastregler zu entwerfen, ist, den Reglerentwurf zeitkontinuierlich durchzufhren und die entstehende Intregal-Differentialgleichung fr den Regler in einer Differenzengleichung zu nhern (siehe auch [2]). Differentiale werden dabei durch Differenzenquotienten, Integrale durch Summen genhert. Strukturell zeigt sich der bergang vom kontinuierlichen Regelkreis zum Abtastregelkreis in Abb.2.
yr ef y _ e zei tkonti nuier li cher u Regl er Str ecke y

T yr ef y _ e e*

ed * zei tdi skr eter u d* ud Regl er ADC DAC (Rechner ) QuantiH al tesier er gl i ed

Str ecke

Abbildung 2 - zeitkontinuierlicher und zeitdiskreter Regelkreis

weitere Mglichkeiten: Entwurf im Z-Bereich (Analogon zum s-Bereich fr zeitdiskrete Systeme), Z-Transformation eines zeitkontinuierlichen Reglers, Entwurf im q-Bereich)

DI. G. Jambrich,

58801/37622

Seite -40-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

Damit sich der hergeleitete zeitdiskrete Regler annhernd gleich wie der zeitkontinuierliche Regler verhlt, wird die Abtastzeit T im allgemeinen kleiner oder gleich einem Zehntel der kleinsten signifikanten Zeitkonstante2 Tsig des geschlossenen Regelkreises gesetzt. So wird gewhrleistet, da die wesentliche Systemdynamik des geschlossenen zeitkontinuierlichen Regelkreises auch durch den zeitdiskreten Regelkreis nachgebildet wird. Trotz der beschriebenen Wahl der Abtastzeit in Hinsicht auf die Systemdynamik kann aber durch das Halteglied die Stabilittseigenschaft des Systems wesentlich verndert werden: Qualitativ wirkt sich nmlich das Halteglied fr Systeme mit obiger Voraussetzung (T <Tsig / 10) wie eine Totzeit mit Tt=T / 2 aus. Abb. 3 zeigt das ursprngliche Signal u(t), das abgetastete und gehaltene Signal u (t) sowie das auf eine Strecke mit Tiefpacharakter etwa gleich wie u (t) wirkende Signal u(t-T/2).
u(t) u(t-T/ 2) u (t)

0.8

0.6

0.4

0.2

0.1

0.2

0.3

0.4

0.5 0.6 0.7 Ti me (second)

0.8

0.9

Abbildung 3 - Wirkung des Halteglieds Das bedeutet, da sich der Phasenrand des Systems mit Halteglied etwa um = D T/2 verglichen mit dem System ohne Halteglied verringert. Praktisch knnen also im kontinuierlichen stabile Systeme durch die Einfhrung des Abtast-Halteglieds instabil werden oder zumindest in die Nhe der Stabilittsgrenze gelangen!

Signifikante Zeitkonstanten sind diejenigen Zeitkonstanten, die im wesentlichen die Dynamik von bergangsvorgngen, z.B. der Sprungantwort bestimmen. Sie knnen meist nherungsweise aus der Sprungantwort des geschlossenen Regelkreises abgelesen werden (Anstiegszeit bzw. Schwindungsperiode). ber die Betrachtung der offenen Regelschleife lt sich nachweisen, da alle Polstellen von FO unterhalb 15dB keinen signifikanten Einflu mehr auf das dynamische Verhalten des Regelkreises mehr besitzen ([1], Kap. 4.10). Diese Zeitkonstanten knnen also bei der Wahl der Abtastzeit auer Acht gelassen werden (parasitte Zeitkonstanten).

DI. G. Jambrich,

58801/37622

Seite -41-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

Speicherprogrammierbare Steuerungen (SPS)


Allgemeines
Eine SPS ist ein programmierbares Mikroprozessorsystem mit Digital- und (optional) Analog-Ein- und Ausgngen. Einsatzgebiet ist vor allem die Automatisierungstechnik im weiteren Sinn (Steuerungs-, Regelungstechnik). Die Programmierung der SPS erfolgt entweder graphisch mittels eines Kontaktplans (KOP) oder direkt ber eine Anweisungsliste (AWL) in Maschinensprache ber ein Programmiergert (in dieser Laborbung ein PC). Whrend die Programmierung mittels KOP an Schtz- und Relais-Schaltungen angelehnt ist, kann die Programmierung ber AWL losgelst von HW-Schaltungen betrachtet werden. Alle weiteren Ausfhrungen beziehen sich speziell auf die SPS SIMATIC S7-200 (CPU 214) sowie auf die STEP 7-Micro/WIN-Programmiersoftware der Firma Siemens.

Interner Aufbau
Eine SPS besteht aus Befehlsspeicher, Datenspeicher, CPU, analogen3 und digitalen E/A-Bausteinen, Zeitgeber (Timer) und Zhler. Direkt in der CPU 214 stehen fr logische und arithmetische Operationen ein logischer Stack (9 Bit tief) und 4 Akkumulatoren (je 4 Byte breit) zur Verfgung.

Programmierung
siehe auch Anhang 1.4-Programmieren der D7-200 siehe auch Anhang 4.1-Einfhrung in AWL und KOP

Im Gegensatz zu herkmmlichen Mikroprozessorsystemen erfolgt die Abarbeitung des SPSHauptprogramms ausnahmslos zyklisch. Vom Hauptprogramm knnen Unterprogramme aufgerufen werden bzw. auf Anforderung (extern, intern, Timer, ..) Interruptroutinen ausgefhrt werden. Prinzipiell unterscheidet man zwischen absolut ausgefhrten Operationen und bedingt ausgefhrten Operationen. Absolut ausgefhrte Operationen werden unabhngig von Stackwerten durchgefhrt, bedingt ausfhrbare Operationen werden nur durchgefhrt, wenn der oberste Stackwert logisch EINS ist. Auf diese Weise ist eine einfache Ablaufsteuerung realisierbar. Der Zugriff auf Datenobjekten kann in den meisten Fllen ber Bits, Bytes, Wrter (2 Byte) oder Doppelwrter (4 Byte) erfolgen. Adressierbare Objekte sind digitale Eingnge, digitale Ausgnge, der Variablenspeicher, Merker4, Sondermerker5, Ablaufsteuerungsrelais6, Zeiten (Timer), Zhler, Analogeingnge, Analogausgnge und Akkumulatoren. Alle physikalischen analogen und digitalen Einnge werden am Beginn jedes Hauptprogrammzyklus eingelesen und im Speicher in ihren sogenannten Prozessabbildern abgelegt, auf die dann vom Programm zugegriffen wird. Auszugebende Werte mssen vom Programm ebenso in die entsprechenden Prozeabbilder der Ausgnge abgelegt werden, aus denen sie dann am Ende jedes Hauptprogrammzyklus in die physikalischen Ausgnge kopiert werden.

Zufgriff auf Datenobjekte


siehe auch Anhang 2.4-Zugriff auf den Datenspeicher und 2.5-Zugriff auf Datenobjekte siehe auch Anhang 4.3-Operanden und Bereiche

Eingnge, Ausgnge, der Variablenspeicher, Merker, Sondermerker, Ablaufsteuerungsrelais und die Akkumulatoren knnen im Bit-, Byte, Wort-, oder Doppelwortformat angesprochen werden. Der Syntax fr den Bitzugriff lautet: X[Adr.des Byte].[Adr.des Bit] der Syntax fr alle anderen Zugriffe lautet: X[Gre][Anfangsadr. des 1.Byte]
Erweiterungsmodul EM235 Schneller Speicher, tw. auch sicher gegen Spannungsausfall 5 Speicher fr Status- und Steuerungsinformationen 6 kein Relais im herkmmlichen Sinn, sondern ebenso ein adressierbarer Speicherbereich, der zur Unterteilung des Steuerprogramms in logische Segmente dient (wird bei der bung nicht verwendet).
4 3

DI. G. Jambrich,

58801/37622

Seite -42-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

wobei X als Bezeichner fr das zu adressierende Objekt steht: Objekt Eingang X E Ausgang Variablen-Sp. Merker Sondermerker Ablaufsteuerung Akku A V M SM S AC0..AC3

Der Zugriff auf die Akkumulatoren erfolgt nicht nach dem obigen Schema, sondern ergibt sich implizit aus dem zweiten Operanden und der jeweiligen Operation. Der Zugriff auf die 16 Bit-breiten Analogein- und Analogausgnge erfolgt sinnvollerweise immer im (16-Bit-)Wortformat mit den Anfangsadressen 0, 2, 4, ..: AEW0, AEW2, AEW4 fr die Analogeingnge bzw. AA0, AA2, AA4 fr die Analogausgnge. Beispiele:
E0.0 SM0.1 SM0.5 VB100 VW100 MD100 AEW0 Digitaleingang Byte 0, Bit 0 Sondermerker Byte 0, Bit 1 (nur im ersten Zyklus auf 1 gesetzt) Sondermerker Byte 0, Bit 5 (wird alle 0,5 Sekunden invertiert) Variablenspeicher Byte 100, 1 Byte lang Variablenspeicher Byte 100, 2 Byte (1 Wort) lang Merker Byte 100, 4 Byte (1 Doppelwort) lang Analogeingang Byte 0, 2 Byte (1 Wort) lang

MOVB VB50,AC0 Kopiert VB50 nach AC0 (8-Bit-Transfer). Beachte: AC0 wird hier implizit als Byte angesprochen

bersicht ber wichtige Programmablauf-Befehle


siehe auch Anhang 2.14-Befehlsvorrat siehe auch Anhang 4.2-Operationen in Abhngigkeit vom Stack

Ein SPS-Programm wird blicherweise in einzelne Netzwerke unterteilt. Diese Strukturierung stammt aus der KOP-Programmierung und hat in der AWL-Programmierung auf den Programmablauf keinen Einflu. Kommentare werden mit zwei Slash // eingeleitet. Das Hauptprogramm beginnt mit der 1. Anweisung in Programmspeicher und wird mit dem Befehl MEND abgeschlossen. Unterprogrammaufrufe erfolgen durch den Befehl CALL Unterpgrogramm-Nr. Der Befehl CALL ist eine bedingt ausgefhrte Anweisung ! Unterprogramme beginnen mit dem Schlsselwort SBR Unterprogramm-Nr. und werden absolut mit der Anweisung RET beendet. Eine bedingte Rckkehr zum aufrufenden Programm ist mit der Anweisung CRET mglich. Interruptroutinen beginnen mit dem Schlsselwort INT Interrupt-Routine-Nr. und werden absolut mit der Anweisung RETI bzw. bedingt mit der Anweisung CRETI beendet. Bedingte Sprnge zur Sprungmarke LBL xxx sind mit der Anweisung JMPxxx mglich. Ein sofortiger Programmabbruch wird durch die Anweisung STOP erreicht.

bersicht ber wichtige Stackbefehle


siehe auch Anhang 2.14-Befehlsvorrat siehe auch Anhang 4.1-Einfhrung in KOP und AWL (Logischer Stack und folgende Abschnitte)

Prinzipiell wird immer nur das oberste Bit des Stacks bearbeitet. Die wichtigsten Operationen auf diesem obersten Stack-Bit sind Laden (Achtung - unterstes Stack-Bit fllt aus dem Stack) (LD) UND/ODER-Verknpfen (U,O) Invertieren (NOT) Ergebnis eines Vergleichs laden (Achtung - unterstes Stack-Bit fllt aus dem Stack) (z.B. LDB>=) Ergebnis eines Vergleichs mit der Stackspitze UND/ODER-verknpfen (z.B. UW<,OD=) Stack-Spitze einem Bit zuweisen (=) Weiters kann der Stack nach unten und nach oben geschoben werden (wobei das jeweilige uerste Bit aus dem Stack herausfllt) (LPS, LPP) DI. G. Jambrich, 58801/37622 Seite -43SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

das erstes und das zweites Stack-Bit UND- bzw. ODER-verknpft werden (ULD, OLD) Alle Stack-Befehle sind absolut ausfhrbare Befehle und knnen zur Steuerung bedingt ausfhrbarer Befehle verwendet werden! Beispiele:
LD LDN U ON NOT = LDB= LDR>= E0.0 M1.5 V100.0 V101.0 A0.1 MB1,MB2 // // // // // // Bit 0 von Digitaleingang 0 an die Spitze des Stack laden invertiertes Bit 5 von Merkerbyte 1 an Spitze des Stack laden Stackspitze mit 0. Bit des 100. Variablenbyte UND-verknpfen Stackspitze mit inv. 0.Bit des 101. Var.Byte OR-verknpfen Stackspitze invertieren Stackspitze dem Bit 1 des Ausgang 0 zuweisen.

// Ergebnis des 8-Bit(Byte)-Ganzzahl-Vergleichs // (Merkerbyte Addr.1 == Merkerbyte Addr.2) in Stackspitze laden Ergebnis des Realzahl-Vergleichs (Var.doppelwort Addr.10 >= Var.doppelwort Addr.14 in Stackspitze laden - Beachte, da VD10 4 Byte lang ist nchstes Doppelwort erst erst auf Adresse 14!

VD10,VD14 // // // //

UD<=

VD10,VD13 // Ergebnis des 32-Bit(Doppelwort)-Ganzzahl-Vergleichs // (Var.doppelwort Addr.10 <= Var.doppelwort Addr.13) // mit der Stackspitze UND-verknpfen AEW0,AEW2 // Ergebnis des 16-Bit(Wort)-Ganzzahl-Vergleichs // (Analogeingangswort Addr.0 == Analogeinangswort Addr.2) // mit der Stackspitze ODER-Verknpfen

OW=

bersicht ber wichtige arithmetische und logische Verknpfungen


siehe auch Anhang 2.14-Befehlsvorrat siehe auch Anhang 4.2-Operationen in Abhngigkeit vom Stack

Die SPS kann Ganzzahl(Zweierkomplement!)- und Gleitkomma(Realzahl)-Operationen ausfhren. Um eine arithmetische Operation durchzufhren, mssen die Operanden nicht unbedingt in einen der Akkumulatoren geladen werden, obwohl dies aus Zeitgrnden oft sinnvoll ist. Mgliche Operationen sind Addition, Subtraktion (+I, -I (16 Bit integer), +D, -D (32 Bit integer), +R, -R (real)) Multiplikation, Division (MUL, DIV (integer), *R, /R (real)) Quadratwurzel (nur bei Realzahlen) (SQRT) logische Verknpfungen (UND, OR, XOR) Einerkomplement (Bitweise Negation) (INV) Weiters existieren Rotations (RR,RL)- und Schiebebefehle (SR,SL) sowie Umwandlungsbefehle zur Umwandlung von Werten zwischen Ganz- und Gleitkommadarstellung (TRUNC, DTR). Zum Transferieren von Daten in Byte, Wort- oder Doppelwort-Form existiert eine Move-Anweisung (MOV). Beispiele:
+I -D MUL DIV +R -R *R /R UNDW ORD INVD MOVB MOVW VW16,VW18 VD20,VD24 VW18,VD20 VW18,VD20 VD28,VD32 VD28,VD32 VD28,VD32 VD28,VD32 VW16,VW18 VD20,VD24 VD20 VB50,AC0 AC1,AA0 // // // // // // // // // // Ganzzahl-16-Bit-Addition VW18 := VW18V + VW16 Ganzzahl-32-Bit-Subtraktion VD24 := VD24 - VD20 Ganzzahl-16-Bit-Multiplikation VD20 := Lowbyte(VD20) * VW18 Ganzzahl-16-Bit-Division Lowbyte(VD20) := Lowbyte(VD20) / VW18 Highbyte(VD20) := Divisionsrest (Lowbyte(VD20) / VW18) Fliekomma-(Realzahl)-Addition VD32 := VD32 + VD28 Fliekomma-(Realzahl)-Subtraktion VD32 := VD32 - VD28 Fliekomma-(Realzahl)-Multiplikation VD32 := VD32 * VD28 Fliekomma-(Realzahl)-Division VD32 := VD32 / VD28

// 16-Bit UND-Verknpfung VW18 := VW18 UND VW16 // 32-Bit ORDER-Verknpfung VD20 := VD20 ODER VD24 // Einer-Komplement VD20 := neg(VD20) // Kopiert VB50 nach AC0 (8-Bit-Transfer) // Beachte: AC0 wird implizit als Byte angesprochen // Kopiert AC0 nach Analogausgang0 (16-Bit-Transfer)

DI. G. Jambrich,

58801/37622

Seite -44-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

Interupt-Programmierung
siehe auch Anhang 7.1-Interrupt-Operationen

Die SPS-CPU 214 untersttzt 21 verschiedene Interruptereignisse unterteilt in 5 verschiedene Interrupt-Arten, von denen hier E/A-Interrupt und Timerinterrupt herausgegriffen werden sollen. Jedes Interruptereignis ist einer Ereignisnummer (0..20) zugeordnet, die man mittels ATCH-Anweisung einer Interrupt-Subroutine zuweisen kann. E/A-Interrupt verzweigen bei steigenden bzw. fallenden Flanken an den Eingangsbits E0.0-E0.3 zu den zugewiesenen Interruptsubroutinen. Steigende Flanke an E0.0-E0.3: Ereignisnummern 0,2,4,6 Fallende Flanke an E0.0-E0.3: Ereignisnummern 1,3,5,7 Zeitgesteuerte Interrupts verzweigen ber ein Sondermerker-Byte einstellbar alle 5..255 Millisekunden zu den zugewiesenen Interuptsubroutinen. Interruptintervall fr Timerinterrupt 0 (Ereignisnumer 10): SMB34 Interruptintervall fr Timerinterrupt 1 (Ereignisnummer 11): SMB35 Nach dem Start eines Programms sind zunchst alle Interrupts gesperrt. In der Initisalisierungsroutine werden nun blicherweise die Interruptereignisse ihren Interruptsubroutinen mit dem Befehl ATCH IntRoutineNr., EventNr. zugeordnet. Anschlieend werden mit dem Befehl ENI alle Interruptereignisse freigegeben. Beim Eintreten eines Interruptereignisses speichert das System nun automatisch Stack, Akkus und Sondermerker, setzt den obersten Stackwert auf logisch EINS7 und verzweigt anschlieend in die zugeordnete Interruptsubroutine, die durch den Marker INT IntRoutineNr. gekennzeichnet ist. Der Rcksprung am Ende der Interruptsubroutine erfolgt mit der Anweisung RETI (bzw. bedingt mit der Anweisung CRETI). Treten mehrere Interruptereignisse ein, whrend ein Interrupt in Bearbeitung ist, wird die akutelle Interruptbearbeitung nicht unterbrochen, sondern fertig abgearbeitet. Die wartenden Interrupts werden danach entsprechend ihrer Prioritt (E/A-Interrupt vor Timer-Interrupt) zur Abarbeitung gereiht. Die Warteschlange fr E/A-Interrupts betrgt max. 16 Eintrge, die fr Timerinterrupts 4 Eintrge. Einen berlauf dieser Warteschlange kann man innerhalb einer Interruptsubroutine ber den Sondermerker SM4.1 (E/A-Interrupt) bzw. den Sondermerker SM4.2 (Timerinterrupt) abfragen.

Sondermerker
siehe auch Anhang 2.6-Sondermerker

ber Sondermerker erhlt man Zugriff zu einer Reihe von Status- und Steuerungsinformationen. Manche Sondermerker sind schreibgeschtzt (SMB0..SMB29), andere knnen vom Programm beschrieben werden (SMB30..SMB85). Einige wichtige Sondermerker sind SM0.0 immer logisch 1 (z.B. zum Setzen der Stackspitze) SM0.1 nur im ersten Zyklus logisch 1 (z.B. zum Verzweigen in eine Initialisierungsroutine) SM0.4 wird alle 30 Sekunden invertiert SM0.5 wird alle 0,5 Sekunden invertiert SM0.7 wird jeden Zyklus invertiert SM4.1 berlauf der E/A-Interrupt-Warteschlange SM4.2 berlauf der Timer-Interrupt-Warteschlange SMB34 SMB35 Intervall fr Timerinterrupt 0 in Millisekunden (beschreibbar) Intervall fr Timerinterrupt 1 in Millisekunden (beschreibbar)

Initialisierungsroutine
Fr Initialsierungsaufgaben (Setzen von Variablen, Ausgngen , Zuordnen der Interruptsubroutinen etc.) kann durch Abfrage von SM0.1 beim ersten Programmzyklus in eine Initalisierungssubroutine verzweigt werden.
7

damit alle nachfolgenden bedingt ausfhrbaren Anweisungen ausgefhrt werden !

DI. G. Jambrich,

58801/37622

Seite -45-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

Beispielprogramm
Das folgende Beispielprogramm kann als Template fr eigene Programme dienen. In der Hauptprogrammschleife wird ungefhr alle 0,5 Sekunden ein digitaler Ausgang ein- und ausgeschaltet und durch einen Timer-Interrupt gesteuert exakt alle 5 Millisekunden der analoge Eingang 0 eingelesen, durch 2 dividiert und an den analogen Ausgang 0 geschrieben.
// //Beispielprogramm // NETWORK 1 // Hier beginnt die Hauptprogramm-Schleife // LD SM0.1 // wenn SM0.1 aktiv (nur im ersten Zyklus) CALL 0 // nach Subroutine 0 (Initialisierungsroutine) verzweigen NETWORK 2 LD SM0.5 = A0.0 // MEND // Zustand des Sekundentakts (EIN/AUS) laden // und ins Ausgangsbit A0.0 schreiben // Ende der Hauptprogrammschleife

NETWORK 3 // Hier beginnt die Interruptroutine 0 (Timerinterrupt) INT 0 // MOVW AEW0, AC0 // Analogeingang 0 in Akku0 kopieren ... DIV +2, AC0 // ... durch 2 dividieren (Ganzzahldivision) MOVW AC0, MW1 // ... Ergebnis in MW1 zwischenspeichern MOVW AC0, AAW0 // ... und an Analogausgang 0 ausgeben // RETI NETWORK 4 // Hier beginnt die Subroutine 0 (Initialisierungsroutine) SBR 0 // MOVB 5, SMB34 // Intervallzeit fr Timerinterrupt 0: 5 Millisekunden ATCH 0, 10 // Interruptsubroutine 0 wird dem Interruptereignis 10 // (Timerinterrupt 0) zugeordnet ENI // Alle Interruptereignisse freigeben // RET

STEP 7-Micro/WIN-Programmierumgebung
Die Step 7-Micro/WIN-Programmiersoftware stellt ein konfortables Werkzeug zum Erstellen, bersetzen, Downloaden, Starten und berwachen von SPS-Programmen dar. STEP 7 Micro/WIN ermglicht die Vergabe von symbolischen Namen fr diverse Speicherbereiche, durch deren Verwendung SPS-Programme an bersichtlichkeit stark gewinnen. Weiters gibt es die Mglichkeit, Speicherbereiche ohne Verwendung von SPS-Anweisungen (und somit Verbrauch von Programmspeicherplatz) vor Programmstart mit Integer-Werten zu initialisieren. Im Einzelnen stehen dem Programmierer folgende Arbeitsfenster zur Verfgung: AWL-Editor: einfacher Texteditor zum Erstellen der Anweisungsliste. Bei Befolgung entsprechender Syntax-Regeln kann die AWL auch als Kontaktplan dargstellt werden (KOPEditor) Symboltabelle: Liste zur Zuweisung von symbolischen Namen zu Speicherstellen. Im Programm werden diese Namen unter Anfhrungszeichen angesprochen (z.B. MOVB SymName,AC0). Statustabelle: Zur Laufzeit knnen hier die Werte von Speicherstellen in der SPS in verschiedenen Formaten (binr, Hexadezimal, ganzzahlig mit/ohne Vorzeichen, Gleitpunkt) laufend (Schaltflche S) oder einmalig (Schaltflche Brille) abgefragt werden. Auch hier ist die Verwendung von symbolischen Namen (ohne Anfhrungszeichen) mglich. Datenbaustein-Editor: Einfacher Texteditor. Hier knnen Zahlen (Integer und Real) und Zeichenketten-Werte, die vom Programmstart an in einem bestimmten Bereich des Speichers abgelegt werden sollen, angegeben werden, wie z.B.
VB0 VW2 VD4 255 256 700.59 //Bytewert, Beginn an VB0 //Wortwert, Integer, Beginn an VW2 //Doppelwort, Realzahl (beachte Komma), Beginn: VD4

DI. G. Jambrich,

58801/37622

Seite -46-

SS 2004

Vorbesprechung zu
VB8 VW10 VD14 VW20 VB45 VW90 -35 16#0A 146879 2 4 8 'Up' 65535

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

16

32

//Bytewert, Beginn an VB8 //Wortwert, HEX, Beginn an VW10 //Doppelwortwert, Beginn an VD14 64 //Tabelle mit Wortwerten, Beginn an VW20 //ASCII-Zeichenkette mit zwei Bytes, Beginn an VB45 //Wortwert, Beginn an VW90

Bevor ein Programm gestartet werden kann, mu es besetzt8 (Schaltflche ) und in die SPS downgeloadet werden (Schaltflche Laden aus PG). Dannach kann das Programm mit der Schaltflche gestartet werden (wenn der Betriebsmodus-Schalter auf der SPS in der Mittelstellung TERM steht).

Abbildung 4 - STEP 7-Micro/WIN-Programmierumgebung Zu allen Befehlen und Verfahren bietet die Step 7-Micro/WIN-Programmiersoftware eine umfangreiche Online-Hilfe (Funktionstaste F1, Suchen). Auerdem liegt zur bung noch das SIMATIC S7-200-Manual auf.

nur mglich, wenn in der Statustabelle die Schalftlche stndiges Lesen (S) deaktiviert ist!

DI. G. Jambrich,

58801/37622

Seite -47-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

bersicht ber wichtigsten SPS-Befehle (Auszug aus der ONLINE-Hilfe)


LD, (LDN)
(Negierten) Bitwert laden
Format: LD n (Bit): n, MOVB VB50, AC0 Analoges gilt auch fr MOVW (Wort bertragen), MOVD (Doppelwort bertragen), MOVR (Realzahl bertragen)

LDN

E, A, M, SM, S, T, Z, V

=
Bitwert zuweisen n A

Die Operation (Negierten) Bitwert laden (LD) kopiert den (negierten) Bitwert von der Adresse n in die Spitze des Stack. Alle brigen Werte im Stack werden eine Ebene nach unten geschoben. Beispiel: LD E0.1 U E0.2 = A0.3

Format: = n (Bit):

LDW<=,UW<=,OW<=
Ergebnis (Bitwert) des Wortvergleichs (<=) laden/verknpfen Format: LDW<= n1, n2 UW<= n1, n2 OW<= n1, n2

Die Operation Bitwert (direkt) zuweisen kopiert den Bitwert von der Spitze des Stack direkt in die angegebene Adresse n. Beispiel: LDI E0.0 = A2.0

MEND
Hauptprogramm beenden Format: MEND Mit der Operation Hauptprogramm beenden (MEND) mssen Sie ein Hauptprogramm beenden. Beispiel: . . // Hauptprogramm . MEND SBR LD CRET . . 10 M14.3 // Subroutine(n)

n1, n2 (Wort): VW, T, Z, EW, AW, MW, SMW, SW, AC, AEW, Konstante, *VD, *AC

Die Operationen Ergebnis (Bitwert) des Wortvergleichs (<=) laden (LDW), Ergebnis (Bitwert) des Wortvergleichs (<=) durch UND verknpfen (UW) und Ergebnis (Bitwert) des Wortvergleichs (<=) durch ODER verknpfen (OW) laden oder verknpfen durch UND bzw. ODER den Wert "1" mit dem obersten Stackwert, wenn n1 n2 ist. Hinweis: Sie erstellen einen Vergleich >, <> oder <, indem Sie nach einem Vergleich <=, = oder >= die Operation NOT anordnen. Beispiel: LD E0.0 UW<= MW4, MW6 = A0.2 Analoges gilt fr LDW>=, LDB= (Bytevergleich), LDD<= (Doppelwortvergleich), LDR<= (Realzahlenvergleich), ...

+D
Ganze Zahlen (32 Bit) addieren Format: +D IN1 HC, IN2 SD, IN1, IN2

(Dwort): VD, ED, AD, MD, SMD, SD, AC, Konstante, *VD, *AC (Dwort): OUT: VD, ED, AD, MD, SMD, AC, *VD, *AC

MOVW
Byte bertragen Format: MOVB IN, OUT Die Operation Ganze Zahlen (32 Bit) addieren (+D) addiert zwei ganze Zahlen (32 Bit) (IN1, IN2) und liefert ein Ergebnis (32 Bit) (IN2). Dies zeigt folgende Gleichung: IN1 + IN2 = IN2 Beispiel: LD E4.0 +D AC1, AC0 MUL AC1, VD100 DIV VW10, VD200 Analoges gilt auch fr -D, sowie fr -I,+I (16-Bit-Integer-Operationen) und +R,-R (32Bit-Real-Operationen)

IN (Byte): VB, EB, AB, MB, SMB, SB, AC, Konstante, *VD, *AC OUT (Byte): VB, EB, AB, MB, SMB, SB, AC, *VD, *AC Die Operation Byte bertragen (MOVB) bertrgt das Eingangsbyte (IN) zum Ausgangsbyte (OUT). Das Eingangsbyte wird durch die Operation nicht verndert. Beispiel: LD E2.1

DI. G. Jambrich,

58801/37622

Seite -48-

SS 2004

Vorbesprechung zu
MUL

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)


/R
Realzahlen dividieren Format: /R IN1, OUT

LvNr. 375.837

Ganze Zahlen multiplizieren Format: MUL IN1 SW, OUT SD, IN1, OUT

(Wort): VW, T, Z, EW, AW, MW, SMW, AEW, Konstante, *VD, *AC (Dwort): OUT: VD, ED, AD, MD, SMD, AC, *VD, *AC

IN1 (Dwort): VD, ED, AD, MD, SMD, SD, AC, Konstante, *VD, *AC OUT (Dwort): OUT: VD, ED, AD, MD, SMD, SD, AC, *VD, *AC Die Operation Realzahlen dividieren (/R) dividiert zwei Realzahlen (32 Bit) (IN1, OUT) und liefert als Ergebnis eine Realzahl (32 Bit) (OUT). Dies zeigt folgende Gleichung: OUT / IN1 = OUT

Die Operation Ganze Zahlen (16 Bit) multiplizieren (MUL) multipliziert eine ganze Zahl (16 Bit) (IN1) mit den 16 niederwertigsten Bits einer ganzen Zahl (32 Bit) (OUT) und liefert ein Ergebnis (32 Bit) (OUT). Dies zeigt folgende Gleichung: IN1 * OUT = OUT Beispiel: siehe DIV

TRUNC
Realzahl in ganze Zahl (32 Bit) wandeln Format: TRUNC IN, OUT

DIV
Ganze Zahlen dividieren Format: DIV IN1 SW, OUT SD, IN1, OUT

(Wort): VW, T, Z, EW, AW, MW, SMW, AEW, Konstante, *VD, *AC (Dwort): OUT: VD, ED, AD, MD, SMD, AC, *VD, *AC

IN (Dwort): VD, ED, AD, MD, SMD, SD, AC, HC, Konstante, *VD, *AC OUT (Dwort): VD, ED, AD, MD, SMD, SD, AC, *VD, *AC Die Operation Realzahl in ganze Zahl (32 Bit) wandeln (TRUNC) wandelt eine Realzahl (32 Bit) (IN) in eine ganze Zahl (32 Bit) mit Vorzeichen (OUT) um. Nur der ganzzahlige Teil der Realzahl wird umgewandelt. Beispiel: LD E3.1 TRUNC AC1, VD40

Die Operation Ganze Zahlen (16 Bit) dividieren (DIV) dividiert eine ganze Zahl (16 Bit) (IN1) in die 16 niederwertigsten Bits einer ganzen Zahl (32 Bit) (OUT) und liefert ein Ergebnis (32 Bit) (OUT), das aus einem Quotienten (16 Bit) (niederwertigste Bits) und einem Divisionsrest (16 Bit) (hchstwertige Bits) besteht. Dies zeigt folgende Gleichung: OUT / IN1 = OUT Beispiel: LD E4.0 +D AC1, AC0 MUL AC1, VD100 DIV VW10, VD200

SRD
Doppelwort rechts schieben Format: SRD OUT, N

*R
Realzahlen multiplizieren Format: *R IN1, OUT

OUT (Dwort): OUT: VD, ED, AD, MD, SMD, SD, AC, *VD, *AC N (Byte): VB, EB, AB, MB, SMB, SB, AC, Konstante, *VD, *AC Die Operation Doppelwort rechts schieben (SRD) schiebt den Doppelwortwert (IN) um den Schiebewert (N) nach rechts und ldt das Ergebnis in OUT. Die Schiebeoperationen werden mit Nullen gefllt, wenn die Bits herausgeschoben werden.Ist der Schiebewert (N) grer als oder gleich 32, dann wird der Wert maximal 32mal geschoben Ist der Schiebewert grer als 0, dann nimmt der berlaufmerker den Wert des zuletzt herausgeschobenen Bit an. SM1.0 (Null) = 1, wenn IN = 0 SM1.1 (berlauf) = 1, wenn zuletzt geschobenes Bit = 1 Beispiel: LD E4.0 SRD AC0, 2 SLW VW200, 3

IN1 (Dwort): VD, ED, AD, MD, SMD, SD, AC, Konstante, *VD, *AC OUT (Dwort): OUT: VD, ED, AD, MD, SMD, SD, AC, *VD, *AC Die Operation Realzahlen multiplizieren (*R) multipliziert zwei Realzahlen (32 Bit) (IN1, OUT) miteinander und liefert als Ergebnis eine Realzahl (32 Bit) (OUT). Dies zeigt folgende Gleichung: IN1 * OUT = OUT Beispiel: LD E4.0 *R AC1, AC0 MUL AC1, VD100 DIV VW10, VD200

DI. G. Jambrich,

58801/37622

Seite -49-

SS 2004

Vorbesprechung zu
CALL
Unterprogramm aufrufen Format: CALL n: n 0-63

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)


RETI

LvNr. 375.837

Interruptprogramm absolut beenden Format: RETI Die Operation Interruptprogramm absolut beenden (RETI) beendet ein Interruptprogramm absolut. Jedes Interruptprogramm mu mit dieser Operation abgeschlossen werden. Beispiel: siehe ENI

CPU 214:

Die Operation Unterprogramm aufrufen (CALL) ruft ein Unterprogramm (n) auf. Beispiel: siehe SBR

SBR
Unterprogramm beginnen Format: SBR n: n Format: ATCH CPU 214: 0-63 INT (Byte): EVENT (Byte): CPU 214: 0-127 CPU 214: 0-20 INT, EVENT

ATCH
Interrupt zuordnen

Die Operation Unterprogramm beginnen (SBR) kennzeichnet den Beginn eines Unterprogramms (n). Beispiel: . LD SM0.1 CALL 10 . MEND SBR LD CRET . . RET 10 M14.3

Die Operation Interrupt zuordnen (ATCH) ordnet einem Interruptereignis (EVENT) die Nummer eines Interruptprogramms (INT) zu und gibt dann das Ereignis frei. Interrupts werden von der CPU innerhalb ihrer jeweiligen Priorittsklasse in der Reihenfolge ihres Auftretens bearbeitet. Es kann immer nur ein Interrupt aktiv sein. Tritt ein Interrupt auf, whrend ein anderer Interrupt aktiv ist, wird der sptere Interrupt in eine Warteschlange zur spteren Bearbeitung aufgenommen. Treten mehr Interrupts auf, als die Warteschlange aufnehmen kann, werden berlaufmerker fr Warteschlangen gesetzt. Diese Sondermerker werden zurckgesetzt, wenn die Warteschlange abgearbeitet ist. Daraufhin wird die Bearbeitung des Hauptprogramms wieder aufgenommen. Beispiel: siehe ENI

RET
Unterprogramm absolut beenden Format: RET Mit der Operation Unterprogramm absolut beenden (RET) mu jedes Unterprogramm beendet werden. Beispiel: siehe SBR

ENI
Alle Interruptereignisse freigeben Format: ENI Die Operation Alle Interruptereignisse freigeben (ENI) gibt die Bearbeitung aller Interruptereignisse global frei. Beispiel: LD SM0.1 CALL 0

INT
Interruptprogramm beginnen Format: INT n (Wort): n CPU 214: 0-127

// bei erstem Durchlauf // Initialisierung

NETWORK 2 . . // Hauptprogramm . MEND NETWORK 3 INT 0 . . // Interruptsubroutine . RETI NETWORK 4 // Interrupt einrichten SBR 0 MOVB 5, SMB34 ATCH 0, 10 ENI RET

Die Operation Interruptprogramm beginnen (INT) markiert den Anfang eines Interruptprogramms (n). Beispiel: siehe ENI

DI. G. Jambrich,

58801/37622

Seite -50-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

Binre Zahlendarstellung im Zweierkomplement


am Beispiel von 8-Bit-Zahlen. Jedes Bit besitzt eine Wertigkeit entsprechend folgender Darstellung. Beachten Sie das negative Vorzeichen des MSB!
Bit-Nr. Wertigkeit 7 (MSB) -27 = -128 6 +26 = +64 5 +25 = 32 4 +24 = 16 3 +23 = 8 2 +22 = 4 1 +21 = 2 0 (LSB) +20 = 1

Darstellung positiver Zahlen: +7 = 0 0

1 +4 =

1 +2 +6 = 1 +2 +6 =

1 "Vier plus Zwei +1 ist Sechs; Sechs plus Eins +7 ist Sieben." 1 +1 +7

Auf 4-Bit-Zahl abschneiden:

1 +4 =

Darstellung negativer Zahlen: -8 = (MSB) 1 1 -128 +64 = -64 =

1 +32 -32 =

+16 -16 =

+8 -8 0 0 0

Auf 4-Bit-Zahl abschneiden: =

(MSB) 1 -8

Rechts-schieben negativer Zahlen als Division: -8 = 1 1 1 1 | -128 +64 = -64 +32 = -32 +16 = -16 = SRD(-8)= 0 1 +64 = 1 +32 +96 = 1 +16 +112 = |

+8 -8 1 1 0 0

+8 120 =

+4 124

FALSCH!

1er mssen nachgeschoben werden! arith. schift(-8)= (existiert als Befehl nicht) 1 -128 = 1 +64 -64 = 1 +32 +32 -32 = 1 | 1 1 0 0

+16 -16 =

+8 -8 = | 0

+4 -4 1 +4 = 0

( = -8 / 2) RICHTIG! 1 +2 +6 1 +2 = 0

Rechts-schieben positiver Zahlen als Division: +6 = 0 0 0 0

SRD(+6)=

1 +1 +3

(= 6 / 2) RICHTIG!

0er mssen nachgeschoben werden!

DI. G. Jambrich,

58801/37622

Seite -51-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

bungsvorbereitung (verpflichtend):
Bereiten Sie fr die bung ein SPS-Programm vor, das als erste Teilaufgabe zyklisch (interruptgesteuert) einen Analogwert ber einen SPS-Analogeingang einliest (Istwert), diesen Wert von einer vorgegebenen Offsetspannung (Sollwert) abzieht, das Zwischenergebnis (Regelabweichung) mit einer Verstrkung multipliziert und das Ergebnis als Analogwert an einen SPS-Analogausgang ausgibt (Proportionalregler). Als zweite Teilaufgabe erweitern Sie Ihr Programm, indem Sie die Regelabweichung mit einem weiteren Verstrkungsfaktor (Integralverstrkung*Abtastzeit) multiplizieren, das Ergebnis laufend aufsummieren (Integrator) und zum Ausgang des Proportionalreglers hinzuaddieren (PI-Regler). Verwenden Sie fr Subtraktion und Multiplikation aus Zeitgrnden Ganzzahlarithmetik (keine Gleitkommaarithmetik!). Nehmen Sie an, da sowohl die Offsetspannung (in Volt) als auch die Verstrkung (als Faktor) durch eine Gleitkommazahl gegeben sind und wandlen Sie diese beiden Konstanten in einer Initialisierungsroutine vor der Berechnung in Ganzzahlkonstanten um! Beachten Sie dabei, da der eingelesene Analogwert mit einem Spannungsbereich von -Umax bis Umax durch den AD-Wandler der SPS auf einen Ganzzahlbereich von -215 ... 215 -1= -32768 ... 32767 abgebildet wird. Fr die Offsetkorrektur mssen Sie also den Offset (in Volt) vor der Umwandlung in eine Ganzzahl auf den selben Wertebereich umskalieren (Initialisierungsroutine). Um bei der Ganzzahl-Multiplikation trotzdem eine entsprechende Anzahl von binren Nachkommastellen der Verstrkungskonstante zu bercksichtigen, multiplizieren Sie die Verstrkungskonstante vor der Umwandlung in eine Ganzzahl mit 2x (x ... Anzahl der zu bercksichtigenden binren Nachkommastellen). Beachten Sie, da das Ergebnis der Multiplikation danach (vor der Ausgabe auf den Analogausgang) um diesen Faktor zu gro ist und entsprechend korrigiert werden mu (x-mal nach rechts schieben!), bevor es ausgegeben werden darf! Dabei ist zu beachten, das der Schiebebefehl der SPS (SRD = shift right doubleword) die freiwerdenden Stellen links immer mit Nullen auffllt! Fr positive Zahlen entspricht das einer korrekten Division durch 2x, bei negativen Zahlen (1. Bit links = 1) mssten die links nachgeschobenen Nullen durch Einser ersetzt werden, um eine korrekte Division durch 2x durchzufhren! Alternativ dazu invertieren Sie negative Zahlen (2er-Komplement), schieben die nun positive Zahl nach rechts und invertieren das Ergebnis danach erneut. (Die Ganzzahldivision DIV kann an dieser Stelle nicht verwendet werden, da sie nur eine 16-Bit-Division vornimmt, in unserem Fall (nach der Ganzzahlmultiplikation mit der Verstrkungskonstante) aber eine 32-Bit-Ganzzahl vorliegt). Beachten Sie bei allen Ihren berlegungen, da die Bit-Breite der Operanden mit der jeweiligen Operation kompatibel sein mssen! Achten sie insbesondere auf mgliche berlufe bei Multiplikationen, Additionen oder Subtraktionen! Einen detailiertes Berechnungsschema fr dieses SPS-Programm zeigt Abbildung 5.

Um sich das Eintippen dieses Programms bei der bung zu ersparen, knnen Sie den SPSProgrammentwurf bereits als ASCII-Textfile auf einer 3-Zoll-Diskette zur bung mitnehmen! Diese Vorarbeit spart Ihnen bei der bung wertvolle Zeit und macht Sie mit den Grundzgen der SPS-Programmierung und den wichtigsten Befehlen vertraut. Aus diesem Grund sollte das bungsprogramm von der bungsgruppe gemeinsam ausgearbeitet werden und ist bei der LU verpflichtend vorzulegen (Fragen zum mitgebrachten bungsprogramm sind an jeden bungsteilnehmer mglich)!

DI. G. Jambrich,

58801/37622

Seite -52-

SS 2004

Vorbesprechung zu

Laborbung Prozeautomatisierung bung SPS-Regelung einer Lichtregelstrecke (LRS)

LvNr. 375.837

Abbildung 5 - Berechnungsschema des bungsprogramms

Zur bung sollten sie wissen ...


wie man einfache Regelkreiselemente aus der Sprungantwort identifiziert
siehe [1], Kap1.16, Kap.8.1-8.4 bzw.RT1-bungen

wie man ein Bodediagramm zeichnet und liest sowie welche Bodediagramme einfache Reglkreiselemente haben (PT1, PT2, PT2(s), IT1, PI, PID, PIDT1, DT1)
siehe auch Vorbesprechung zur Laborbung 3 (Reglerentwurf), [1]-Kap4.8 bzw. RT1-bungen

wie man Regler entwirft (Betragsoptimum, Symmetrisches Optimum, Pol-Nullstellenkompensation, allgemeiner Entwurf im Bodediagram (Phasenrand, Amplitudenrand, Stabilitt))
siehe auch Vorbesprechung zur Laborbung 3 (Reglerentwurf) ,[1] - Kap12.8, 12.212.20, 12.21 bzw. RT1-bungen

wie ein einfacher Algorithmus fr einen PI-Regler digital, d.h. zeitdiskret realisiert werden kann
siehe [1], Kap9.6 bzw. [2], Kap8.5

wie ein Standard-Abtastregelkreis arbeitet (Blockschaltbild) wie sich das Halteglied in einem Abtastregelkreis auf die Stabilitt auswirken kann wie man einen Widerstandswert schaltungstechnisch in einen Spannungswert umsetzen kann (einfache OP-Schaltung) wie ganzzahlige Werte und Gleitkommawerte intern in einem Mikroprozessorsystem dargestellt werden (Zweierkomplement, Vorzeichenerweiterung, Festkommazahlen)
siehe auch [3], Kap.19.1.3-19.1.5

wie der prinzipielle Aufbau einer SIMATIC-SPS aussieht (Elemente, Datenobjekte) wie SPS-Progamme grundstzlich ablaufen (Zyklen, Unterprogramme, Interrupts) wie man auf Datenobjekte in STEP 7 grundstzlich zugreift (Bit, Byte, Wort, Doppelwort) was der Unterschied zwischen bedingten und absolut ausfhrbaren Befehlen ist

DI. G. Jambrich,

58801/37622

Seite -53-

SS 2004