Dynamic simulations


Licensed User
Longtime User
I have written a program for Dynamic Simulations of Motion Control systems composed of:
A control system with loops and feed forwards
- Position loop
- Speed loop
- Acceleration feed forward
- Jerk feed forward
A drive plus motor
A mechanical load linked to the motor with a stiffness (spring).

With a motion generator and graphical data processing capabilities.

The goal of the program is to allow better knowledge of the influence of the different parameters of the model on the dynamic behaviour.

There is still a lot to do and to test, but the program is at a stage where I would be pleased to know if there is any interest and if somebody could test it and give me feedback on bugs, improvements and evolution suggestions.

Unfortunately the program is very slow on the device Qtek 9090.
The calculation time with the default model, 3600 samples, is
- 1.5 s optimized compiled on the desktop
- 15 s in the IDE
- 150 s optimized compiled on the Qtek 9090

In the future I will try to improve the speed of the code (declare Double variables not done yet, try to minimize the number of mathematical operations)

A help file, in English, is joined.
The texts in the program are in English, French, German and half in Italian.

If there is an interest I would write a kind of Tutorial with examples and some theoretical background.

I hope that the program will be any interest.

Best regards

2008.03.31 Update to V1.1
Bug removal
Added a short tutorial

2008.11.20 Update to V2.1 desktop only in post #5
removed old version
Last edited:


Well-Known Member
Licensed User
Longtime User
Hi Klaus,
Got no clue whatsoever about what the application does (Elektrotechnik, I suppose), but the design looks great as all your fine works.


Licensed User
Longtime User
Hallo Robert,

It seems that the text in my post is not clear for everybody.

The program makes dynamic simulations for Motion Control systems.

These kind of systems are used in positionning systems in machinery, where we would have a mechanical part perform a certain motion during a given time.

The mechanical part is driven by an electrical motor.
The coupling in between is mainly not infinitly stiff and has a certain elasticity, which is taken into account.

The motor is driven by a control unit called drive.

The input signal of the control unit is the desired motion, at least position and speed and for better performance acceleration and jerk (derivative of acceleration).

To make the system follow the desired motion, the control unit measures the position and the speed of the motor, compares those with the desired motion values and with the error signals acts on the motor. These are the so called control loops, position loop and speed loop.

The whole system is mathematically described with differential equations.
The program generates the motion input signals and solves the differential equations in function of time and saves the values of the signals in an array.
The graphics module allows to show these values in curves which can be processed afterwords.

The parameters of the different elements can of course be changed to simulate different systems or to study the influence of parameter variations on the dynamic behaviour of the whole system.

The goal of the program is to get more experience in such systems by making simulations and analysing the influence of the parameters.

I am on the way to write a small tutorial with examples.

I hope this clarifies a bit more what the program can do, and I hope that I did not add a new smoke curtain.

Best regards.


Licensed User
Longtime User
Here is a new desktop only version of the DynSim program.

The capabilities of the program are the same as described in the first post.

I think this program shows what can be done with Basic4PPC even for desktop only programs.

My thank's go to Erel for the language and to
agraham for his libraries and his valuable help.
I took advantage of the new ImageLibEx and the ControlsExDesktop libraries and also of the Door library (with agraham's help)

I would be pleased if some of you could test it, report bugs and give improvement suggestions.

The texts in the program can be choosen between English, French, German and Italian. The Italian translation is not complete.

There exist help files in english and french but unfortunately they are too big, even zipped, to fit into the forum. If you are interested in, send me an e-mail and I will send you the help file(s).

There are two zip files:
- source code with all needed files
- exe code with the minimum needed files

Thank's in advane to the beta testers and Best regards.


  • DynSimDeskZip.zip
    159 KB · Views: 310
  • DynSimExe.zip
    182.6 KB · Views: 302
  • DynSim2.jpg
    88.3 KB · Views: 307
Last edited:


Licensed User
Longtime User
Thank you Erel.
The bug is changed, I will wait if there are some others and will post an updated version then.

About the chm files, unfortunately they are too big to fit in the forum. The DynSimE.chm is 766Kb big and evenen zipped it si still 754Kb big.
Does there exist an other mean to include the file ?

Best regards.