This thread presents three example models that use scripted co-simulation in PLECS to modify thermal or electrical parameters during runtime. All examples demonstrate similar scripting concepts but target different applications.
Rg_change
The simulation runs until a specified current threshold is reached. At that point, the simulation is paused, all states are saved, and the IGBT parameters Rgon and Rgoff are updated. The run then continues until a second (adjusted) current threshold is reached, where it stops again.
thermal_domain_tutorial.plecs (31.1 KB)
simulation_script.py (1.5 KB)
C3M0120090D.xml (7.7 KB)
C3D08060A.xml (2.4 KB)
thermal_chain
Instead of using a current threshold, the thermal chain parameters are overwritten after a fixed simulation time.
buck_converter_with_thermal_model.plecs (29.5 KB)
simulation_script.py (1.3 KB)
IGBT.xml (3.2 KB)
Diode.xml (2.6 KB)
xml_values
Uses an IGBT subsystem with an additional Thermal Chain tab.
-
If left empty, values are taken from the associated XML file.
-
If specified, they override the XML values in the mask initialization (
Ctrl+M→ Initialization).
A script simulates for a given time, then overwrites the thermal chain and continues the run.
buck_converter_with_thermal_model.plecs (36.5 KB)
simulation_script.py (1.4 KB)
IGBT.xml (3.2 KB)
Diode.xml (2.6 KB)
Tip
For easier access to XML files, place them in a subfolder in the same location as the .plecs file, and name the subfolder <MODEL_NAME>_plecs (e.g. thermal_domain_tutorial_plecs).
Remarks
Although these examples focus on thermal simulations, the workflow can be applied to many other use cases. Each model includes both internal Octave scripts and equivalent Python scripts.