Developing a modular simulation tool capable of simulating electric vessels in real-time
Kettunen, Aleksi (2023)
Diplomityö
Kettunen, Aleksi
2023
School of Energy Systems, Sähkötekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe202301051550
https://urn.fi/URN:NBN:fi-fe202301051550
Tiivistelmä
The aim of this thesis was to design and develop a simulation tool capable to simulate electric vessels, with various component configurations, in real-time. Thesis was done for Danfoss Editron. Simulation tool was to be capable to represent a physical vessels inputs and outputs in software, with the aim of saving costs in the testing and deployment of electric vessel management software, running on Beckhoff PLCs. Python was chosen as the programming language of the simulation tool, and simulations were done using Functional Mock-up Units (FMUs). Simulation models were developed using MathWorks Simulink. Operational simulation accuracy was targeted for the simulation tool, along with configurability and modularity. This was to allow for different electric vessel configurations. As the aim was to achieve real-time simulation speed, was simultaneous multiprocessing of Python programming language utilized. Simulation tool development was separated into 3 segments. Logic simulation segment was into represent the logic and represent inverters to the PLCs. Logic simulator communicates with the PLCs using Automatic Device Specification (ADS). Electric simulation segment executed all the dynamics simulations. For switching-type circuits, such as inverters and converters, was duty-cycle based approximation applied, to achieve real-time calculation speed. Calcutation speed was also improved upon, by segmenting simulations to different processes, where simulation blocks would only communicate with certain intervals. Graphical user interface (GUI) was developed for end-user to interact with the simulation tool. The results from the simulation tool where compared against results from a real world vessel, where operational accuracy of the simulation tool was validated. Simulation tool as an entity can be considered fulfilling its requirements, and a good foundation to build upon. Performance results of simulation tool implicates that the type of approach with different communication intervals in simulations can achieve major simulation time improvements and similar methodologies could be utilized in simulations, where accuracy is not the most important factor. Tämän diplomityön tavoitteena oli suunnitella ja kehittää simulointityökalu, joka kykenee simuloimaan sähköisiä aluksia ja niiden erilaisia variaatioita reaaliajassa. Diplomityö tehtiin Danfoss Editron Oy:lle. Simulointityökalun tulisi kyetä esittämään fyysisen aluksen rajapintaa, tavoitteena vähentää aluksen ohjausjärjestelmän testaamiseen ja käyttöönottoon kuluvia kuluja. Ohjausjärjestelmän alustana toimi Bechkhoff:n valmistamat PLC:t. Työkalun ohjelmointikieleksi valittiin Python. Simulaatiot toteutettiin Functional Mock-up Unit (FMU):lla. Simulaatiomallit kehitettiin MathWorks Simulink:lla. Simulaation tarkkuusvaatimukseksi asetettiin toiminnallinentarkkuus. Simulaatio työkalun tulisi myös olla modulaarinen, sekä helposti muunneltavissa eri alusprojektien tarpeisiin. Jotta reaaliaikaisuus olisi saavutettavissa, samanaikaista moniydin prosessointia hyödynnettiin kehityksessä. Simulointityökalu voidaan jakaa kolmeen osa-alueeseen. Logiikkasimulaattori vastaa logiikan ja inverttereiden emuloimisesta PLC:lle. ADS-kommunikointiprotokollaa käytettiin kommunikointiin PLC:n kanssa. Dynamiikkasimulaattori vastasi dynamiikan simuloinnista. Simuloinnin nopeutta parannettiin ajamalla eri komponentit eri prosesseissa. Nämä prosessit kommunikoivat keskenään tietyin aikavälein. Graafinen käyttöliittymä kehitettiin, työkalun ja käyttäjän väliseen vuorovaikutukseen. Simulointityökalun lopputuloksia verrattiin oikeaan alukseen. Vertailun pohjalta voitiin työkalun toiminnallinen tarkkuus varmistaa. Simulointityökalun voidaan todeta täyttävän sille asetetut vaatimukset. Simulointityökalu on myös hyvä pohja tulevaa kehitystyötä varten. Simulointityökalun suorituskyvyn perusteella voidaan myös todeta, että on mahdollista saavuttaa merkittäviä simulaatioaika vähennyksiä. Samankaltaisia metodeja voitaisiin käyttää simulaatioissa, missä simulaation tarkkuus ei ole sen pääprioriteetti.