Openmodelica Interactive Simulation Using an OPC UA Client
Total Page:16
File Type:pdf, Size:1020Kb
Linköping University | Department of Computer and Information Science Bachelor thesis, 16 ECTS | Datateknik 2017 | LIU-IDA/LITH-EX-G--17/038--SE OpenModelica Interactive Simulation using an OPC UA client Christoffer Fors Johansson Supervisors : Adeel Asghar, Martin Sjölund Examiner : Bernhard Thiele Linköpings universitet SE–581 83 Linköping +46 13 28 10 00 , www.liu.se Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under 25 år från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns lösningar av teknisk och admin- istrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sam- manhang som är kränkande för upphovsmannenslitterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/. Copyright The publishers will keep this document online on the Internet – or its possible replacement – for a period of 25 years starting from the date of publication barring exceptional circum- stances. The online availability of the document implies permanent permission for anyone to read, to download, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional upon the con- sent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping Uni- versity Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www home page: http://www.ep.liu.se/. c Christoffer Fors Johansson Abstract Simulating a model of a complex physical system can be useful in order to obtain a deeper understanding of the system. OpenModelica is an open-source, modeling and simulation environment in which such a simulation could be performed. This thesis presents a design and implementation of an interactive simulation prototype for the OpenModelica Connection Editor. After an investigation of the possibilities in the current OpenModelica environment, several requirements were determined about how interactive simulation should look and work. A prototype was developed based on these requirements. As a result, the prototype can act as a base for applying further functionality to the interactive simulation in both parallel and future works. Acknowledgments I would like to thank my supervisor Martin Sjölund for the opportunity to do this thesis. Your constructive comments and shared knowledge throughout the work have been greatly appreciated. I would also like to express my gratitude to my supervisor Adeel Asghar for your expertise and ideas. Your thoughts and comments during our meetings was always great, even if the weather somehow almost always were horrible. Last but not least I would like to thank my examiner Bernhard Thiele for your ability to always be there, solving problems and pointing me in the right direction. A big thank you to all three. In addition, I would like to acknowledge my opponent Ivar Grahn for your dedication and insightful comments about this thesis. iv Contents Abstract iii Acknowledgments iv Contents v List of Figures vii List of Tables viii 1 Introduction 1 1.1 Justification . 1 1.2 Thesis purpose . 3 1.3 Research question . 3 1.4 Scope . 3 2 Theory and Related Work 4 2.1 Simulation and modeling of systems . 4 2.2 Usability . 5 2.3 User experience . 6 2.4 Evaluation techniques . 6 2.4.1 Heuristic evaluation . 7 2.4.2 Cognitive walk-through . 7 2.4.3 Questionnaires . 7 2.5 OpenModelica environment . 7 2.5.1 OPC Interfaces . 9 2.5.2 OMCompiler . 11 2.5.3 OMPlot . 12 2.5.4 OMEdit . 13 3 Method 16 3.1 Pre-study . 16 3.2 Implementation . 17 3.3 Evaluation . 17 4 Results 19 4.1 Pre-study . 19 4.2 Implementation . 23 4.3 Evaluation . 33 5 Discussion 34 5.1 Results . 34 5.2 Method . 35 v 5.3 Source criticism . 35 5.4 The work in a wider context . 36 6 Conclusion 37 Bibliography 38 vi List of Figures 1.1 Diagram view of a NAND gate in OMEdit. 2 1.2 Simulation result, plotted values of the variables x1, x2 and y. ............ 2 2.1 Simulation overview. 5 2.2 Usability overview. 6 2.3 An OPC UA client and server communicating over a network. 9 2.4 UaExpert connected to the embedded simulated server, simulating the model Switch. 10 2.5 Running the simulation executable with the flag -embeddedServer=opc-ua from com- mand line. 12 2.6 Result red from a .mat file, plotted using OMPlot. 12 2.7 An overview of OMEdit and options available for the BouncingBall model. 13 2.8 Variables Browser, a graphical representation of the red variables in the .mat result file after a successful simulation of the model BouncingBall. 14 2.9 Simplified overview of the relationship between the OpenModelica tools OMC, OMEdit and OMPlot. Thin arrows denotes flow control and data. Fat arrows denotes generation. 15 4.1 Functionality added to OMPlot. 20 4.2 QwtPlotPicker used during an interactive simulation pause. 20 4.3 UaExpert connected to the embedded simulation server, browsing the time node. 22 4.4 Interactive simulation icon. 23 4.5 Fetched variables from the embedded simulation server presented to the user. 23 4.6 OMEdit possible memory management improvement. 24 4.7 Y-axis auto scale mechanism. 25 4.8 Simulation speed box expanded with suggested values. 25 4.9 Difference between a standard and an interacitve plot window. 26 4.10 Subscription back-end. 27 4.11 Step driven back-end. 28 4.12 Value interaction. 30 4.13 Relationship between the interactive plot window, the variables browser item and the simulation output widget. 31 4.14 Interactive simulation option integrated in the simulation setup. 32 vii List of Tables 4.1 Prototype requirements evaluated one by one. 33 viii 1 Introduction One great benefit of our time is the fast development of technology. One can argue that major progress in areas like robotics, biomechanics, automotive and aircrafts have and will change the way humans live their lives. However, technology itself has in some cases become so complex that sometimes studying how to study is a viable approach in order to fully un- derstand how things work. Some researchers may even ask the question why things work, which has also proven to be a difficult and important question to answer. For obtaining a deeper understanding of a complex physical systems, simulation can be applicable. Simulation gives the opportunity to investigate situations which might be too dangerous, too expensive or taking too much time or in real life. It is also possible to invent and test completely new, not yet existing systems while avoiding unwanted disruption from the surroundings. How can one create simulations for complex physical systems? One way is Modelica. Modelica is a declarative, object-oriented, modeling language mainly focused on describing complex physical systems. OpenModelica is an open-source, modeling and simulation en- vironment based on Modelica. The environment aims to provide helpful tools for studying those complex physical systems in detail. Simulation is not a strict definition. Exactly how a simulation should work and what in- formation to display, as well as when and how, is not regulated. Once approach is interactive simulation. The idea is that the user should be able to interact with the simulation while running and display relevant information and do modifications to it. 1.1 Justification It is fully possible to manage models and run simulations through OMEdit (OpenModelica Connection Editor). A model of a complex system can be simulated. Once the simulation is finished, values of variables are ready to be plotted and fetched to see how they changed during the simulation. Let us take an example from the Modelica Standard Library [13]. Figure 1.1 illustrates a graphical representation of the electrical component NAND. 1 1.1. Justification Figure 1.1: Diagram view of a NAND gate in OMEdit. Depending on the input signals x1 and x2, y will change its value according to the defini- tion of a NAND gate. This situation can also be simulated to show that the model behaves as expected. Figure 1.2 plots the values x1, x2 and y over time. However, at the time when the values are plotted, the simulation is over. A more intuitive way of learning and studying how a NAND gate works would be to follow the values in real-time. This way gives the opportunity to see when values change and why. Adding an interactive part would be useful as well. When a value is starting to change, the ability to pause the simulation could be helpful to catch up the ongoing scenario. Figure 1.2: Simulation result, plotted values of the variables x1, x2 and y. Remember that the previous example given is for a very specific electronic component.