Digital twin model for a gas turbine
Lehtomäki, Aleksi (2024)
Diplomityö
Lehtomäki, Aleksi
2024
School of Energy Systems, Energiatekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2024041919450
https://urn.fi/URN:NBN:fi-fe2024041919450
Tiivistelmä
Yrityksen tavoite on kehittää digitaalinen kaksonen, jonka ensimmäinen suora käyttökohde on automaatio-ohjelman testaaminen virtuaalisesti kehitystyön aikana. Dynaaminen prosessimalli, jonka päälle on myöhemmässä vaiheessa mahdollista rakentaa käyttödataan perustuvaa digitaalisen kaksosen toiminnallisuutta sopii automaatiokehityksen tarpeisiin. Mallin sujuva ja helppokäyttöinen liitettävyys automaatiokehitysympäristö TwinCATiin on tärkeä ominaisuus.
Mallin toteutustavaksi valikoitui OpenModelicalla luodun Modelica-kielisen mallin käyttö Functional Mockup Interface -standardia käyttäen. Myöhemmässä vaiheessa TwinCAT-kommunikaation toteutustapa tarkentui Python-ohjelmaan, joka suorittaa simulaation ja TwinCAT-tiedonvaihdon rinnakkain erillisissä prosesseissa.
Mallin rakentamisessa tärkeintä oli kaksiakselisen välijäähdytetyn ja rekuperoidun kaasuturbiinin akselien mekaanisen liitoksen ja akselien välisen virtauksellisen liitoksen yhteensovittaminen luotettavasti ja vakaasti. Kehitysprosessi oli iteratiivinen ja kokeileva valmiin tiedon vähäisen määrän vuoksi.
Kehitystyö toimintavarmaksi suorituskykyiseksi ohjelmaksi yksinkertaisesta toteutustavan kelpoisuuden todistavasta kommunikaatioskriptistä toteutettiin käyttämällä vakiintuneita kirjastoja ja käytäntöjä.
Työn lopputuloksena on kommunikaatio-simulaatio-ohjelma, joka käyttää vapaavalintaista vaaditut muuttujat sisältävää Functional Mockup Unitia ja välittää automaation ohjaussignaalit ja simulaation askelittaiset tulokset ristikkäin tihein välein ja pitää simulaation reaaliajassa automaation ohjaamana. The company needs a digital twin model. The first use for the model is to test automation software during development. For this need, a dynamic physics model with the option of building data-driven digital twin functionality as an extension was chosen. Connectivity with TwinCAT was crucial.
Implementation of the model was chosen to be written in Modelica using OpenModelica as the software. For connectivity, using Functional Mockup Interface was chosen for modelling software independency. The eventual connectivity solution was a Python program that runs the simulation and communication processes in parallel.
While modelling a two-shaft intercooled recuperated gas turbine, the mechanical link in shafts and fluid dynamical link between shafts was important to model in a numerically stable and robust way. The development path was iterative and experimental as readily available information was limited.
The development from a simple proof-of-concept communicator program into a stable and performing program was done with established Python libraries, principles and practices.
The result of this thesis is a communication-simulation program that simulates a user chosen Functional Mockup Unit that has the minimal required set of variables. Program exchanges simulation and control data between the unit and the automation in fast cycles while maintaining real time simulation controlled by automation.
Mallin toteutustavaksi valikoitui OpenModelicalla luodun Modelica-kielisen mallin käyttö Functional Mockup Interface -standardia käyttäen. Myöhemmässä vaiheessa TwinCAT-kommunikaation toteutustapa tarkentui Python-ohjelmaan, joka suorittaa simulaation ja TwinCAT-tiedonvaihdon rinnakkain erillisissä prosesseissa.
Mallin rakentamisessa tärkeintä oli kaksiakselisen välijäähdytetyn ja rekuperoidun kaasuturbiinin akselien mekaanisen liitoksen ja akselien välisen virtauksellisen liitoksen yhteensovittaminen luotettavasti ja vakaasti. Kehitysprosessi oli iteratiivinen ja kokeileva valmiin tiedon vähäisen määrän vuoksi.
Kehitystyö toimintavarmaksi suorituskykyiseksi ohjelmaksi yksinkertaisesta toteutustavan kelpoisuuden todistavasta kommunikaatioskriptistä toteutettiin käyttämällä vakiintuneita kirjastoja ja käytäntöjä.
Työn lopputuloksena on kommunikaatio-simulaatio-ohjelma, joka käyttää vapaavalintaista vaaditut muuttujat sisältävää Functional Mockup Unitia ja välittää automaation ohjaussignaalit ja simulaation askelittaiset tulokset ristikkäin tihein välein ja pitää simulaation reaaliajassa automaation ohjaamana.
Implementation of the model was chosen to be written in Modelica using OpenModelica as the software. For connectivity, using Functional Mockup Interface was chosen for modelling software independency. The eventual connectivity solution was a Python program that runs the simulation and communication processes in parallel.
While modelling a two-shaft intercooled recuperated gas turbine, the mechanical link in shafts and fluid dynamical link between shafts was important to model in a numerically stable and robust way. The development path was iterative and experimental as readily available information was limited.
The development from a simple proof-of-concept communicator program into a stable and performing program was done with established Python libraries, principles and practices.
The result of this thesis is a communication-simulation program that simulates a user chosen Functional Mockup Unit that has the minimal required set of variables. Program exchanges simulation and control data between the unit and the automation in fast cycles while maintaining real time simulation controlled by automation.
