title: Analysis of coupling strategies and protocols for co-simulation
Creators: name: Pühringer, Clemens
Publisher: name: TU Wien
Year: 2017
Subjects: subject: Co-Simulation
subject: Kopplungsstrategien
subject: SOAP
subject: OPC UA
subject: Co-Simulation
subject: Coupling Strategies
subject: SOAP
subject: OPC UA

description: Computersimulationen werden immer komplexer. Kontinuierliche und diskrete Modelle benötigen zur Simulation von Grund auf verschiedene Ansätze. Derzeit existierende Simulationsanwendungen unterstützen meist nur eine der beiden Methoden und bieten keine oder nur sehr eingeschränkte Unterstützung für die andere. Mithilfe der Co-Simulation kann ein Modell in mehrere Teile aufgeteilt werden. Diese Teile können anschließend mit unterschiedlichen Methoden und Anwendungen simuliert werden, welche zur Laufzeit Daten austauschen. Den derzeit verfügbaren Herangehensweisen fehlt es an Flexibilität. Viele der existierenden Frameworks sind schwierig zu verwenden oder wurden nur für eine spezielle Anwendung erstellt. Um die Implementierung von Co-Simulationen einfacher zu gestalten, benötigt es leichter zu handhabende und flexiblere Werkzeuge. Diese Arbeit präsentiert einen Vergleich verschiedener Kopplungsstrategien und Kommunikationsprotokolle für Co-Simulation. Zu diesem Zweck wurde ein Co-Simulations-Framework implementiert, das Matlab/Simulink und OpenModelica unterstützt. Daten zwischen den Simulationen werden mit dem Simple Object Access Protocol (SOAP) und dem OPC Unified Architecture (OPC UA) binary Protokoll ausgetauscht. Diese Protokolle wurden aufgrund ihrer hohen Flexibilität und Erweiterbarkeit gewählt. Mit beiden Ansätzen ist es möglich, strukturierte Daten einfach zu transportieren. Das Framework unterstützt desweiteren weak und dynamic Coupling-Strategien. Obwohl weak coupling in Co-Simulationen ungenauer ist, wird es derzeit am häufigsten verwendet. Dem liegt zugrunde, dass andere Kopplungsstrategien oft wesentlich schwieriger zu implementieren und zu verweden sind. Im Zuge dieser Arbeit werden die Genauigkeit und die Geschwindigkeit verschiedener Kopplungsstrategien verglichen. Als Proof-of-Concept wurde ein bestehendes Modell zur Simulation industrieller Energieeffizienz verwendet. Das Modell wurde in einen thermischen Teil und einen maschinellen Teil aufgeteilt. Der thermische Teil wird in Matlab/Simulink simuliert und beinhaltet Energieversorgung und Wärmeausbreitung innerhalb von vier thermischen Zonen eines Gebäudes. Der maschinelle Teil wird in OpenModelica simuliert und beinhaltet Maschinen, die elektrische Energie in thermische Energie umwandeln und abgeben. Im Zuge der Co-Simulation tauschen diese beiden Simulationen elektrische Energie und Wärmeenergie miteinander aus. Dies zeigt den Effekt verschiedener Kopplungsstrategien anhand der Verzögerung des Energieaustausches. Die Ergebnisse der Co-Simulation werden mit Ergebnissen eines Referenzmodells verglichen und zeigen eine zufriedenstellende Übereinstimmung. Die Übereinstimmung ist nicht exakt, zeigt aber, dass sich die Ergebnisse durch die Reduzierung der Makro-Schrittweite an die originalen Ergebnisse annähern. Desweiteren wird demonstriert, dass dynamic coupling bei gleicher Makro-Schrittweite wesentlich genauere Ergebisse liefern kann als weak coupling. Dies zeigt, dass dynamic coupling durchaus das Potential hat schneller als weak coupling zu agieren.
description: Computer simulations are becoming increasingly complex. Different simulation techniques are needed to correctly simulate systems that consist of both continuous and discrete components. Current simulation tools offer support for either one or the other, but only limited or no support for both at the same time. By using co-simulation, a model can be split into multiple parts, which can then be simulated by different tools and methods and exchange data at runtime. Current co-simulation approaches are either hard to use in a custom co-simulation setup or are only designed for a very specific use-case. More flexible tools are needed to simplify the separation of a model into multiple parts. This thesis presents a comparison of different coupling methods and protocols for data exchange in a co-simulation setup. For this purpose, a new co-simulation framework was developed which supports Matlab/Simulink and OpenModelica simulations and exchanges data via the Simple Object Access Protocol (SOAP) and OPC Unified Architecture (OPC UA) binary protocol. These high-level protocols were chosen due to their flexibility. Both allow to transport structured information and can be extended easily. Also, the framework is designed to handle weak and dynamic coupling methods. In current co-simulation setups, weak coupling is usually preferred even though it is less accurate. It is mainly used because dynamic coupling takes longer to implement and are harder to use. The different coupling methods are compared to each other in terms of speed and accuracy. As a proof-of-concept, an existing model for simulating industrial energy efficiency was split into two parts and simulated with the framework. The first part of the model consists of a building with thermal zones and an energy supply system. It is simulated in Matlab/Simulink and manages energy and heat distribution. The second part of the model manages machines that convert electrical energy into heat, it is simulated in OpenModelica. In the co-simulation, both model parts exchange energy and other information with each other and thereby demonstrate the effects of different coupling methods due to communication delays. The results of the co-simulation are validated with existing results of a reference implementation and show a satisfactory outcome. While not exact, they demonstrate that the results of the co-simulation converge towards the original results when reducing the macro-step size. They also show that dynamic coupling methods are far more accurate than the widely used weak coupling methods and may even provide better results in less time.