Package to import timeseries from a saved SDI Session (.mldatx
-file) to julia.
Main entry point is the read_data
function. Given a SDI state as mldatx
file
data.mldatx
with contents
├─ "Synced Voltage Setpoint Change"
│ ├─ "Run 1: Converter_Model @ TargetPC1"
│ │ ├─ "U_INV_dq"
│ │ └─ "I_INV_dq"
│ └─ "Run 2: Converter_Model @ TargetPC2"
│ ├─ "U_INV_dq"
│ └─ "I_INV_dq"
└─ "Synced Current Setpoint Change"
├─ "Run 4: Converter_Model @ TargetPC1"
| ├─ "U_INV_dq"
| └─ "I_INV_dq"
└─ "Run 5: Converter_Model @ TargetPC2"
├─ "U_INV_dq"
└─ "I_INV_dq"
the command
read_data(data.mldatx, [r"Voltage", "Run 1", "U"])
will launch MATLAB in the background, export the timeseries to data.export
folder in CSV format and return a DataFrame
of the U_INV_dq
signal. If the
cached CSV is already available, it reads the CSV directly which is reasonably
fast.
The matlab
command(path) and the flags can be changed by changing
SimulinkSDIImporter.MATLAB_EXEC
and SimulinkSDIImporter.MATLAB_FLAGS
.
Its possible launch the SDI to check the data without opening the MATLAB SDI
using show_sdi(file)
.
show_structure(file)
prints a tree of all signals in the file.
Per default, the data within basedir/example.mldatx
will be exported to basedir/example.mldatx.export
.
However, if the basedir contains a directory called sdi_exports
, the exported data will be stored in basedir/sdi_exports/example.mldatx.export
.
Tested with MATLAB 2022b for with data recorded from a SpeedGoat Realtime Computer using a MacOS and Linux.