Running python script in C S-function Simulink

I have been trying to run python scripts in matlab using the matlab function "system", but it gives me the output at the end of the script execution. I wanted to extract that output in real-time to proccess it in Simulink, so, is there any way to implement it for that purpose in a C-Sfunction?
That script uses variables from different python scripts and sends the output via print and not return.

Respuestas (1)

Yongjian Feng
Yongjian Feng el 5 de Jul. de 2021

0 votos

Can you change your python code to write to a file? Then your matlab code can read from the file to get the output.

3 comentarios

I tried this, but if I read the file while the script is executing (using csvread), it stops its execution because another proccess is using it, so it can no longer write in that file to be read by matlab, being impossible to do real-time proccessing.
Yongjian Feng
Yongjian Feng el 6 de Jul. de 2021
Use that as a lock. The python code needs a while-loop to wait for the file to be available to write. Same thing in the matlab code. Use a while loop to wait for the file to be avaliable to read. Both side shall release the handle once it is done with reading/writing.
I will try this. Is there any way to share a boolean variable between the python script and matlab to sinchronize the avalaibility of reading/writing, or any other way to tell the other side that they are done?

Iniciar sesión para comentar.

Categorías

Productos

Versión

R2020a

Preguntada:

el 5 de Jul. de 2021

Comentada:

el 6 de Jul. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by