What is new in 20-sim 4.8?

Navigation:  »No topics above this level«

What is new in 20-sim 4.8?

Previous pageReturn to chapter overviewNext page

20-sim 4.8 has been updated with many small improvements and one large addition: the 20-sim Unity Toolbox for building high quality 3D animations with optional VR experience.



1.All dialogs now use an anti-aliasing font, for better readability on LCD screens.
2.New tool configuration option DLL Search Folders to learn 20-sim additional folder where it should search for DLLs used in e.g. the dll or dlldynamic function. This allows for sharing own/custom DLLs with multiple models.


1.The Editor will show a Scripting menu when Octave or Python scripts are available for a model and stored in a Scripting subfolder. See Scripting Menu.
2.Connections and submodels will highlight when you hover on top. This makes drag and drop of models from the library easier.
3.Connections and submodels will highlight in connection mode when trying to connect a signal to a terminal. This makes it easier to select the right submodel or connection.
4.In the Editor you can change the position of terminals directly without opening the Icon Editor:
a.Choose View menu - Show Terminals (Ctrl-T);
b.Left-click the terminal that you want to move and drag it to the wanted location while keeping the left mouse button pressed.
5.The model properties of encrypted submodels except for the name are now read only.
6.Model navigation:
a.The editor now has new Go Back GoBack or Go Forward GoForward buttons to quickly navigate between the last two selected submodels in the model hierarchy.
b.New keyboard shortcut keys for Go Up (Alt-Up), Go Down (Alt-Down) and the newly added Go Back (Alt-Left) and Go Forward (Alt-Right).
7.If a lot of parenthesis () are used, it may be hard to see the grouping. You can put your mouse pointer next to a parenthesis and have the group highlighted.


8.Nichols plot grid is extended to repeat for each multiple of 2π.
9.Allow text alignment on left, center, right top and bottom.


1.Better handling of time events for fixed and variable step-size integration methods. This increases the simulation speed of many models with events.
2.The Plot Properties menu has been updated:
a.Select predefined plot settings from the Color Themes;
b.Set the colors for all elements of a plot like the axes and the plot border;
c.Save plot settings as default for a single plot, multiple plots and every new plot that you open;
d.Multiplication/Offset settings to scale and vertically shift a variable before plotting.
3.You can reset the initial values of a model to zero using the Reset Initials command.
4.You can enter variable names manually in the plot curves by typing (no need to open the variables chooser).
5.Auto scale is now set as default for all new plots.
6.Simulator plots are not automatically rescaled anymore when you zoom-in
7.A manual zooming during simulation is kept when the plot goes out of the range.
8.New toolbar button for Code Generation.
9.The secondary simulator plot windows now also contain all plot toolbar buttons.
10.Errors from MATLAB calls tomatlab, domatlab, frommatlab are now shown in 20-sim.
11.It is now possible to choose between different MATLAB session types to connect to a MATLAB automation session: shared session, shared desktop session, dedicated session


1.Range support for parameters and variables. You can now extend the declaration with min, max, range and readonly attributes to limit the allowed values for parameter changes.
2.New language functions bitshiftright, bitinv


1.The datafile reader has been updated to support more variants of the CSV file format. Note, not backward compatible! This version stores additional information in the model. Once edited, you cannot open it in previous versions of 20-sim.
2.Mux and demux models for integer and boolean data types
3.New demo models: RotatingPendulum, Controllab (logo), ScaraRobot_UnityAnimation

Code Generation

1.Arduino template: eventup, eventdown, timeevent functions are now supported.

20-sim - Unity Toolbox

This is a brand new toolbox that couples 20-sim with the third party software Unity. Unity is a game engine that allows you to make 3D animations with high quality rendering and display on screen and VR headsets.

1.Installation script to install extra functionality in Unity.
2.In Unity, choose  and couple 20-sim variables directly from a drop-down menu.
3.Export 20-sim 3D animations to Unity.
4.Create run-times in Unity which are started from 20-sim.

The Unity Toolbox will only run with a valid license.

Frequency Domain Toolbox

1.Export of symbolic linear systems from the Linear System Editor to MATLAB is now supported.


1.Support for Octave 4.4.x (Win32, Win64). Note that Octave 5.1.x is not yet supported due to missing functions in Octave 5.1.x.
2.New Octave/Matlab script functions:
3.New Python script functions:
oget_monitor_variables, get_monitor_values, set_monitor_variables
4.The build-in Python installation is upgraded to version 3.7 and contains additional packages for reading/writing Excel documents (openpyxl and xlrd), for data analysis (pandas), for symbolic mathematics (sympy) and for creating scripting with a GUI (wxPython).
5.The Model Properties dialog now also shows the hierarchical path of the submodel. You can copy-paste and use this in your scripts for submodel-related scripting functions.
6.Add plot type to the existing getPlotsFromWindow scripting function.

FMI support

1.FMU export (standalone) now supports the MBDF multi-step integration method.
2.FMU export now properly uses the FMI structured naming convention for matrices.
3.FMU import now uses the FMI structured naming convention to recognize and restore vector and matrix signals and parameters.
4.FMU import uses the FMI structured naming convention to import parameters with their original hierarchy.

Bugfixes and Improvements

In addition to the above mentioned items, 20-sim 4.8 received more than 150 bugfixes and minor improvements since 20-sim 4.7.2. See the 20-sim website for the full list of changes.