Auslagerung von Teilmodellen

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

5.3 Parallelisierung der Modellberechnung

5.3.3 Echtzeit-Ebenen und Steuerungskopplung

5.3.3.1 Auslagerung von Teilmodellen

In diesem Kapitel soll betrachtet werden, ob und unter welchen Bedingungen die in Röck 2007 definierten Anforderungen für spezifische Teilmodelle bei der Realisierung einer Echtzeit-Co-Simulation abgeschwächt werden dürfen.

Simulationstaktung: Zur Realisierung einer verlustfreien und zeitsynchronen Kommuni-

(Steuerungs-Eingang) verarbeitet werden kann. Hierfür muss nach Röck in einer geschlos- senen Simulationsarchitektur die Simulationstask im Takt des Steuerungssystems berech- net werden. Für eine Echtzeit-Co-Simulationsarchitektur bedeutet dies, dass zumindest eine Simulationstask die gleiche Taktung wie das Steuerungssystem besitzen muss. Es wird festgelegt, dass je Steuerungssystem eine einzelne Simulationstask die vollständige Kommunikation mit dem Steuerungssystem übernimmt und die verlustfreie und zeitsyn- chrone Kommunikation zwischen Steuerung und Simulation sicherstellt. Sind mehrere Steuerungssysteme mit dem Simulator verbunden, soll je Steuerungssystem eine eigene Simulationstask für die Kommunikation verwendet werden. Zur Realisierung der Echtzeit- Co-Simulationsarchitektur sollen anschließend Teilmodelle aus der mit dem Steuerungs- system gekoppelten Simulationstask in weitere Simulationstasks ausgelagert werden. Je Steuerungssystem entsteht somit ein eigenes Co-Simulationsnetzwerk.

Durch die mit dem Steuerungssystem gekoppelte Simulationstask ist sichergestellt, dass jedes Steuerungssignal verlustfrei und zeitsynchron vom Simulator empfangen wird. Im Weiteren wird nun untersucht, ob für alle Teilmodelle auch die Verarbeitung des Steue- rungssignals zwingend im Takt des Steuerungssystems zu erfolgen hat. Ein Teilmodell muss der mit dem Steuerungssystem gekoppelten Simulationstask zwingend zugeordnet und damit im Takt des Steuerungssystem simuliert werden, wenn folgende Bedingungen an das Teilmodell gestellt werden:

 Reaktion innerhalb eines Steuerungstakts erforderlich: Wenn davon auszu- gehen ist, dass ein Teilmodell innerhalb eines Steuerungstakts auf ein Peripherie- Signal eine passende Simulationsantwort senden muss, ist eine Simulation im Takt des Steuerungssystems erforderlich. Dies ist beispielsweise bei der Simulation des Zustandsmodells einer Antriebsfirmware oder bei der Simulation des Sensorverhal- tens bei sehr schnellen Materialflussanwendungen der Fall.

 Erforderliche Schrittweite ≤ Steuerungstakt: Wenn bei der Abbildung des Ver- haltens davon auszugehen ist, dass innerhalb eines Steuerungstakts eine Änderung im Modell zu erwarten ist, die bei einer langsameren Simulationstaktung nicht er-

kannt wird, muss die Simulation im Takt des Steuerungssystems erfolgen. Beispiels- weise kann in einer speziellen Simulationsszene die Kollisionsüberprüfung eine Kol- lision fälschlicherweise nicht erkennen, falls die Objekte sich für die gewählte Schrittweite zu schnell bewegen.

Geht man davon aus, dass eine Simulationstask die verlustfreie und zeitsynchrone Kom- munikation zwischen Steuerung und Simulation gewährleistet und damit die Anforderun- gen nach Röck erfüllt, so lassen sich einzelne Teilmodelle in weiteren Simulationstasks auslagern, wenn:

 Keine Notwendigkeit zur Reaktion innerhalb eines Steuerungstakts be-

steht: Wenn davon auszugehen ist, dass keine Notwendigkeit besteht innerhalb

eines Steuerungstakts auf ein Peripherie-Signal eine passende Simulationsantwort zu senden, kann ein Teilmodell in einer langsamer getakteten Simulationstask be- rechnet werden.

 Steuerung verzeiht Totzeit: Falls eine Rückmeldung nicht zwingend inner- halb eines Steuerungstakts erforderlich ist, kann das entsprechende Teilmo- dell langsamer getaktet werden. Während bei Antriebsmodellen oft eine direkte Reaktion des Simulators erforderlich ist, kann bei langsamen Mate- rialflüssen das Materialflussmodell in einem Vielfachen des Steuerungstakts berechnet werden.

 Unidirektionale Kommunikation: Liegt der Fokus weniger darauf, dem Steu- erungssystem die passenden Antwortsignale zu senden, sondern darauf, die Wirkung der Steuerungstechnik auf den Prozess zu beleuchten oder sendet der Prozess keine Rückmeldung an das Steuerungssystem (z.B. bei einer Abspansimulation), so kann durch ein, aufgrund der langsameren Taktung präziseren Modells, das Ziel der Simulation erreicht werden. Eine Berechnung im Takt des Steuerungssystems ist in diesem Fall nicht zwin- gend erforderlich.

gewünschten Modelltiefe möglich ist, ist die Einbindung eines Teilmodells mit lang- samerer Taktung sinnvoll.

 Modellungenauigkeit aufgrund des Steuerungstakts: Eine Simulation bildet generell die Realität idealisiert nach. In Kapitel 3.1 wurden die Grenzen der Modelltiefe dargestellt und gezeigt, dass manches Verhalten aktuell im Takt des Steuerungssystems nicht berechenbar ist. Es ist also grundsätzlich mög- lich bei der Simulation eines Teilmodells mit einer langsameren Taktung aber dafür einer höheren Modelltiefe die Realität präziser abzubilden als mit einer schnelleren Taktung aber dafür einer geringeren Modelltiefe.

 Keine Abbildung möglich aufgrund des Steuerungstakts: In vielen Fällen ist die zu wählende Idealisierung für eine Simulation im Takt des Steuerungs- systems derzeit so hoch, dass keine Aussagen zum Prozessverhalten getrof- fen werden können.

Ausführungsplattform: Die Anforderung nach einer Ausführung der Modellberech-

nung als Echtzeit-Task auf einem RTOS resultiert aus der Anforderung, eine verlustfreie und zeitsynchrone Kommunikation mit dem Steuerungssystem auch bei Steuerungstakten von ≤ 1 ms verlässlich zu gewährleisten. Geht man nun davon aus, dass eine Simulations- task die Einhaltung dieser Anforderung gewährleistet und man für spezifische Teilmodelle den Simulationstakt reduziert, stellt sich die Frage, ob die Ausführungsplattform der wei- teren Simulationstasks im Echtzeit-Co-Simulationsnetzwerk zwingend ein RTOS sein muss. Zur Erfüllung der Reproduzierbarkeit eines Simulationslaufs (Anforderung 5.2: Takt- genaue Reproduzierbarkeit von Simulationsläufen) muss gewährleistet werden, dass der Simulator auf Steuerungssignale stets mit demselben Antwortverhalten reagiert. Bei der Echtzeit-Co-Simulation kann nun diese Anforderung auf die Koppelsignale zwischen den Simulationstasks erweitert werden. Zwischen den einzelnen Simulationstasks müssen die Koppelsignale taktgenau reproduzierbar sein. An alle Simulationstasks in der Echtzeit-Co- Simulation werden damit harte Echtzeitanforderungen gestellt. Für eingebundene NRTOS-Simulationstasks bedeutet dies, dass auch bei variierenden Antwortzeiten mit ei- ner rechtzeitigen Rückmeldung der Simulationsergebnisse zu rechnen ist. Dies ist bei der Modellierung des Teilmodells und der Festlegung der Zykluszeit zu berücksichtigen.

Für die Ausführungsplattform einer Simulationstask kann somit definiert werden, dass Teilmodelle auch in einer NRTOS-Simulationstask berechnet werden können, wenn die Zykluszeit der Simulationstask für eine NRTOS-Umgebung ausreichend gewählt und damit mit einem rechtzeitigen Antwortverhalten zu rechnen ist.

Eingesetzte Algorithmen: Allgemein gilt, dass nur deterministische Algorithmen einge-

setzt werden dürfen, um die Reproduzierbarkeit eines Simulationslaufs zu gewährleisten. Während bei der Berechnung auf dem RTOS mit kleinsten Zykluszeiten ausschließlich zeit- deterministische Algorithmen eingesetzt werden dürfen, um die Einhaltung der Simulati- onstakte sicherzustellen, können bei langsamer getakteten Simulationstasks auch variable Simulationszeiten akzeptiert werden, solange mit der Einhaltung der definierten Antwort- zeiten und damit der maximal zur Verfügung stehenden Berechnungszeit zu rechnen ist. Die Koppelsignaleingänge im Co-Simulationsnetzwerk müssen zwingend rechtzeitig vor- liegen, um die Reproduzierbarkeit eines Simulationslaufs zu gewährleisten.

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