Prozeßdatenverarbeitung Heinrich Krämer Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH) Fachbereich Informatik, Mathematik und Naturwissenschaften 1 Einführung Entwicklung der Automatisierung (Beispiel: Rührkesselreaktor) 1940: Keine Automatisierung Kühlung Rohstoff1 Druck Rohstoff2 M M Temperatur M Durchfluß M M Kühlflüssigkeit Endprodukt M Prozeßdatenverarbeitung 1 Einführung Entwicklung der Automatisierung (Beispiel: Rührkesselreaktor) 1940-1950: Vorstufe der Automatisierung Kühlung Rohstoff1 Rohstoff2 Kühlflüssigkeit Endprodukt M M M Leitstand Prozeßdatenverarbeitung M M M 1 Einführung Entwicklung der Automatisierung (Beispiel: Rührkesselreaktor) 1950-1960: Erste Stufe der Automatisierung Kühlung Rohstoff1 Rohstoff2 Stellglied Meßwert-, Signalumformer Kühlflüssigkeit Endprodukt Meßfühler M M M Meßwarte Leitstand Prozeßdatenverarbeitung M M M 1 Einführung Entwicklung der Automatisierung (Beispiel: Rührkesselreaktor) 1950-1960: Zweite Stufe der Automatisierung Kühlung Rohstoff1 Rohstoff2 Regler Istwert Sollwert Kühlflüssigkeit Endprodukt Meßwarte Prozeßdatenverarbeitung 1 Einführung ab1980: Integration Kennzeichen • Dezentrale Verarbeitung • Einführung von Netzen LAN, WAN • Verknüpfung von – Produktion – Lagerhaltung – Entwicklung – Auftragsannahme Prozeßdatenverarbeitung 2 Technische Prozesse Ein Prozeß ist nach DIN 66201 die Umformung und/oder der Transport von Materie, Energie und/oder Information. Ein Technischer Prozeß ist eine Prozeß, dessen Zustandsgrößen mit technischen Mitteln gemessen gesteuert und/oder geregelt werden können. Prozeßdatenverarbeitung 2.1 Klassifiktion technischer Prozesse Klassifikation nach transportierten/umgeformte Medien •Materialprozesse – Förderprozesse Transport von Produkten ohne ihre Form zu verändern (z.B. Paketverteilung, Pipeline) – Verfahrenstechnische Prozesse und Fertigungsprozesse Umformung von Rohstoffen zu einem Endproduk (z.B. Raffinerie, Automobilbau) •Energieprozesse – Energieumwandlung („Energieerzeugung“, „-verbrauch“) (z.B. Kraftwerke, Heizanlagen) – Energietransport, -verteilung •Informationsprozesse – Informationstransport (z.B. Telefon, Funk, Rundfunk, Fernsehen) – Informationsumformung (z.B. Rechner) – Informationsspeicherung Prozeßdatenverarbeitung 2.1 Klassifiktion technischer Prozesse Klassifikation nach Zeit- und/oder Ortsabhängigkeit der Prozeßgrößen • Kontinuierliche Prozesse Die Prozeßgrößen (zeit- und/oder ortsabhängig) ändern kontinuierlich ihren Wert. Diese Prozesse werden auch als Fließprozesse bezeichnet. • Diskrete Prozesse Die Prozeßgrößen sind diskrete Werte. Der Prozeß besteht aus einer Folge von Einzelereignissen (Folgeprozeß) • Stückprozesse Es sind einezelne identifizierbare Stücke oder Objekte vorhanden. Diese änderen ihre Position und/oser ihren Zustand kontinuierlich oder diskret • Chargenprozesse Der Ablauf der Prozesses erfolgt in diskreten Zeitabständen. Hierbei können aber sich kontinuierliche ändernte Vorgänge auftreten. Pro Zeiteinheit wird eine bestimmte Menge eines oder mehrerer Rohstoffe verarbeitet. Prozeßdatenverarbeitung 2.2 Modellierung von Prozessen Mathematische Prozeßmodelle • Kontinuierliche Prozesse Die Modellierung erfolgt üblicherweise durch das Aufstellen von Differentialgleichungen • Diskrete Prozesse Diese Prozesse können durch boolesche Gleichungen und/oder Ablaufpläne modelliert werden • Simulation Bei komplexeren Prozessen ist ein geschlossene analytische Beschreibung oft nicht möglich. Daher kann versucht werden, aus bekannten Verhalten von Einzelkomponenten das Gesamtsystem zu simulieren und so Schwachstellen aufzuspüren. • Verbale Beschreibung In schwierigen Fällen kann eventuell nur eine verbale Beschreibung aufgestellt werden. Prozeßdatenverarbeitung 2.2 Modellierung von Prozessen Mathematische Modellierung von Prozessen y1 x1 y2 x2 ... ... Prozeß ym xk allgemein x(t) T y(t) T ist hierbei ein allgemeiner Operator statisch x(t) T y(t) statisch linear x(t) T y(t) Prozeßdatenverarbeitung T ist hierbei eine Matrix 2.2 Modellierung von Prozessen Beispiel: Prozeß mit einer Eingangs- und einer Ausgangsgröße y Prozeß x linear statisch x = c0 + c 1 y nicht-linear, statisch x = c0 + c1 y + c2 y2 + c3 y3 linear, dynamisch a0x(t) + a1 x´(t) + a2 x ´´(t) ... an x(n)(t) = b0 y(t) + b1 y´(t) + ... +bm y(m)(t) nicht-linear, dynamisch a0x(t) + a1 x´(t)2 + a2 x ´´(t) ... an x(n)(t) = b0 y(t) + b1 y´(t) sin(t) + ... +bm y(m)(t) Prozeßdatenverarbeitung 2.2 Modellierung von Prozessen Beschreibung von Prozessen mit Hilfe von Testsignalen Gewichtsfunktion y Dirac-Impuls d(t) g(t) Prozeß y x t t Sprungantwort y h(t) s(t) Prozeß y x t t Frequenzgang F(w) A0sin(w) y Prozeß x w Prozeßdatenverarbeitung 2.3 Prozeßidentifikation Prozeßidentifikation • theoretische Analyse Die Gleichungen und die Konstanten werden aufgrund von physikalischenb / chemischen Gegebenheiten bestimmt. • experimentelle Analyse Das Prozeßmodell wird allein durch Messungen des Zusammenhangs von Eingangs- zu Ausgangsgrößen bestimmt. • Kombination beider Verfahren Zunächst werden die (Differential-)Gleichungen durch theoretische Analyse aufgestellt. Diese Gleichungen werden als Struktur bezeichnet. Die Bestimmung der Konstanten, d. h. der Parameter, erfolgt durch Messung Prozeßdatenverarbeitung Prozeßidentifikation Die Laplace-Transformation Die Bildfunktion F(s) einer Zeitfunktion f(t) ist gegeben durch st L f ( t) F(s): f ( t)e dt 0 Die Rücktransformation ist gegeben durch L 1 c i F(s) f ( t) 21i F(s)estds c i Es gibt also immer ein Paar: Zeit- und Bildfunktion Hierbei sind die hier interessierenden Funktionen tabelliert, so daß auf eine Berechnung verzichtet werden kann Prozeßdatenverarbeitung Die Laplace-Tranasformation Rechenregeln Linearität Faltungssatz Integrationssatz Differentiationssatz Prozeßdatenverarbeitung 2.3 Prozeßidentifikation Das Wendetangentenverfahren Mathematisches Modell des Prozesses (mit Parametern) Bildfunktion (Sprungantwort) Zeitfunktion(Sprungantwort) GP (s) e TVs k 1 TA s 1 ( t TV ) x( t) U0k1 e TA U X(s) GP (s) 0 s für t TV ; 0 sonst U0 lim x( t) x( ) U0k t 4 x( 3 k x( ) U0 k = 3/4 = 0,75 2 U k ( t TV ) x( t) 0 e TA TA 1 WP 1 Tx 0 1 2 3 Tv Prozeßdatenverarbeitung 4 TA 5 6 7 8 9 U k U k x ( TV ) 0 WT: x 0 ( t Tv ) TA TA t / [ 10 s ] U k x(10 ) 011 ( Tx 12 Tv ) TA ( Tx Tv ) TA 3 Prozeßregegelung und -steuerung Definitionen Strecke: Die Strecke ist derjenige Teil eines Systems, in dem technische oder physikalische Größen gemäß einer Zielfunktion beeinflußt werden sollen. Steuerung: Die Steuerung ist ein Vorgang in einem abgegrenzten Systém, bei dem ein oder mehrere Größen als Eingangs- andere Größen als Ausgangsgrößen aufgrund der dem System eigenen Gesetzmäßigkeiten beeinflußt werden. Regelung: Regeln oder die Regelung ist ein technischer Vorgang in einem abgegrenzten System, bei dem bei dem eine oder mehrere technische oder physikalische Größe(n), die Regelgröße(n) oder Istwert(e), fortlaufend erfaßt und durch Vergleich ihres Signals mit einer anderen von außen vorgegebenen Größe(n), der Führungsgröße(n) oder Sollwert(e) im Sinne einer Angleichung beeinflußt wird. Prozeßdatenverarbeitung 3 Prozeßregegelung und -steuerung Umgebung Abgegrenztes System y System Eingangsgrößen y (beeinflußbar) Augangsgrößen x weitere Größen (z) (Störungen) x Steuerung w Steuerung y Strecke x Regelung + w Prozeßdatenverarbeitung Regler y Strecke z + + x 3.1 Regelung 3.1.1 Führungs(übertragungs)- und Störungs(übertragungs)funktion Strukturbild einer Regelung z(t) + x (t) Regler w(t) G (s) w R w(t) xw(t) y(t) z(t) x(t) Führunggröße/Sollwert Regeldifferenz Stellwert Stöung(sgröße) Ausgangsgröße/Istwert y(t) Prozeß G (s) x(t) P GR(s) GP(s) Es gilt X(s) = Z(s) + (W(s) - X(s)) GR(s) GP(s) Prozeßdatenverarbeitung + + Übertragungfunktion des Reglers Übertragungsfunktion des Prozesses 3.1.1 Führungs- und Störungsfunktion Ausgehend von X(s) = Z(s) + (W(s) - X(s)) GR(s) GP(s) erhält man X(s) Z(s) GP (s) GR (s) W(s) 1 GP (s) GR (s) Führungs(übertragungs)funktion (Z(s) = 0) X(s) GP (s) GR (s) W ( s) 1 GP (s) GR (s) Störungs(übertragungs)funktion (W(s) = 0) X(s) 1 Z(s) 1 GP (s) GR (s) Zur Untersuchung der Regelungsverhaltens kann also die Ausregelung einer Änderung des Sollwertes und einer Störung untersucht werden. Weiter wird i. a. das Verhalten unterschiedlich sein. Prozeßdatenverarbeitung 3.1.2 Klassiche Reglertypen Der P-Regler (Proportionalregler) Beim P-Regler erhält man die Stellwerte y(t) durch Multiplikation der Regeldifferenz xw(t) mit einem konstanten Faktor kP Der PI-Regler (Proportional-Integralregler) Beim PI-Regler wird der Stellwert y(t) aus der Summe des P-Anteils und der Integration der Regeldifferenz xw(t) multipliziert mit einem Faktor kI berechnet. Der PID-Regler (Proportional-Integral-Differentialregler) Beim PID-Regler berechnet sich der Stelltwert y(t) aus der Summe des P-Anteils, I-Anteils und des ersten zeitlichen Ableitung der Regeldifferenz xw(t) multipliziert mit einem Faktor kD. Zeit- und Übertragungsfunktionen Reglertyp P-Regler PI-Regler PID-Regler Zeitfunktion y( t) kP xw ( t) t y( t) kP xw ( t) kI xw ( )d 0 t Übertragungsfunktion Y( s ) k P X w ( s ) 1 Y( s ) k P k I X w ( s ) s dx w ( t) Y(s) kP kI 1 kDs X w (s) y( t) kP xw ( t) kI x w ( )d s dt 0 Prozeßdatenverarbeitung 3.1.2 Klassiche Reglertypen Reglerstrukturen Zeitalgorithmus Geschwindigkeitsalgorithmus 1 1 Stelleinrichtung kI‘ xw(t) kI‘ kP y(t) kD‘ kP y‘(t) xw(t) kD‘ d2 dt2 Ein Problem stellt die Bestimmung der Regelparameter kP, kI und kD dar Prozeßdatenverarbeitung 3.1.3 Bestimmung der Regelparameter Regelparameter nach Ziegler/Nichols Methode I : Bestimmung der Totzeit TV und der Anstiegszeit TA Parameter kP kI 1 TA k TV 0,9 TA k TV 12 , TA k TV kP 3,33 TV kP 2 TV kD Reglertyp P PI PID Prozeßdatenverarbeitung 0,5 TV kP 3.1.3 Bestimmung der Regelparameter (Beispiel) k=1 TV 19,35 s TA 209,35 s Prozeßdatenverarbeitung Bestimmung der Regelparameter (Beispiel) Berechnung der Regelparameter • P-Regler 1 209,35[s] 1 kp 10,8191 1[ ] 19,35[s] [ ] • PI-Regler 0,9 209,35[s] 1 kp 9,7372 1[ ] 19,35[s] [ ] 9,7372 1 1 kI 0,1511 3,33 19,35[s] [ ] [s] • PID-Regler 12 , 209,35[s] 1 kp 12,9829 1[ ] 19,35[s] [ ] kD 0,5 19,35 12,9829[s] Prozeßdatenverarbeitung 12,9829 1 1 kI 0,3355 2 19,35[s] [ ] [s] 1 1 125,6096[s] [ ] [ ] Sprungantwort eines P-Reglers (Beispiel) kP = 10,8191 Ausgangsgröße x(t) Regelabweichung Stellwert y(t) Regeldifferenz xw(t) Prozeßdatenverarbeitung Sprungantwort eines PI-Reglers (Beispiel) kP = 9,7372 kI‘ = 0,0155 Ausgangsgröße x(t) Stellwert y(t) Regeldifferenz xw(t) Prozeßdatenverarbeitung Sprungantwort eines PID-Reglers (Beispiel) Ausgangsgröße x(t) Regeldifferenz xw(t) Prozeßdatenverarbeitung kP = 12,9829 kI‘ = 0,0258 kD‘ = 9,675 Stellwert y(t) Sprungantworten eines PID-Reglers (Beispiel) kD‘ = 22,14 kI‘ = 0,0047 kD‘ = 11,58 Prozeßdatenverarbeitung Sprungantworten eines PID-Reglers (Beispiel) • kD = 0,01 kI‘ = 0,01 KD‘ = 54 kI‘ = 0,02 kI‘ = 0,1 Prozeßdatenverarbeitung 3.1.3 Bestimmung der Regelparameter Regelparameter nach Ziegler/Nichols Methode II : Der Regler wird als P-Regler konfiguriert. Der Parameter kP wird solange erhöht bis sich eine Schwingung mit konstanter Amplitude einstellt. Dieser Wert wird als kP,krit bezeichnet. Die Schwingungsperiode wird mit Tkrit bezeichnet. Parameter kP kI kD Reglertyp P 0,5 kP,krit PI 0,45 kP,krit PID 0,6 kP,krit kP 0,85 Tkrit kP 0,5 Tkrit 0,12 Tkrit kP Problem: Oftmals ist es nicht möglich den Prozeß zum Schwingen zu bringen Prozeßdatenverarbeitung 3.1.4 Stabilitätskriterien Prozeßdatenverarbeitung 3.1.5 Digitale Regler (Abtastregler) Aufbau eines Abtastreglers Rechner w(t) / w(n) Abtastung Regelalgorithmus A D x(n) D Prozeß A y(n) y(t) x(t) 0 1 2 3 4 5t 0 1 2 3 4 5t T Arbeitsweise • Das analoge Eingangssignal x(t) wird zu den Zeitpunkten t = nT mit der konstanten Abtastperiode T (Abtastfrequenz fT = 1/T) abgetastet. • Die zeitdiskreten Werte x(n) werden im A/D-Wandler in Digitalwerte umgewandelt • Der Regelalgorithmus berechnet daraus eine Folge von Stellwerten y(n) • Diese wird im D/A-Wandler wieder in eine analoge Zeitfunktion y(t) umgewandelt Prozeßdatenverarbeitung 3.1.5 Digitale Regler (Abtastregler) Umwandlung eines analogen Reglers Der analoge Regler (PID) sei gegeben durch im Zeitbereich im Bilbereich t kD s 2 kP s kI GPID (s) s dx ( t) y( t) kP xw ( t) kI xw ( )d w dt 0 Approximation der Funktionen durch dxw ( t) x (n) xw (n 1) w dt T t n 0 i 0 xw ( )d T xw (n) 1 z1 s T Digitale Gleichungen y(n) a2xw (n 2) a1xw (n 1) a0 xw (n) y(n 1) k mit a2 D T k a1 kP 2 D T k a0 kP kIT D T Prozeßdatenverarbeitung GPID ( z) a2 z2 a1z1 a0 1 z1 3.1.5 Digitale Regler (Abtastregler) Approximation der analogen Funktion durch Trapezregel (Bilineare Transformation) Zeitbereich Bildbereich x (t) w Trapez 2 1 z 1 s T 1 z 1 Differenzen t y(n) a0 xw (n) a1xw (n 1) a2xw (n 2) y(n 2) Formale Berechnung der Parameter a0 kP 2kD T kIT 2 a1 kIT 4kD T a2 kIT 2 2kD T kP Prozeßdatenverarbeitung GPID ( z) a2 z2 a1z1 a0 1 z 2 Wegen der Verzerrung erfolgt die tatsächliche Berechnung der Parameter durch Plazierung der Pole im Einheitskreis bzw. durch Entzerrung (Prewarping) der kritischen Frequenzen durch Tk tan k 2 2 Wk wk analoge Frequenz digitale Frequenz 3.1.5 Digitale Regler (Abtastregler) Entwurf auf endliche Einstellzeit (Deadbeat controller) Prinzip für einen Prozeß 1.Ordnung Ziel ist die Einstellung des Sollwerte nach einer Abtastperiode. Bei einem System n-ter Ordnung kann der Sollwert nach n Schritten eingestellt werden. y(t) y 0 y 1 Arbeitsweise t x(t) x (t) 0 x(t) w 0 x (t) 1 T Prozeßdatenverarbeitung t • Zum Zeitpunkt t = 0 wir der Prozeß so angesteuert (y0), daß er nach dem Zeitpunkt t = T den Sollwert erreicht. • Dies würde zum Uberschwingen x0(t) führen. • Durch Zurücknahme des Stellwertes auf y1 wird wird dieses Überschwingen kompensiert 3.1.5 Digitale Regler (Abtastregler) • Wahl der Abtastperiode Prozeßdatenverarbeitung PID-Regler Approximation durch Differenzen Entwurf auf endliche Einstellzeit (Deadbeat response) Alle Regler wurden für den Anwendungsfall optimiert Prozeßdatenverarbeitung Approximation durch Bilineare Transformation 3.1.6 Adaptive Regler Ein Regler ist nur bei geringen Änderungen der Prozeßparameter und fester Struktur funktionsfähig. Allerdings gibt es Prozesse deren Parameter größeren Schwankungen unterliegen Beispiele: •Sauerstoffkonzentration Triebwerksregelungen bei Flugzeugen •Raketenflugbahn (Veränderung des Schwerpunktes durch Verbrennung des Treibstoffs) Prozeßdatenverarbeitung 3.1.7 Fuzzy-Regelung Bisherige Vorgehensweise: • Erstellung eines mathematischen Prozeßmodells in Form von Differentialgleichungen. • Vereinfachung der Differentialgleichungen durch Linearisierung und Approximation • Synthese eines geeigneten Reglers Problem: Bei komplexeren Systemen muß das Prozeßmodell stark vereinfacht werden. Manchmal kann mit den konventionellen Methoden kein Regler realisiert werden, der einen gegebenen Prozeß regelt. Aber: Ein Mensch kann nach "Daumenregeln" und mit Erfahrung den Prozeß regeln. Automatisierung durch Fuzzy-Regler Prozeßdatenverarbeitung 3.1.7 Fuzzy-Regelung Einführung von Unschärfe Umgangssprachlich ist ein Begriff nicht exakt definiert. Es besteht eine gewisser Bereich von Werten die eine Größe annehmen kann. Bsp.: Bei welcher Temperatur ist es kalt. Eine Fuzzy-Menge ist eine Menge von Zweitupeln. Jedem Wert x aus einem Grundbereich B wird hierbei ein Zugehörigkeitsgradzwischen 0 und 1 zugeordnet Der Zugehörigkeitsgrad ist durch die Zugehörigkeitsfunktion µ: B [0,1] gegeben Bsp. Ganze Zahlen nahe bei 5 Xnahebei5 = { (3, 0.2), (4, 0.6), (5, 1), (6, 0.6), (7, 0.2) } Hierbei werden nur Werte mit einem Zugehörigkeitsgrad µ(x) > 0 aufgenommen. Diese Menge wird auch als Träger bezeichnet. Prozeßdatenverarbeitung 3.1.7 Fuzzy-Regelung Bei einem kontinuierlichen Grundbereich B wird die Zugehörigkeit durch eine geeignete Zugehörigkeitsfunktion m: B [0,1] beschrieben. Beispiele für Zugehörigkeitsfunktionen. a) b) Die Variable x B wird als Basisvariable bezeichnet. Aus rechentechnischen Gründen werden meist Zugehörigkeitsfunktionen der Form b) (abschnittsweise linear) benutzt. Es können folgenden Typen Unterschieden werden: 1 1 Z-Typ Prozeßdatenverarbeitung 1 P-Typ 1 L-Typ S-Typ 3.1.7 Fuzzy-Regelung Das Konzept der linguistischen Variablen: Die linguistische Variable besteht aus einer endlichen Mengen von k Werten, den Termen Ti i = 1 ..k der linguistischen Variablen. Die Terme sind hierbei FuzzyMengen über dem gleichen Grundbereich B. Der scharfe Wert x aus dem Grundbereich B wird als Basisvariable bezeichnet. Die Träger der einzelnen Terme müssen hierbei den gesamten Grundbereich beinhalten. Weiter muß immer gelten k Ti ( x) 1 i1 Die Festlegung der Terme und ihrer Zugehörigkeitsfunktion µ(x) ist anwendungsabhängig und hat großen Einfluß auf die Brauchbarkeit des Reglers. Die Zugehörigkeitsfunktion der Basisvariablen zu jedem Term ergibt einen unscharfen Wert für jeden Term. Die Bestimmung des unscharfen Wertes für jeden Term bezüglich der Basisvariablen wird als Fuzzifizierung bezeichnet. Prozeßdatenverarbeitung 3.1.7 Fuzzy-Regelung Beispiel für eine Fuzzifizierung Linguistische Variable: Drehzahl = { sehr niedrig, niedrig, normal, hoch, sehr hoch } Zugehörigkeitsfunktionen (Basisvariable w in 1000 Upm) w = 4200 Upm sehr niedrig 1 2 niedrig 3 4 normal 5 mniedrig Fuzzifizierung für w = 4200 Upm liefert mnormal(4200) = 0,25 mniedrig(4200) = 0,75 Prozeßdatenverarbeitung hoch 6 mnormal sehr hoch 7 8 9 w /[1000 Upm] 3.1.7 Fuzzy-Regelung Logische Operationen Bei Logischen Operationen wird die Zugehörigkeitsfunktion neu bestimmt. meist werden die logischen Operationen folgendermaßen definiert C A B C ( x) max( A ( x), B ( x)) C A B C ( x) min( A ( x), B ( x)) CA alternativ wird auch C ( x) A ( x) B ( x) verwen det C ( x) 1 A ( x) Die klassische Aussagenlogik kann als Spezialfall der Fuzzy-Logik interpretiert werden. Beispiel: PA(x) = -1 x 1, PB(x) = 0 x 3 1 -1 mA 0 1 Prozeßdatenverarbeitung 2 3 -1 PA PB PA PB mB 1 0 1 2 3 1 -1 0 1 2 3 3.1.7 Fuzzy-Regelung Die Regelbasis Die Regelbasis besteht aus einer Menge von WENN-DANN-Regeln (DaumenRegeln) der Form IF (v1 = term1,k) (v2 = term2,j) …. THEN av1 := aterm1,m… Hierbei sind die vi die linguistischen Eingabevariablen und die Terme termi,k ein dazugehöriger Term. Die avn sind die linguistischen Ausgabevariablen mit den Termen atermn,m. Durch die Regeln müssen alle möglichen Eingangskombinationen erfaßt sein. Bei zwei Eingabevariablen lassen sich die Regeln als Tabelle darstellen v2 v1 term11 , term12 , term1,k Prozeßdatenverarbeitung term2,1 term2,2 res11 , 2,1 res11 , 2,2 res12 , 2,1 res12 , 2,2 res1,k 2,1 res1,k 2,2 term2,n res11 , 2,n res12 , 2,n res1,k 2,n 3.1.7 Fuzzy-Regelung Regelauswertung Durch die Regeln werden den Termen der Ausgangsvariablen Zugehörigkeitswerte zugewiesen. Die Auswertung erfolgt in zwei Schritten: • Aggregation Zunächst werden die logischen Ausdrücke in den Regeln bewertet. Die Terme der Ausgangsvariablen erhalten zunächst in jeder Regel den Zugehörikeitswert des Ausdrucks. • Komposition Bei der Aggregation können einzelnen Termen der Ausgangsvariablen widersprüchliche Werte zugewiesen werden. In diesem Schritt wird durch eine ODER-Verknüpfung (Maximum-Bildung) für jeden Term der Ausgangvariablen ein einheitlicher Wert gebildet. Prozeßdatenverarbeitung 3.1.7 Fuzzy-Regelung Drehzahl Drehzahldifferenz Stromstärke Prozeßdatenverarbeitung Tabelle: Regelbasis Neg Null Pos VK I3 I2 I2 K I2 I2 IN N I2 IN I1 G IN I1 I1 VG I1 I1 I0 3.1.7 Fuzzy-Regelung Aus der(den) linguistischen Ausgangsvariablen muß anschließed ein scharfer Stellwert berechnet werden. Dieser Vorgang wird als Defuzzifizierung bezeichnet. Hierfür gibt es verschiedene Möglichkeiten, die sich im Rechenaufwand und im Resultat unterscheiden. Methoden (Auswahl) – Plausibelstes Resultat (Es wird nur ein Term zur Bestimmung herangezogen) • Mean of Maximum MoM Der scharfe Stellwert berechnet sich als Mittelwert des Terms der Ausgangsvariable mit dem größten Zugehörigkeitswert – Bester Kompromiß (Es werden alle Terme betrachtet) • Mittelwert (Center of Maximum CoM) Der scharfe Stellwert berechnet sich als gewichtete Summe über die Mittelwerte aller Terme. • Flächenschwerpunktsmethode (Center of Area CoA) Der scharfe Stellwert ist der Schwerpunkt der durch die Zugehörigkeitswerte erhaltene Fläche, projeziert auf den Grundbereich. Prozeßdatenverarbeitung 3.1.7 Fuzzy-Regelung Darstellung der verschiedenen Methoden A B 1 3 4 mA 0,75 5 MoM mB 0,5 A 5.5 B 6.375 MoM 5.5 0.75 5.5 0.5 6.375 CoM 5.85 0.75 0.5 Prozeßdatenverarbeitung 6 CoM 7 CoA 8 3.1.7 Fuzzy-Regelung Regelauswertung durch ein Neuronales-Netz (NN) (Neuro-Fuzzy) Biologisches Neuron Technisches Neuron Knoten j a j w ij Knoten i a i Axon Dentriten Arbeitsweise (technisches Neuron) Jeder Knoten liefert ein Ausgangssignal aj zwischen 0 und 1 Die Knoten i,j sind über Kanten e = (i,j) verbunden Jede Kante trägt ein Gewicht wij (dieses kann auch negativ sein) Zunächst wird in der Eingangsstufe die gewichte Summe über alle Eingangssignale gebildet. Auf das Ergebnis wird eine Sigmoidfunktion angewendet, die das Ergebnis in den Ausagngswertebereich transformiert Prozeßdatenverarbeitung 3.1.7 Fuzzy-Regelung Beispiel: UND-Verknüpfung (Werte aj 0,9 gelten als wahr Werte aj 0.1 gelten als falsch ) Wir setzen die Gewichte wij auf 3,15 Üblicherweise wird zur Summe noch ein Bias addiert. Bias = -4,565 Als Sigmoidfunktion wird der Tangenshyperbolicus verwendet e x e x a j 0,5 A 0,1 (falsch) 0,1 (falsch) 1,0 (wahr) 0,9 (wahr) e x e x B 0,1 (falsch) 1,0 (wahr) 0,1 (falsch) 0,9 (wahr) Prozeßdatenverarbeitung 0,5 0.5 tanh( x) 0.5 -4,565(Bias) 0,63 -3,935 3,465 -1,1 3,465 -1,1 5,67 1,105 1 0,5 0 -6 Sigmoidfkt. 0,00031888 0,09975049 0,09975049 0,90114393 0 6 Ergebnis falsch falsch falsch wahr 3.1.7 Fuzzy-Regelung Bei der Neuro-Fuzzy-Regelung werden meist Neuronale-Netze mit Schichtstruktur (Layered nets) verwendet Aufbau Verborgene Schichten Ausgabeschicht Eingabeschicht Konzeptuell sind alle Neuronen einer Schicht vollständig mit denen der Nachfolgenden verbunden. Falls Kanten nicht benötigt werden, so sind die Gewichte auf 0 zu setzen. Dieses Netz besteht aus: • einer Eingabeschicht (Input layer), • einer Ausgabeschicht (Output layer) und • einer variablen Anzahl von verborgen Schichten (Hidden layers) Prozeßdatenverarbeitung 3.1.7 Fuzzy-Regelung Überwachtes Lernen bei einem Geschichteten Netz Es gibt eine Menge von Lernmustern (Beispiele, Trainingssets) für die sowohl die Eingabe als auch das gewünschte Ergebnis bekannt sind. Die Kantengewichte können durch Zufallswerte oder als vorgegebene Werte (vorstrukturiertes Netz) belegt sein. Durch einen Iterationsprozeß wird versucht durch Veränderung der Gewichte den Gesamtfehler zwischen den erwartetem Ergebnissen und den tatsächlichen zu minimieren. Das Netz gilt als eingelernt, wenn die Fehlerfunktion ein Minimum annimmt. Im Betrieb bleiben dann die gelernten Gewichte erhalten und es wird erwartet, daß das Netz auf eine beliebige Eingabe mit sinnvollen Ausgaben reagiert. Problem: Es lassen praktische keine Aussagen treffen, wie das eingelernte Netz auf eine unbekannte Eingabe reagiert. Prozeßdatenverarbeitung 3.2 Steuerung Steuerung verknüpft binäre Binäre Prozeßsignale und beeinflußt den Prozeß durch das Senden von binären Signalen. Werden hierbei auch Zeitkriterien berücksichtigt spricht man von einer Ablaufsteuerung. Bsp. für binäre Signale – Sinale von Schaltern und Stellgliedern – Grenzwertmelder – Zeitgeber – Weichenstellungen – Lichtschranken Die Realisierung der Steuerung erfolgt durch – Verbindungsprogrammierte Steuerung (VPS) – Speicherprogrammierte Steuerung (SPS) Prozeßdatenverarbeitung 3.2 Steuerung Digital Ausgabe Programm Daten Prozeßdatenverarbeitung Systemprogramm Systemdaten Eingabe Peripheriebus Anwenderspeicher Befehlsregister Adreßzähler Speicherprogrammierte Steuerungen (SPS) Komponenten einer SPS – Automatisierungsgerät – Programmiergerät Prozessor – Programmiersprache Aufbau Ein-/Ausgabe Analog Ausgabe Eingabe Steuerwerk 3.2 Steuerung Programmierung einer SPS – Funktionsplan E 5.7 & E 5.6 = A 5.6 Arbeitsweise Eingabe und Filterung – Kontaktplan E 5.7 E 5.6 A 5.6 Verarbeitung der Daten nach Anwenderprogramm – Anweisungsliste U U = E 5.7 E 5.6 A 5.6 Prozeßdatenverarbeitung Ausgabe und Filterung Zyklische Verarbeitung 3.3 Führung von Prozessen Führung: bezeichnet die Aufgabe den Prozeß anhand von überordneten Sollwerten 3.3.1 Führung nach Festprogramm Der Ablauf des Prozesses ist durch ein festes Programm gegeben. Hierbei werden an den Prozeß die in einem Speicher abgelegte feste Sollwerte bzw. festgelegte Aktionen in Abhängigkeit von logischen oder zeitlichen Bedingungen ausgegeben. Prozeßdatenverarbeitung 3.3 Führung von Prozessen • 3.3.3 Führung nach Prozeßgleichungen Prozeßdatenverarbeitung 3.3 Führung von Prozessen 3.3.3 Führung nach Prozeßgleichungen mit Hilfe von mathematischen Modellen Prozeßdatenverarbeitung 3.4 Optimierung von Prozessen Bei der Optimierung werden vom Rechner die für eine gegebene Zielfunktion optimalen Sollwerte errechnet. Hierbei könnnen zwei Arten unterschieden werden – Optimierung bei der Planung Falls der Prozeß – Optimierung während Optimierungziele Minimierung der Rohstoffkosten Minimierung der Betriebskosten Minimierung der Fertigungszeit Maximierung der Kapazitätsauslastung Maximierung der Produktqualität Zur Optimierung muß ein geeignetes Verfahren ausgewählt werden Prozeßdatenverarbeitung 3.4 Optimierung von Prozessen Klassifikation von Optimierungsaufgaben Optimierungsproblem Konfiguration x = (x1, x2, …, xn) Kostenfunktion C(x) = Min/Max (Durch Vorzeichenwechsel wird aus einem Minimierungs- ein Maximierungsproblem) evtl Nebenbedingungen der Form a11 x1 + a12 x2 +… +a1n xn b1 a21 x1 + a22 x2 +… +a2n xn b2 oder Axb ... Elemente xi diskret kontinuierlich Kostenfkt. C linear Lineare Programmierung Prozeßdatenverarbeitung Kombinatorische Optimierung nicht linear Nicht lineare Optimierung 3.4.1 Verfahren zur Optimierung Bsp.: Lineare Optimierung (LP) C 12 Zielfunktion C 1x y 2 10 Nebenbedingungen N1: x 2 8 N2: y 1 N3 : x 1 y 8 2 N4 : x 1 y 5 2 6 4 N5 : y 6 8 2 7 6 5 4 0 3 0 N1 Prozeßdatenverarbeitung 1 2 2 3 4 x 1 5 N4 6 7 0 8 N3 y N2 N5 3.4.1 Verfahren zur Optimierung Nicht lineare Optimierung C(x) ist die Kostenfunktion Gradientenverfahren x(i+1) = x(i)+ s C(x(i)) (Maximierung C(x(i)) (Minimierung) x(i+1) = x(i)- s C muß differenzierbar sein Startpunkt 1: x(0) Startpunkt 2: x(0) C(x(i)) Prozeßdatenverarbeitung 3.4.1 Verfahren zur Optimierung Allgemeine Optimierungsmethoden 25 Relaxationsverfahren 20 15 25 Simplex-Verfahren 10 20 25 5 2 15 5 10 Rasterverfahren 4 20 15 20 25 10 15 5 10 5 10 15 5 20 3 25 5 Prozeßdatenverarbeitung 1 10 15 20 25 3.4.1 Verfahren zur Optimierung Kombinatorische Optimierung Viele der Verfahren der kombinatorischen Optimierung gehören zu der Klasse der NP-harten Probleme. Daher kann meist nur ein annähernd optimales Ergebnis erzielt werden. Einige allgemeine Verfahren Branch and Bound Es wird ein Suchbaum aufgebaut. Eine Kante steht für eine Entscheidung. (Branch) Für jeden Knoten (Abfolge von Entscheidungen) kann eine untere Schranke für das best-mögliche Resultat berechnet werden. Ein Blatt (keine Entscheidung mehr offen) stellt eine Lösung dar. Knoten deren deren Schranke schlechter als die beste bisher bekannte Lösung brauchen nicht weiter betrachtet werden. Prozeßdatenverarbeitung 3.4.1 Verfahren zur Optimierung Dynamische Programmierung (nicht NP-hart) Prozeßdatenverarbeitung 3.4.1 Verfahren zur Optimierung Branch and Bound Prozeßdatenverarbeitung 3.4.1 Verfahren zur Optimierung Evolutionäre Algorithmen 4,6112 4,6112 0,0899 4,6112 0,0899 8,2087 4,6112 0,0899 8,2087 3,1877 0,0899 8,2087 3,1877 4,5312 8,2087 3,1877 4,5312 2,6275 3,1877 4,5312 2,6275 8,6521 4,5312 2,6275 8,6521 6,0876 2,6275 8,6521 6,0876 6,8958 8,6521 6,0876 6,8958 6,0876 6,8958 6,8958 4,6112 0,0899 8,2087 3,1877 4,5312 2,6275 8,6521 6,0876 6,8958 0,7699 0,5803 9,5834 5,9777 6,5751 1,0343 4,6039 3,4836 0,4583 Selektion Prozeßdatenverarbeitung 4,6112 0,0899 9,5834 5,9777 4,5312 2,6275 8,6521 3,4836 0,4583 4,6112 0,1679 9,5834 5,9777 4,5312 2,0324 8,6521 3,4836 0,4583 4,6112 0,1679 4,6112 9,5834 0,1679 4,6112 5,9777 9,5834 0,1679 4,6112 4,5312 5,9777 9,5834 0,1679 4,6112 2,0324 4,5312 5,9777 9,5834 0,1679 8,6521 2,0324 4,5312 5,9777 9,5834 3,4836 8,6521 2,0324 4,5312 5,9777 0,4583 3,4836 8,6521 2,0324 4,5312 0,4583 3,4836 8,6521 2,0324 0,4583 3,4836 8,6521 0,4583 3,4836 0,4583 4 Hardware der Prozeßdatenverarbeitung Prinzipieller Aufbau einer Prozeßdatenverarbeitungsanlage • Indirekte Prozeßkopplung (Off-line-Betrieb) Stellen und Messen Stellen Prozeß erfolgt manuell evtl. werden die Betriebsdaten in einen Rechner eingegeben • Direkte Prozeßkopplung –On-line-open-loop-Betrieb Eingangsseitig Stellen Prozeß Prozeßrechner Prozeßdatenverarbeitung Messen Dateneingabe Ausgangsseitig Messen Stellen Prozeß Prozeßrechner Messen 4 Hardware der Prozeßdatenverarbeitung • On-line-closed-loop-Betrieb Der Prozeßrechner übernimmt alle Funktionen Stellen Prozeß Messen Prozeßrechner • Detailierterer Aufbau Sensor(en) Prozeß Stellglied Signalumformer Digitalanalogwandlung Prozeßdatenverarbeitung Meßumformer Entkopplung Prozeßrechner A D • Regelung/Steuerung • Führung • Optimierung A D Analogdigitalwandlung 4.1 Sensoren/Aktoren 4.1.1 Sensoren Sensoren wandeln phsikalische Größen wie Druck, Temperatur, Kraft etc. in eine elektrische Größe z. B. Spannung, Widerstand, Kapazität um. Eine wesentliche Eigenschaft ist der funktionale Zusammenhang zwischen der physkalischen und der daraus abgeleiteten elektrischen Größe. Angestrebt wird meist eine direkte Proportionalität. Diese ist (wenn überhaupt) oft nur für einen eingeschränkten Bereich, dem Meßbereich, gegeben. Beispiel für einfache Sensoren Widerstandsthermometer (Temperatur) Metallwiderstände (PTC) Meßbereich -200°..850°C Meßfehler +/-0,5% Halbleiterwiderstände (NTC) Meßbereich -100°..+400°C Meßfehler +/-1-5% Dehnmeßstreifen (Kraft) Prozeßdatenverarbeitung Prozeßdatenverarbeitung 4.1.1 Sensoren Brückenschaltung Eine Schaltung zur Umwandlung von Widerstandsänderungen von Sensoren in eine Spannung ist die Wheatstone Brücke. UV • Nullverfahren U0 R3 • Ausschlagverfahren Prozeßdatenverarbeitung R2 R1 R4 4.1 Sensoren/Aktoren 4.1.2 Aktoren • Gleichstrommotoren • Wechselstrommotoren • Linearmotor • Schrittmotoren • Hydraulik/Pneumatik Prozeßdatenverarbeitung 4.2 Datenübertragung/Entkopplung • Digitale Signale – Übertragung durch Leitungen – Lichtwellenleiter • Analoge Signale – Fliegende Kapazität – Spannungs-Frequenz-Wandlung Prozeßdatenverarbeitung 4.2 Datenwandler 4.2.1 Analogdigitalwandler (A/D-Wandler) Grundsätzliche Überlegungen Die analoge Eingangsspannung Ue wird durch ein Codewort fester Länge n repräsentiert. Daher ist die kleinste und größte zulässige Eingangsspannung durch die Bauart des Wandlers festgelegt. Die minimale Auflösung bei N-Bits beträgt U Umin ULSB max 2N Abtastung Ue Umsetzung in ein Codewort Integration (Mittelwertbildung) Skalenfehler Code Quantisierungsfehler N+1 N Nichtlinearität Offset-Fehler Abtastzeitpunkt Prozeßdatenverarbeitung t Ue 4.2.1 Analog/Digitalwandler Nachlaufverfahren U e + Spannungs-Frequenz-Umsetzung down / up Sensor Zähler VCO Zähler U re f A z = (z D Takt Funktionsweise • Komparator: Überwiegt die Spannung am invertieren Eingang (-) die Spannung am nicht invertierenen Eingang (+), so wird eine log. Null erzeugt. • A/D-Wandler: Dieser wandelt einen digital Code in eine Analogspannung. Prozeßdatenverarbeitung (n -1 ) U ,..,z ) Digtalwert 0 Code e 0 10 20 30 n/[Takte] 4.2.1 Analog/Digitalwandler Integrationsverfahren (Dual-Sloop) S UI 3 + C S U e 1 R S = U 2 + U Ue1 Steuerlogik I re f en Meßdauerzähler en Ergebniszähler Ue2 Takt Funktionsweise: Ruhezustand: S1, S2 offen, S3 geschlossen (Kondensator entladen) Meßbeginn: S2, S3 offen, S1 geschlossen. Der Kondensator wird während der Meßdauer auf die Meßspannung aufgeladen. Meßauswertung: S1, S3 offen S2 geschlossen. Der Kondensator wird mit der (negativen) Referenzspannung entladen. Gleichzeitig wird der Ergeniszähler gestartet. Erreicht die Spannung Null, so entspricht der Wert des Ergebniszählers der Eingangsspannnung. Prozeßdatenverarbeitung t 4.2.1 Analog/Digitalwandler Wägeverfahren (Sukzessive Approximation) Prinzipieller Aufbau des Wandlers u(t) + Steuerung - EOC A D SAR z = (z(n-1),..,z0) Prozeßdatenverarbeitung Funktionsweise Alle Bits im SAR sind initial auf Null Uref uZ SOC Ausgehend vom höchsten Bit (z(n-1)) wird zunächst jedes einzelne Bit probeweise auf Eins gesetzt. Ergibt sich eine zu große Referenzspannung UZ, so wird das Bit wieder zurückgesetzt, ansonsten bleibt es erhalten 4.2.1 Analog/Digitalwandler DU Beispiel 2,50000000 1,25000000 0,62500000 0,31250000 0,15625000 0,07812500 0,03906250 0,01953125 Eingangsspannung ue = 2,3 V Referenzspannung Uref = 5 V 3,00 2,50 UZ 2,50000000 1,25000000 1,87500000 2,18750000 2,34375000 2,26562500 2,30468750 2,28515625 Bits 0,00000000 1,25000000 1,87500000 2,18750000 2,18750000 2,26562500 2,26562500 2,28515625 ue 2,00 1,50 uZ vor dem Vergleich uZ nach dem Vergleich 1,00 0,50 0,00 1 2 Prozeßdatenverarbeitung 3 4 5 6 7 8 0 1 1 1 0 1 0 1 4.2.1 Analog/Digitalwandler Parallelumsetzer (Direkte Umsetzung) ue 1 R 2 R R R R R 1 R 2 R Uref + - Prozeßdatenverarbeitung + 3-Bit - + - + - + - + - + - 1 aus n Prioritätsencoder 4.2.1 Analog/Digitalwandler Delta-Sigma-Wandler U Takt 1 R E F 1 Bit-DAC Subtrahierer U - m e s s + R R - Integrator R R + R + Komparator + C + Die Frequenz des Taktes 1 muß für n Bits das n-fache der eigentlichen Abtastrate betragen. Prozeßdatenverarbeitung 4.2.1 Analog/Digitalwandler Übersicht DAC (Digital-Analog-Convertor) Auflösung/[Bit] Sensorik, Meßtechnik 24 Audio (HiFi) 20 16 Sprache (Telekom) Sigma-Delta Zählverfahren Video, Oszilloskope 12 Wägeverfahren HalfFlash 8 Parallelumsetzung 4 10 0 Prozeßdatenverarbeitung 2 10 4 10 10 6 8 10 f/[Hz] 4.2.1 Analog/Digitalwandler Das Abtasttheorem (Shannon-Theorem) Eine beliebige periodische Funktion läßt sich als unendliche Reihe von Sinusschwingungen darstellen. (Fourierreihe) Die Frequenzen der einzelnen Schwingungen sind Vielfache der Grundfrequenz. Ein analoges Signal läßt sich aus einer Folge von Abtastwerten rekonstruieren, falls die Abtastfrequenz fT doppelt so hoch ist wie die höchste im analogen Signal vorhandene Frequenz. Prozeßdatenverarbeitung Approximation einer Rechteckschwingung 3 1 f ( t) sin(2 (2k 1) t) 2 k 1 k0 Bem: Die Fourierreihe einer Rechteckschwingung ist unendlich. 4.2 Datenwandler 4.2.2 Digitalanalogwandler (D/A-Wandler) R U R R Das Leiternetzwerkprinzip 2R U re f 2R 2R 2R 2R R N + z 1 3 Prozeßdatenverarbeitung z 0 2 z 0 1 z 1 0 Widerstand 2R R U/2 U a 2R 2R Widerstand R 4.3 Prozeßrechner Integrative Verfahren Pulsweitenmodulation (PWM) Eine Folge von digitalne Werten wird in eine Impulsfolge umgewandelt. Die Impulsbreite entspricht dem digitalen Wert.Bsp:x(n)= { 6, 12 } 0 2 4 6 8 10 12 14 16/0 2 4 6 8 10 12 14 16/0 Die Realisierung erfolgt durch ladbare Zähler Ein-Bit-Wandler Takt fOS z Analogwert Int. -2N 0 Prozeßdatenverarbeitung >0 Die Taktfrequenz fOS muß bei einem exakten Ergebnis für N Bits das 2N-fache derAbtastrate betragen(Oversampling) 4.3.1 Anforderungen an Prozeßrechner Echtzeitfähikeit Hohe Zuverlässigkeit Prozeßdatenverarbeitung 4.3.2 Unterbrechungsbehandlung Prozeßdatenverarbeitung 4.4 Zuverlässigkeit und Sicherheit • Definitionen • Sicherheit • Zuverlässigkeit Prozeßdatenverarbeitung 4.4 Zuverlässigkeit und Sicherheit Die Ausfallrate l(t) von beschreibt die Anzahl der Ausfälle pro Zeiteinheit. In technischen Systemen hat sie folgenden Form Frühausfälle Verschleiß l(t) Zufallsausfälle t Die Verfügbarkeit Q(t) ist die Wahrscheinlichkeit, daß eine technische Komponente oder ein System während der Betriebszeit T bis zum Zeitpunkt t nicht ausgefallen ist Q(t) = p(T > t) Die Verfügbarkeit ist exponetialverteilt mit dem Parameter l R(t) = e-lt Die Ausfallwahrscheinlichkeit P(t) ist gegegeben als P(t) = 1 - R(t) Prozeßdatenverarbeitung 4.4 Zuverlässigkeit und Sicherheit Die mittlere Betriebszeit Es soll nun der Erwartungswert für die Betriebszeit ohne Störung ermittelt werden. Formal: dR ( t ) m t 0 dt dt Nach dem Gesetz der großen Zahl kann der Erwartungswert geschätzt werden zu MTBF Betriebsze iten (mean time between failure ) Ausfallzei ten Die mittlere Reparaturzeit Für eine Komponente kann eine Größe MTTR (mean time to repair) geschätzt werden. Prozeßdatenverarbeitung 4.3.1 Verfügbarkeit Formeln zur Berechnung von Verfügbarkeit q, Q und Ausfallwahrscheinlichkeit p, P • Zusammenhang P=1-Q,Q=1-P • Serienschaltung von n Komponenten q1 q2 qn n Q S qk S p1 k 1 • Parallelschaltung von n Komponenten pn n PS pk k 1 pn • m aus n System (n identische Komponenten, m intakt) m1 n k PS 1 p pnk k k 0 n n! k k !(nk )! p1 pn pn Prozeßdatenverarbeitung m:n S S 4.3.1 Konfigurationen von Rechnern Prozeßdatenverarbeitung 5 Software in der Prozeßdatenverarbeitung Prozeßdatenverarbeitung 5.1 Echtzeit-Betriebsysteme Prozeßdatenverarbeitung 5.2 Echtzeit-Sprachen Prozeßdatenverarbeitung 5.2.1 Semaphor-Konzept Prozeßdatenverarbeitung 5.2.2 Monitore Prozeßdatenverarbeitung Petri-Netze Petri-Netze dienen der Beschreibung von nebenläufigen Prozessen Ein Petri-Netz PN ist ein Fünftupel N = (P, T, I, O, M0) mit • P = { pi | i = 1...m} ist eine endliche Menge Plätzen • T = { ti | i = 1...n } ist eine endliche Menge von Transistionen • Es muß gelten P T und P T = . P und T sind über gerichtete Kanten verbunden und bilden eien gerichteteen bipartiten Graph. • I: P T N ist die Eingangsfunktion die • O: T P N ist die Ausgangsfunktion die • M0: P N ist die initiale Markierung Ein wichtiges Modellierungsmittele sind die Token. Diese befinden sich in den Plätzen. Prozeßdatenverarbeitung Petri-Netze Arbeitsweise Zunächst werden alle Plätze mit der Anzahl von Token belegt, die in M 0 vorgegeben ist. Eine Belegung der Plätze mit Token wird als Markierung bezeichnet. Sind alle Eingangplätze einer Transition mit mindestens der in I angegebenen Anzahl von Token belegt so ist die Transistion bereit. Prozeßdatenverarbeitung Petri-Netze • Modelle Eingangsplatz Eingangsbedingung Eingabedaten Eingangssignal Benötigte Ressource Bedingung Eingangspuffer Prozeßdatenverarbeitung Transition Ereignis Berechnungsschritt Signalprozessor Task Klausel Prozessor Ausgangsplatz Ausgangsbedingung Ausgabedaten Ausgangssignal Freigabe von Ressourcen Schlußfolgerung Ausgangspuffer Sei PN ein Petri-Netz mit m Plätzen und n Transitionen Die Matriz A (Inzidenzmatrix) ist eine n m Matrix A = [aik] a a a i , k i ,k wobei aik gegeben ist durch: i,k mit ai O ( t , p ) und a i k i ,k I(pk , ti ) ,k Eine Markierung oder Zustand ist ein m 1 Spaltenvektor Mk = (M(p1), M(p2), ..., M(pm)T mit M(pi) ist die Anzahl der Marken auf dem Platz pi Die Feuerregel kann nun formiliert werden durch ai ,k M(pk ) für k 1...m Die Transistion ti ist bereit falls Der n 1 Spaltenvektor ur wird als Steuervektor bezeichnet. Eine 1 an der i-ten Position mit sonst nur 0 bedeutet daß in einer Feuerfolge Prozeßdatenverarbeitung Die Markierung Mr nach dem feueren einer Transition ti in Markierung Mr-1 läßt sich ausdrücken durch T Mr Mr A u mit u 0 1 0 1 r r i Hierdurch erhält man eine notwendige Erreichbarkeitsbedingung durch Eine Markierung Mr ist durch eine Feuerfolge U = {u1,u2,...,ur} erreichbar falls Prozeßdatenverarbeitung 5.4 Aufbau von Automatisierungssystemen Geschäftsführung Entwicklung Auftragsannahme Bestellung Buchhaltung Externer Transport Interner Transport Fertigung Prozeßdatenverarbeitung Lager 6 Bussysteme Prozeßdatenverarbeitung 6.1 Bushierarchie Prozeßdatenverarbeitung 6.2 Beispiele Prozeßdatenverarbeitung 6.2.2 IEC-625-Bus (IEEE 488) Der IEC-Bus entstand als Norm aus dem von HP vorgestellten GPIB (General Purpose Interface Bus) Eigenschaften • Byte-paralleler Bus für Laborautomatisierung • Zentrale Busvergabe • maximale Buslänge 20 m • Übertragungsraten 330 KB/s, 500KB/s bis 1MB/s Prozeßdatenverarbeitung 6.2.2 IEC-625-Bus (IEEE 488) Aufbau eines IEC-Bussystems DIO 1-DIO 8 16 BusLeitungen Steuerbus Controller Busvergabe Prozeßdatenverarbeitung Talker Daten senden Listener Daten empf. ... Listener Daten empf. 6.2.3 VME-Bus Prozeßdatenverarbeitung 6.2.1 CAN-Bus Prozeßdatenverarbeitung 6.2.4 Profi-Bus Prozeßdatenverarbeitung I I I U Spannungverstärker R I U R e I 1 I - U U e + Umkehraddierer 2 R 2 R 3 2 R U 1 1 N N R 1 3 3 U N a I I R k - 1 k - 1 I U C I Integrator I R k I k R e I 1 U N k - 1 N U R N R - k C R U - + U N a U U e + U N a I Differentiator I e C R N I e U N N N Subtrahierer N I R e I 1 R R - U R I + U U a U 1 U R 2 2 U N R P D + U P U a