Markov-Modellierung vernetzter Regelungssysteme basierend auf
Transcription
Markov-Modellierung vernetzter Regelungssysteme basierend auf
Markov-Modellierung vernetzter Regelungssysteme basierend auf Petrinetz-Simulationen Abouelabbas Ghanaim und Georg Frey Lehrstuhl für Automatisierungstechnik Universität des Saarlandes 66123 Saarbrücken {abouelabbas.ghanaim|georg.frey}@aut.uni-saarland.de Abstract: Beim Entwurf und der Analyse vernetzter Regelungssysteme (Networked Control System, NCS) sind die, durch die Kommunikation entstehenden, Verzögerungen im Kreis zu berücksichtigen. Man unterscheidet hier gemeinhin die Sensor-Regler-Verzögerung (sensor controller time delay, τsc) und die Regler-Aktuator-Verzögerung (controller actuator time delay, τca). Diese Zeiten sind i.A. nicht fest sondern unterliegen stochastischen Schwankungen. Eine geeignete Methode zur Modellierung der Verzögerungen sind deshalb Markov-Modelle. Zur Generierung dieser Modelle muss jedoch eine Vielzahl von Parametern bestimmt werden. Da eine direkte Modellierung kaum möglich ist, verwendet man datenbasierte Ansätze. Die benötigten Daten können am realen System gemessen, oder durch Simulation gewonnen werden. Im vorliegenden Beitrag wird ein Ansatz beschrieben, in dem zunächst auf Basis farbiger Petrinetze ein Modell des NCS aufgebaut wird. Dieses Modell kann einfach parametriert werden und wird zur Datengewinnung simuliert. Die Daten dienen dann zur Erstellung eines kompakten Markov-Modells, das seinerseits zu Reglerentwurf und -analyse eingesetzt werden kann. Stichworte: Simulation. 1 Vernetzte Regelungssysteme, Verzögerungen, Markovmodelle, Petrinetze, Einleitung Bild 1 zeigt die abstrakte Struktur eines vernetzten Regelungssystems mit den beiden Verzögerungszeiten τsc und τca. τsc ist definiert als die Zeit, die vom Aufnehmen eines Wertes am Sensor bis zu dessen Einlesen am Regler vergeht. Sie ist damit ein Maß für das Alter des verarbeiteten Sensorwertes. τca wiederum ist die Zeit, die von der Berechnung eines neuen Stellwertes im Regler bis zu dessen Aufschaltung am Aktuator vergeht. Sie ist also ein Maß für das Alter eines Stellwertes. Zusätzlich zu diesen, durch die Kommunikation verursachten Zeiten tritt noch eine Verzögerung im Regler selbst auf (Berechnungszeit, τc). Diese wird im Folgenden, wie allgemein üblich τca zugeschlagen. Die Gesamtverzögerung vom Erfassen eines Messwertes bis zum Aufschalten der neuen Stellgröße beträgt somit: τtc = τsc + τca. Diese Verzögerung beeinträchtigt natürlich das Systemverhalten und ist eine potentielle Ursache für ein instabiles Gesamtsystem [Fu-ChunYu2005, WonKunAmb2006]. Deshalb werden Methoden, wie die im Folgenden beschriebene, zur Bestimmung der Verzögerung und ihrer Komponenten benötigt. Zur Analyse komplexer Systeme bietet sich oft ein zweistufiger Modellierungsansatz an. Dabei wird das System zunächst in einer komponentenbasierten Beschreibungssprache detailliert modelliert. Dies erlaubt eine einfache Modellierung führt jedoch i.A. nicht zu analytischen, wohl aber zu simulierbaren, Modellen. Deshalb wird in einem zweiten Schritt das Modell simuliert und anhand der gewonnenen Daten wird ein phänomenologisches, analytisches Modell identifiziert. Dieser Weg wird im vorliegenden Beitrag für die Modellierung von NCS beschritten. Dabei kommen im ersten Schritt farbige Petrinetze (CPN) und im zweiten Markovmodelle zum Einsatz. Regler + τca Aktuator Strecke - Client Seite LAN Server Seiter Sensor τsc Bild 1: Abstrakte Struktur eines vernetzten Regelungssystems (Networked Control System, NCS). Bild 2:Technologische Struktur eines vernetzten Regelungssystems bei Verwendung zeitgesteuerter (zyklischer) Komponenten. Bild 2 zeigt die technologische Struktur der betrachteten Klasse vernetzter Regelungssysteme. Es handelt sich dabei um eine im industriellen Einsatz typische Struktur aus Speicherprogrammierbarer Steuerung (SPS) und Client-Server-Netzwerk zur Anbindung der Sensorik und Aktuatorik. Bild 3 verdeutlicht das Zeitverhalten der behandelten Systemklasse. Zunächst (oberste Zeitachse) erfolgt auf dem Sensorknoten eine zeitgesteuerte Abtastung des Messwertes mit der Abtastzeit h. Nach der Abtastung steht der Wert – leicht verzögert durch die interne Datenverarbeitung; im Bild – auf dem Sensorknoten zur Verfügung, wird allerdings nicht aktiv übermittelt. Vielmehr wartet der Sensorknoten als Daten-Server auf eine Anfrage eines Clients im Netzwerk. Dieser Client ist das Kommunikationsmodul der Steuerung, welches selbst wieder zyklisch arbeitet. D.h. das Kommunikationsmodul sendet mit einer Zykluszeit d Anfragen an das Sensormodul. Zwischen Versenden der Anfrage durch das Kommunikationsmodul und dem Empfang am Sensormodul verstreicht eine i.A. nichtdeterministische Übertragungszeit ( im Bild). Nach Empfang der Anfrage sendet das Sensormodul den dann intern vorliegenden Messwert zurück zum Kommunikationsmodul. Auch diese Übertragung benötigt eine i.A. nichtdeterministische Zeit (im Bild). Die im Kommunikationsmodul vorliegenden Daten werden über einen internen Bus, in den Eingangsspeicher der Steuerung (SPS) geschrieben. Dort beeinflussen sie jedoch nicht direkt den Programmablauf, denn die SPS arbeitet selbst wieder zyklisch. Erst nach Abschluss des aktuellen Zyklus liest sie neue Daten ein. In diesem Moment steht der Messwert für die Verarbeitung in einem Regelungsalgorithmus zur Verfügung. Dieser Zeitpunkt gilt somit auch als Ende der Sensor-Regler-Verzögerung τsc. Bild 3:Zeitlicher Ablauf der Kommunikation zwischen Regler und Strecke. Ab jetzt beginnt die Regler-Aktuator-Verzögerung. Zunächst benötigt die SPS einen Zyklus zur Berechnung des neuen Stellwerts (Zykluszeit c). Dier neue Wert wird nun an die Kommunikationsklarte übermittelt und steht dort im nächsten Sendezyklus zum Versand bereit. Bei der nächsten Übertragung zum Aktuatorknoten wird der Wert übertragen (nichtdeterministische Übertragungszeit, im Bild) und kann dann aufgeschaltet werden. Hier endet die Regler-Aktuator-Verzögerung τca. Wichtig bei dem gesamten Prozess ist zu beachten, dass der Nichtdeterminismus der Verzögerungszeiten nicht nur von den nichtdeterministischen Übertragungszeiten im Netzwerk abhängt, sondern vor allem sehr stark durch die Überlagerung der nicht synchronisierten Zyklen beeinflusst wird. Bezeichnend für die betrachtete Struktur sind die zyklische Abarbeitung des Regelgesetzes in der SPS, sowie die ebenfalls zyklische Kommunikation (Senden von Aktuatorwerten und Anfordern von Sensorwerten). Diese zeitgesteuerten Verhaltenssmodi führen auch bei den Verzögerungszeiten zu einer, durch stochastische Verzögerungen überlagerten Zyklizität. Um dies zu zeigen wird im Nächsten Kapitel zunächst ein Simulationsmodell entworfen und ausgeführt. Kapitel 3 zeigt im Anschluss, wie die gewonnenen Daten zur Identifikation eines Markovmodells genutzt werden können. Im abschließenden vierten Kapitel finden sich eine Zusammenfassung und ein Ausblick auf zukünftige Arbeiten. 2 Modellierung mit farbigen Petrinetzen Farbige Petrinetze (CPN) erlauben die kompakte Modellierung und effiziente Simulation komplexer ereignisdiskreter Systeme [JenKris2007]. Die Anwendung von CPN auf die Modellierung und Simulation vernetzter Systeme wurde von [Zeitsev2004] vorgeschlagen. CPN Modelle für NCS können basierend auf objektorientierten Ansätzen [MarsalEtAl2006] oder in strukturerhaltender Form [GhanaimFrey2008, GhaBorFrey2009] erstellt werden. Der letztgenannte Ansatz wird im Folgenden kurz beschrieben. Für jede Komponente des NCS wird zunächst ein generisches CPN-Modell entworfen und parametrierbar in einer Bibliothek abgelegt. Es handelt sich dabei im Einzelnen um Modelle für SPS mit Kommunikationsmodul, Ethernet-Switch, Feld-I/O-Module sowie ein Modul zur Beschreibung des zu regelnden Prozesses. Diese Module können anschließend instanziiert, parametriert und strukturerhaltend zum Modell des Gesamtsystems verbunden werden. Bild 4 zeigt ein so gewonnenes Systemmodell. Bild 4: CPN-Modell eines NCS mit SPS, Ethernet-Switch, zwei Feld-I/Os und Prozess. Bild 5: CPN-Modell einer SPS mit Kommunikationsmodul. Die Teilmodelle bilden die im System vorhandenen Verzögerungen detailliert ab, abstrahieren jedoch von der technischen Funktion. Als Beispiel eines Teilmodells zeigt Bild 5 die SPS. Auf der rechten Seite des Modells ist der Abarbeitungszyklus der SPS bestehend aus Eingänge lesen (PLC R), Algorithmenabarbeitung (PLC E) und Ausgänge schreiben (PLC W) zu erkennen. Auf der linken Seite findet sich der Kommunikationsteil. Um die Antwortzeitverteilung in vernetzten Automatisierungssystemen zu finden wurden Ansätze basierend auf der Simulation mit CPN [MarsalEtAl2006] sowie mittels Probabilistic Model Checking und hybrider Simulation [GreiLiuFrey2008] vorgeschlagen. Diesen Ansätzen ist gemein, dass die Antwort des Systems auf ein einzelnes Ereignis am Eingang betrachtet wird. Es gibt also keine geschlossene Rückkopplungsschleife. Für vernetzte Regelungssysteme ist gerade diese Rückkopplung wesentlich. Deshalb wird der Kreis im vorliegenden Ansatz geschlossen betrachtet. Dies bedeutet, dass nicht die Antwortzeitverteilung auf Basis einer großen Anzahl unabhängig auftretender Ereignisse gesucht wird, sondern eine Folge von Verzögerungszeiten, die beim dauerhaften, zyklischen Betrieb des Systems auftritt. Bild 6 zeigt Simulationsergebnisse für ein NCS bei zwei verschiedenen Sensorabtastzeiten (Zyklus in dem neue Daten am Sensorboard aufgenommen werden; h in der obigen Darstellung). Zwei Dinge fallen bei Betrachtung der Ergebnisse auf: 1) Konsekutive Verzögerungszeiten (sowohl bei τca. als auch bei τsc) sind nicht voneinander unabhängig. 2) Es gibt auch einen Zusammenhang zwischen den beiden Zeiten, erkennbar insbesondere bei Betrachtung der Summe. Die Beschreibung dieser Zusammenhänge erfolgt im nächsten Kapitel zunächst mit getrennten Markovmodellen für die beiden Verzögerungen (Punkt 1) und schließlich mit einem kombinierten Modell (Punkt 2). Delays for input sampling of 1ms Tsc Ttc Tca Time delay (ms) 40 30 20 10 0 0 5 10 15 20 25 30 35 40 45 50 Delays for input sampling of 40ms Time delay (ms) 60 Tsc Tca Ttc 40 20 0 0 5 10 15 20 25 30 Sample No. (k) 35 40 45 50 Bild 6: Simulationsergebnisse für verschiedene Sensorabtastzyklen h (oben 1ms unten 40ms) die anderen Zyklen sind in beiden Fällen gleich (d=17ms, c =10ms). 3 Markov-Modellierung Markov-Modelle wurden bereits erfolgreich zur Modellierung von Kommunikationssystemen genutzt (z.B. [ArauzKrish2003]). Eine Darstellung für Verzögerungen in vernetzten Automatisierungssystemen wird dadurch erreicht, dass die Zustände einer diskreten Markovkette Verzögerungen im nächsten Zyklus symbolisieren. Die auftretenden Verzögerungen selbst (und damit die Zustände) können dabei in einfachen Fällen aus den ermittelten Daten direkt abgelesen werden. Über die Maximum Likelihood (ML) Methode und den Baum-Welch-Algorithmus werden dann die Übergangswahrscheinlichkeiten ermittelt. Bei komplexeren Datensätzen (viele verschiedene Verzögerungen) ist es vorteilhaft ein Hidden-Markov-Modell (HMM) anzusetzen. Ein HMM ist gegeben durch ein Quintupel λ = (S, A, O, B, π) mit S = {s1, …,sn}, Menge der Zustände A = {ai j} = P(s(k+1) = sj | s(k) = si), Zustandsübergangsmatrix wobei ai j die Wahrscheinlichkeit eines Wechsels vom Zustand si, in den Zustand …,sj im nächsten Schritt angibt O = {o1, …,om}, Menge der Beobachtungen B = {bi j} = P(o(k+1) = oj | s(k) = si), Beobachtungsmatrix wobei bij die Wahrscheinlichkeit angibt, im Zustand si die Beobachtung oj zu machen π(0) = { πi} = P(s(0) = si) Anfangswahrscheinlichkeitswerteilung. Die hier vorgeschlagene Modellierung basiert auf der Analyse der durch die CPN-Simulation generierten Verzögerungszeit-Sequenzen. Die Werte werden diskretisiert, gezählt und Symbolmengen zugewiesen. Falls sehr wenige verschiedene Verzögerungen auftreten (Anzahl der Symbole N ≤ 3) kann ein direktes Markovmodell generiert werden. Im allgemeinen Fall, wenn eine große Anzahl verschiedener Verzögerungen auftritt, wird ein Hidden Markov Model (HMM) zur Modellierung genutzt. Die Anzahl der verborgenen Zustände kann dabei aus der Verteilung der Verzögerungszeiten abgeleitet werden. Für Untermengen von Verzögerungen, die auf vergleichbare innere Systemzustände schließen lassen wird jeweils ein Zustand generiert,. Die Anzahl der zugehörigen verborgenen Zustände ergibt sich aus der Anzahl der Elemente der Untermenge. Die Idee wird im Folgenden anhand der Ergebnisse der CPN-Simulation aus dem obigen Modell für die Sensorabfragezeit von 1 ms demonstriert. Bild 7 zeigt die auftretenden Verzögerungen und ihre jeweilige Häufigkeit. Sensor to controller delay (Tsc) distribution Density 0.2 0.15 0.1 0.05 0 2 4 6 8 10 12 14 Controller to actuator delay (Tca) distribution Density 0.4 0.3 0.2 0.1 0 0 5 10 15 20 25 Time delay (ms) 30 35 40 Bild 7: Verteilung der Verzögerungszeiten τsc, und τca bei einer Sensorabfragerate von 1 ms. Für τsc erkennt man zwei unterschiedliche Regionen in diesem Diagramm: einen Bereich kleiner Verzögerungen mit hoher Auftrittshäufigkeit {4, 5, 6, 7, 8, 9} sowie einen Bereich großer Verzögerungen mit niedriger Auftrittshäufigkeit {10, 11}. Deshalb wird ein Ansatz mit einem HMM mit zwei Zuständen und 8 Beobachtungen für λsc gewählt. Die Berechnung über MLSchätzung und den Baum-Welch-Algorihmus (Matlab Statistik Toolbox) ergibt: 0 0.83 0.17 0.17 0.16 0.17 0.17 0.17 0.17 0 A sc B sc 0 , 0 0 0 0 0 0.5 0.5 , 1 0 S = {s1, s2}; O = {4, 5, 6, 7, 8, 9, 10, 11} Für λca erhält man entsprechend ein Modell mit 2 Zuständen und 6 Beobachtungen: 0 0 0 0.14 0.86 0.14 0.57 0.29 A ca B ca 0 0 0.29 0.57 0.14 0.86 14 , 0 S = {s1, s2}; O = {13, 14, 15, 27, 29, 31} Interessant ist nun die Verknüpfung der beiden Modelle zu einem Gesamtmodell, das in der Lage ist die Korrelation zwischen den beiden Verzögerungen abzubilden. Die Anzahl der Zustände des kombinierten Modells ergibt sich aus der Summe der Einzelzustandszahl der Teilmodelle. Transitionen führen immer vom einen zum anderen Teilmodell. Dies bildet die Tatsache ab, dass Abwechselnd eine Sensor-Regler-Verzögerung und eine Regler-Aktuator-Verzögerung geschätzt wird, vgl. Bild 8. λsc λca Bild 8: Zustandsdiagramm des kombinierten HMM λcom für τsc und τca. Die Parameter ergeben sich über ML and Baum-Welch zu: ACom 0 0.58 0.42 0 0 0 0 1 0 0.86 0.14 0 0 sc 0 0 0.85 0.15 ca 0 Das kombinierte Modell kann in zwei separate Modelle λ`sc, λ`ca dekomponiert werden. Interessante Anwendungsmöglichkeiten ergeben sich dabei aus der Tatsache, dass über λ`ca die Verzögerung τca bei gegebenen τsc geschätzt werden kann. Im Gegensatz zu τca, das zum Zeitpunkt der Reglerberechnung immer unbekannt ist, kann τsc bei geeigneter Instrumentierung bestimmt werden. D.h. das Modell erlaubt bei gemessener Sensor-Regler-Verzögerung die Schätzung der nächsten Regler-Aktuator-Verzögerung und deren Berücksichtigung in der Berechnung des Stellwerts. Für einfache direkte Markovmodelle könnte die Validierung über die Berechnung der stationären Verteilung erfolgen. Im gegeben Fall von HMM scheidet dieses Vorgehen aus. Stattdessen werden über die CPN-Simulation weitere Verzögerungsdaten generiert und mit den Ausgaben der Markovmodelle verglichen. Bild 9 zeigt das Ergebnis sowohl für den Fall des einfachen Modells für eine Verzögerung (τsc), als auch für das kombinierte Modell. In beiden Fällen ist eine gute Übereinstimmung erkennbar. Probability distribution of delays from CPN model versus from HMM simulation Density 0.2 CPN HMM Simulation 0.1 0 0 0.16 0.14 5 10 Probability distribution of delays from CPN model versus from composite Markov model simulation 15 CPN HMM simulation 0.12 Density 0.1 0.08 0.06 0.04 0.02 0 0 5 10 15 20 Time delay (ms) 25 30 35 Bild 6: Validierung der Modelle (oben Einzelmodell für τsc, unten kombiniertes Modell). 4 Zusammenfassung und Ausblick Der vorgeschlagene Beitrag beschreibt eine durchgängige Methode zur Gewinnung von MarkovModellen, die die Verzögerungen in NCS mit zyklischen Steuerungen im geschlossenen Kreis beschreiben. Ausgangspunkt ist hierbei ein Modell des NCS in einer strukturerhaltenden modularen Form. Die entwickelten Markovmodelle geben nicht nur die Abhängigkeit konsekutiver Verzögerungen auf einem Kommunikationsweg (Sensor zu Regler bzw. Regler zu Aktuator) sondern auch den Zusammenhang zwischen diesen beiden Verzögerungen wider. Weiterführende Arbeiten befassen sich mit der Erweiterung der CPN-Simulationsmodelle sowie der Einbindung der Markovmodelle in den Entwurf und die Analyse geschlossener NCSRegelkreise. Literatur [ArauzKrish2003] Arauz, J., Krishnamurthy, P.: Markov Modelling of 802.11 Channels. Proc. of EEE Vehicular Technology Conference, (2), 771 – 775. PA, USA, 2003. [Fu-ChunYu2005] Fu-Chun, L ., Yu, Y.: Modelling and analysis of networked control systems using hidden Markov models. Proc. of machine learning and cybernetics international conference, (2), 928- 931. China, 2005. [GhanaimFrey2008] Ghanaim, A., Frey, G.: Component based Colored Petri Net model for Ethernet based Networked Control Systems. Proc. of the 13th IEEE Int. Conf. on Emerging Technologies and Factory Automation, 1100-1103. Hamburg, Germany, 2008. [GhaBorFrey2009] Ghanaim, A., Borges, G. A., Frey, G.: Estimating Delays in Networked Control Systems Using Colored Petri Nets and Markov Chain Models. Proc. of the 14th IEEE Int. Conf. on Emerging Technologies and Factory Automation, 1-6. Mallorca, Spain, 2009. [GreiLiuFrey2008] Greifeneder, J., Liu, L., Frey, G.: Methods for Analyzing Response Times in Networked Automation Systems. 17th IFAC World Congress, 5113-5118. Seoul, 2008. [JenKris2007] Jensen, K., Kristensen, L.M., Wells L.: Coloured Petri nets and CPN tools for modelling and validation of concurrent systems. International Journal on Software Tools for Technology Transfer, (9), 213 – 254, 2007. [MarsalEtAl2006] Marsal, G., Denis, B., Faure, J. M., Frey, G.: Evaluation of Response Time in Ethernet-based Automation Systems, 11th IEEE Int. Conf. on Emerging Technologies and Factory Automation, 380-387. Prague, 2006. [WonKunAmb2006] Won-Jong, K., Kun, J. and Ambike: A. Real-time operating environment for networked control systems. IEEE TASE, (3), pp.287-296. TX, USA, 2006. [Zaitsev2004] Zaitsev, D. A.: An Evaluation of Network Response Time using a Coloured Petri Net Model of Switched LAN. Proc. of 5th Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, 157167. Aarhus, Denmark, 2004.