Entwurf eines Partitionierungsmechanismus

Im Dokument Plattform zur Echtzeit-Co-Simulation für die virtuelle Inbetriebnahme (Seite 103-109)

5.4 Modellierungs und Initialisierungsphase der Echtzeit-Co-Simulation

5.4.2 Entwurf eines Partitionierungsmechanismus

Ziel dieses Kapitels ist der Entwurf eines beispielhaften Partitionierungsmechanismus, der sich auf ein automatisch generiertes Simulationsmodell anwenden lässt. Hierzu werden zuerst die Partitionierungsparameter betrachtet. Danach werden die einzelnen Schritte einer Partitionierung konzipiert. Abschließend können die je Partition zur Initialisierung der Simulationstasks benötigten Konfigurationsparameter abgeleitet werden.

Partitionierungsparameter: Bei der heuristischen Partitionierung erfolgt die Aufteilung

anhand von heuristischen Informationen aus dem Blockschaltbild. Diese heuristischen In- formationen stellen die Partitionierungsparameter dar. Betrachtet man hierzu wiederum die in Abbildung 5.1 eingeführte Strukturierung eines Blockschaltbilds, lassen sich heuris- tische Partitionierungsparameter für eine Simulationsbibliothek, für ein Komponentenmo- dell sowie für das Gesamtmodell definieren:

 Informationen einer Simulationsbibliothek: Eine Simulationsbibliothek be- steht aus mehreren Simulationsbausteinen. Durch das Hinterlegen von Infor- mationen in einem Simulationsbaustein lässt sich die grundsätzliche Fähigkeit des Bausteins beschreiben. Eine Fähigkeit ist beispielsweise die zur Berechnung des Bausteins mögliche Ausführungsplattform.

 Informationen einer Komponente: Eine Komponente setzt sich aus Verhal- tensmodellen unterschiedlichster Simulationsdisziplinen zusammen. Für jedes Verhaltensmodell kann als Partitionierungsparameter die für die Berechnung

des Verhaltensmodells optimale Echtzeit-Ebene definiert werden. Wird die RT- oder NRT-Ebene als Echtzeit-Ebene festgelegt, kann ein spezifischer Simulati- onstakt definiert werden. Darüber hinaus können weitere Informationen, wie z.B. ein Verhaltenskontext definiert werden, um die Partitionierung zu verfei- nern.

 Informationen des Gesamtmodells: Bei der Generierung des Gesamtmo- dells werden Komponenten miteinander gekoppelt und die Steuerungssys- teme mit dem Simulationsmodell verbunden. Aus dem Gesamtmodell kann abgeleitet werden, mit welchem Steuerungssystem eine Komponente verbun- den ist, um daraus die Co-Simulationsnetzwerke festzulegen.

Die Komponentenbibliothek dient als Datenbasis der automatischen Modellgenerierung. Komponentenmodelle bestehen wiederum aus Simulationsbausteinen der Simulations- bibliotheken. Damit die Partitionierungsparameter im generierten Simulationsmodell vor- handen sind, müssen sie bei der Erstellung einer Simulationsbibliothek oder einer Kom- ponente hinterlegt und in der entsprechenden Bibliothek mit abgelegt werden.

Bei der Erstellung eines neuen Simulationsbausteins einer Simulationsbibliothek werden die Partitionierungsparameter, welche die Fähigkeit des Bausteins beschreiben, einmal an- gegeben und im Simulationsbaustein hinterlegt. Bei der Verwendung des Simulationsbau- steins in einer Komponente im Rahmen einer automatischen Modellgenerierung werden die Partitionierungsparameter in den Modellgraph übernommen.

Im Zuge der Komponentenmodellierung werden Verhaltensmodelle aus unterschiedlichen Simulationsdisziplinen zur Beschreibung des Komponentenverhaltens modelliert. Bei der Modellierung eines Verhaltensmodells werden die Partitionierungsparameter angegeben. Bei der Speicherung der Komponente in der Komponentenbibliothek sind die Informatio- nen zu den einzelnen Verhaltensmodellen in der Komponente hinterlegt. Die automati- sche Modellgenerierung übernimmt die Informationen in den Modellgraph. Wie beschrie- ben soll in einem Verhaltensmodell einer Komponente die optimale Echtzeit-Ebene ange- geben werden. Bereits bei der Modellierung muss überprüft werden, ob die in den ver-

hinterlegten Echtzeit-Ebene passt. Ansonsten soll bei der Komponentenmodellierung ein Fehler ausgegeben werden, damit der Modellierer eine passende Simulationsbibliothek wählt.

Spezifische Eigenschaften der individuellen virtuellen Produktionsanlage, welche aus der spezifischen Kopplung der Komponenten zu einem Gesamtmodell entstehen, werden aus dem generierten Gesamtmodell automatisch abgeleitet.

Nach Anforderung 3 (automatisierte Konfiguration der Echtzeit-Co-Simulation) soll das automatisch generierte Simulationsmodell automatisch zur Modellberechnung in einer Echtzeit-Co-Simulationsarchitektur verteilt werden. Es dürfen damit keine manuellen Ein- stellungen am generierten Simulationsmodell benötigt werden. Das Simulationsmodell muss direkt im Anschluss an die Modellgenerierung ablauffähig sein.

Partitionierungsmechanismus: Zur Erzeugung der Partitionen aus dem Gesamtmodell

wird der Modellgraph durchlaufen und anhand der hinterlegten Partitionierungsparame- ter und den aus dem Gesamtmodell abgeleiteten Informationen aufgeteilt. Es werden die nachfolgenden Schritte durchgeführt:

1. Aufteilung in Co-Simulationsnetzwerke (siehe Abbildung 5.14):

Wie beschrieben soll für jedes Steuerungssystem eine eigene Simulationstask auf der Peripherie-Ebene erstellt werden. Für jedes Steuerungssystem entsteht damit

Abbildung 5.14: Zuordnung der Komponenten zu Steuerungssystem und Co-

Simulationsnetzwerk

Steuerungssystem 1 Steuerungssystem 2

Co-Simulationsnetzwerk 1 Co-Simulationsnetzwerk 2

BU BU BU BU

BU … Verhaltensmodell

ein eigenes Co-Simulationsnetzwerk. Der Modellgraph wird auf der Komponen- tenebene hinsichtlich der Peripherie-Signale durchlaufen und jede Komponente dem entsprechenden Co-Simulationsnetzwerk zugeordnet.

2. Aufteilung in Echtzeit-Ebenen (siehe Abbildung 5.15):

In jedem Co-Simulationsnetzwerk werden nun die einzelnen Verhaltensmodelle der zugeordneten Komponentenmodelle durchlaufen und hinsichtlich der in den Verhaltensmodellen hinterlegten Echtzeit-Ebene sortiert (Peripherie-Ebene, RT- Ebene und NRT-Ebene). In jedem Co-Simulationsnetzwerk werden die Teilgraphen mit gleicher Echtzeit-Ebene zu einer Partition zusammengefasst. Es entstehen bis zu drei Partitionen (Peripherie-Ebene, RT-Ebene und NRT-Ebene) in jedem Co-Si- mulationsnetzwerk. Im Rahmen der Komponentenmodellierung wurde bei der An- gabe der Echtzeit-Ebene sichergestellt, dass die hinterlegte Echtzeit-Ebene zu der möglichen Ausführungsplattform verwendeter Simulationsbausteine passt.

Abbildung 5.15: Aufteilung in Echtzeit-Ebenen

3. Verhaltenskontext:

Während auf der Peripherie-Ebene nur eine einzige Simulationstask in jedem Co- Simulationsnetzwerk angelegt werden soll, können die Partition der RT-Ebene und die Partition der NRT-Ebene weiter zerlegt werden. Eine weitere Zerlegung soll vor- genommen werden, falls in den Verhaltensmodellen ein Verhaltenskontext ange- geben wurde. Beispielsweise kann es sinnvoll sein, ein Materialflussmodell in einer eigenen Partition zu berechnen. Hierzu muss z.B. der Verhaltenskontext „Materi- alflussmodell“ in jedem zugehörigen Verhaltensmodell hinterlegt sein.

Co-Simulationsnetzwerk … Partition 2: RT-Ebene … Partition 3: NRT-Ebene … Partition 1: Peripherie-Ebene BU D D D BU D D D … … Simulationsdisziplin D BU … Verhaltensmodell

Abbildung 5.16 stellt in einem Programmablaufplan die diskutierten Schritte der heuristi- schen Modellpartitionierung dar. Tabelle 5.2 stellt dar, welche Partitionierungsparameter in welchem Modellierungsschritt hinterlegt oder aus dem generierten Gesamtmodell ab- geleitet werden.

Abbildung 5.16: Programmablaufplan der heuristischen Modellpartitionierung Unterteilung in drei Partitionen

für die Peripherie-, die RT- und die NRT-Ebene

START Modellpartitionierung

Aufteilung in Co-Simulationsnetzwerke

hinsichtlich der Echtzeit-Ebenen partitionieren alle Co- Simulationsnetzwerke betrachtet? Nein Ja

Erstellung eines Co-Simulationsnetzwerks je gekoppeltes Steuerungssystem

Teilmodelle mit gleichem Verhaltenskontext in eigener Partition

abspalten ENDE Modellpartitionierung Betrachtung der Verhaltenskontexte für RT- und NRT-Ebene 1 2 3

Information

Bei der Erstellung einer Simulations- bibliothek

Bei der Erstellung einer Komponente

Ableitung aus dem ge- nerierten Gesamtmo- dell mögliche Ausführungs- plattform x Echtzeit-Ebene x optimale Simulationstaktung x Verhaltenskontext x1 gekoppeltes Steuerungs- system x Co-Simulationsnetzwerk x

1 notwendige Angabe, falls unter Echtzeit-Ebene RT- oder NRT-Ebene angegeben wurde

Tabelle 5.2: Informationsgewinnung für die heuristische Partitionierung

Konfigurationsparameter: Zur Initialisierung der Simulationstasks müssen für jede Si-

mulationstask die Ausführungsplattform sowie der Simulationstakt definiert werden. Die Ausführungsplattform kann direkt aus der Echtzeit-Ebene bestimmt werden. Die Periphe- rie- und die RT-Ebene werden auf dem RTOS ausgeführt, während die NRT-Ebene unter NRTOS berechnet wird. Innerhalb der einzelnen Partitionen können nun unterschiedliche Angaben zur Simulationstaktung vorliegen. Es wird daher festgelegt, dass immer der schnellste Simulationstakt als Taktung der gesamten Partition übernommen wird. Durch die Verwendung eines Verhaltenskontextes kann bei der Erzeugung einer Komponente sichergestellt werden, dass eine eigene Partition mit vorgegebenem Simulationstakt er- zeugt wird. In Kapitel 5.3.3.2 wurde angemerkt, dass die Simulationstakte der einzelnen Partitionen ein Vielfaches voneinander sein müssen, falls Koppelsignale miteinander aus- getauscht werden. Ausgehend von der Taktung der Simulationstask auf der Peripherie- Ebene werden im letzten Schritt die Simulationstakte so variiert, dass sie ein Vielfaches ergeben.

Im Dokument Plattform zur Echtzeit-Co-Simulation für die virtuelle Inbetriebnahme (Seite 103-109)