What is new in 20-sim 4.7?

20-sim 4.7 is the newest version. You can download 20-sim 4.7 from this website. 20-sim 4.7 has some important new features.


  • 20-sim 4.7 has been updated to support the Microsoft Windows 10 Creators Update and Fall Creators Update. While older versions of 20-sim will (mostly) work under Windows 10, 20-sim 4.7 has been specially developed and tested for latest releases of Windows 10.
  • We have continued our efforts to support the FMI standard for co-simulation.


  • You can now delete a submodel but keep the connected signals or ports with the Dissolve command.

    20 sim 47 dissolve

  • FMU import: You can now import models from other programs (supporting FMI 2.0 co-simulation export) into 20-sim. Simply drag and drop the model (with the extension .fmu) into 20-sim and connect!

    20 sim 4.7 fmi import
  • FMU export: You can now export a 20-sim model as an FMU with a variable step integration method (using VODE Adams).
  • FMU export is now part of the File - Export menu.
  • (Re-)drawing of large models in the Editor is faster.
  • In the Interface Editor use the Move Up and Move Down buttons to order the list of ports.
  • Drawing closed curves has been improved.
  • The Search box now also shows port names of graphical models.
  • Flat drawing style for new submodels. A shadow is no longer added by default.
  • The Interface Editor now has support for ordering ports.
  • "Edit Globals" added to the right-click menu.
  • Connecting boolean signals now allows for inserting And/Or/Xor/Nand/Nor blocks similator to the PlusMinus/MultiplyDivide blocks for real and integer signals.


  • In the Parameters Editor You can set initial values to zero with the Initials to Zero command.
  • In plots you can now select parameters to be displayed.
  • Faster plotting for fixed step-size simulations (pre-allocates required memory).
  • The Variable Chooser dialog for selecting plot variables now also shows parameters.
  • It is now possible to copy and paste curves from one plot to another.
  • It is now possible to copy and paste plots from one window to another.
  • Real-time simulation timer is now more accurate.


  • The function settoolsetting has been added to set specific simulation options from within the model during simulation.
  • Type casting is supported to prevent warnings when converting data types.


  • You can now play a sound during a simulation or play a sound to a specific event generated during the simulation.
  • A hydraulic line model has been added.
  • Most of the valves and pumps in the Hydraulics library now have parasitic volumes to minimize algebraic loops and speed up simulations of hydraulic models.
  • The Joystick library block and example model are updated to support multiple joysticks.


  • Added a PlaySound example model.

3D Animation Toolbox

  • Import of large binary STL-files in the 3D Animation toolbox is faster.

3D Mechanics Toolbox

  • The center of mass is shown when you select a body.

    20-sim 4.7 3D Mechanics Editor - Show center of mass

Real Time Toolbox

  • All code generation templates:
    • Support for the Event, EventUp/EventDown and TimeEvent functionality of 20-sim.
    • Generate more efficient code for matrix manipulations.
    • Extra code filtering to generate only the code necessary for the selected model
    • Visual Studio 2017 Solution and build support added
  • Arduino support: the Arduino code generation template now supports all AVR and ARM boards that are supported by the Arduino IDE and not only the Arduino Uno and Due.
  • FMU 1.0/2.0 export for 20-sim submodel:
    • Multi-instance support
    • Allow parameter updates during co-simulation.
    • Vode-Adams integration method support.
    • fmi2GetFMUstate/fmi2SetFMUstate support (fixed step-size integration methods only)
    • Many small improvements & compatibility fixes.


  • Support for Octave 4.2.0 / 4.2.1 for Windows (32-bit and 64-bit).
  • Allow set/reset of the endless simulation option from scripting using xxsimSetSettings (Octave) / set_settings (Python).
  • New Octave/Matlab scripting functions:
    • xxsimAddPlotWindow
    • xxsimAddPlotToWindow
    • xxsimAddCurveToPlot
    • xxsimGetCurveIDFromName
    • xxsimGetCurvesFromPlot
    • xxsimGetSubmodelProperties
    • xxsimHideCurve
    • xxsimHidePlot
    • xxsimHidePlotWindow
    • xxsimRemoveCurveFromPlot
    • xxsimRemovePlotFromWindow
    • xxsimReplaceSubmodel
    • xxsimSaveSubmodel
    • xxsimGotoSubmodel
    • xxsimGetWindowSize
    • xxsimSetWindowSize
  • New Python scripting functions:
    • add_plot_window
    • add_plot_to_window
    • add_curve_to_plot
    • get_curves_from_plot
    • hide_curve
    • hide_plot
    • hide_plot_window
    • remove_curve_from_plot
    • remove_plot_from_window
    • remove_plot_window
    • replace_submodel
    • save_submodel
    • goto_submodel
    • get_submodel_properties
    • get_window_size
    • set_window_size


  • Keep C-code, M-code and library path settings on 20-sim update
  • Installation in a different directory (other than the default) did uninstall an existing installation in the default directory

Bugfixes & Minor improvements


  • Use the Windows 7 "Browse for folder" dialog
  • Updated Dutch translation


  • Connection to license server now uses SSL


  • Drag-drop a new model on an equation model did not open the new model. Drag-drop only worked on graphical models
  • Fixed: Drag-drop items from the explorer to 20-sim did not work anymore in Windows 10 Fall Creators update
  • MLP Network Editor: fix faulty display of names of inputs & outputs
  • Improved: submodel implementation switching is now faster
  • Fixed: Spline figures were drawn with rounding effects
  • Quantities and units: Make sure that the domain name does not contain spaces (not supported)
  • Fixed: Tooltip evaluation of an expression could freeze 20-sim
  • Graph editor open could result in a weird window size and position on multi-display systems
  • Bond graph: Fixed: a node submodel was introduced into a bond-graph connection instead of a junction when drawing a new connection onto an existing bond
  • Fixed: Selection of items close to a submodel with long text labels was difficult
  • Fixed a stability issue when selecting a search result line
  • Fixed a stability issue during model open
  • Fixed: XML parsing error: 'no element found' at line 1
  • Fixed: Implode action looses non-zero initialvalues for variable names that end with numbers
  • Fixed: File Open sometimes asked twice if you would like to save the current model


  • Fixed: The model "Block Diagram Mainmodel" from "Getting Started Manual" did not open

Code generation

  • Targets.ini learned a new (optional) option to clear the target directory for code generation: cleartargetdirectory=true
  • Added: New token %INITIALIZE_PARAMETERS2% to assign parameter values to a constant array like "const XXDouble xx_P = {...};"
  • Initialize variables memory to 0.0
  • Simulink: code generation failed for initial state values that are calculated in initialequations
  • FMI Export: FMU did not create an output signal when the output is a state
  • FMI Export: 20-sim exports with hierarchical names. Add the missing "variableNamingConvention='structured' to the modelDescription.xml
  • FMI Export: Array index starts with 0 => should be 1


  • Plot modes documentation updates
  • Added: PhaseSensor block
  • Updated keyboard shortcut key list
  • Reference Manual: removed the non-existing 3D-animation beam element


  • Fixed: 3D plot name was not stored in the model
  • Fixed: hidden variables were not shown as initial values
  • Fixed: new plot windows did not have a default name
  • Fixed a division by zero livelock during linearization
  • Fixed: CSV file reader livelock when reading an invalid CSV file
  • Fixed: Stopping the simulation occasionally showed "Message not understood: #checkForAutoAccept'
  • Fixed a stability issue in the numerical values dialog
  • Parameter dialog: unit combo box sometimes showed the wrong unit

3D Animation

  • Fixed: 3D object spring: Lower Side Closed flag was not stored in the model
  • Fixed: Unapplying a background image in a 3D plot was not stored in the model
  • Fixed: Spot Exponent in Light 3D object was not stored in the model
  • Fixed: Light objects in 3D animation cannot get Map color types.

3D Mechanics editor

  • Fixed: Joint3D wrong if checked in UpdateHingePoints


  • Allow starting 20-sim with a non-default scripting port
  • Fixed model open/save/close/process for model names and paths that contain an ampersand
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you agree with our cookie policy.
More information Ok