How to make a continous csv export in Simulink

33 visualizaciones (últimos 30 días)
Damien Pecher
Damien Pecher el 17 de Feb. de 2023
Comentada: Damien Pecher el 21 de Feb. de 2023
Hi,
I have a Simulink model that runs for an infinite time in time steps of 1 second.
The Simulink model generates some setpoints for another application that needs to be published in a CSV file.
The idea is that Simulink writes and overwrites its calculated setpoints to a CSV file after each time step of 1 second.
I struggle to find a way to achieve this, can somebody help with this?
Regards,
Damien
  2 comentarios
Damien Pecher
Damien Pecher el 20 de Feb. de 2023
Thanks for your answer Mili,
Unfortunately I found the 2 links you mentioned already by myself before my post and this didn't really help me...
I need to export the data to a CSV file after each step and not only at the end of the simulation.
In addition the CSV may only have 1 line of data with the data being overwiritten after every step.

Iniciar sesión para comentar.

Respuestas (1)

Anshuman
Anshuman el 20 de Feb. de 2023
Hi Damien,
To my understanding you are trying to export the result of simulation of a Simulink model to a CSV file after every time step. There is no direct way to export simulation results to a CSV file but there are some possible workarounds.
1. To File block - This block writes your signal data to a MAT file and keep overwriting it until the simulation stops.
You can refer to this link for more detail:
Later you can convert that MAT-file to a csv file:
FileData = load('FileName.mat');
csvwrite('FileName.csv', FileData.M);
2. You can also try logging your signal data (right-click the signal and select Signal Properties) and now when you run the model and then click on Data Inspector in Review Results tab in Simulation strip, there you can find an option to export your data in a MAT-file, which you can convert into a csv file by the above approach.
Hope this helps!
  1 comentario
Damien Pecher
Damien Pecher el 21 de Feb. de 2023
Hi Anshuman,
Thanks for your input, i tried the 'To File' block before but the issue with that is that it writes a time series data with a new line after every time step.
For my application I would need only one value in the MAT file that updates after every time step.
My simulink model will run for an infinite time and calculate setpoints to control an inverter. I need to somehow export the calculated setpoints by Simulink in real time to be able to use those setpoints in a Python script...
I was expecting this to be no issue at all but this seems not so easy to achieve?

Iniciar sesión para comentar.

Etiquetas

Productos


Versión

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by