Consult the following link to a summary of the next book on computer simulation by Stanislaw Raczynski: Link to the book summary
Vehicle dynamics simulation: CarDyns program
Get the C++ source code for queuing simulation: CQM - C source code generator for queuing models
Low cost system dynamics simulation: SimBall program
New version of the Fluids program: Fluids6 - fluid dynamics simulation
Easy predictor: PredictHIT http://www.raczynski.com/pn/predict.htm
Some (free) articles on simulation http://www.raczynski.com/art/artyk1.html
PASION Simulation System http://www.raczynski.com/pn/pn.htm
Simulation Encyclopedia http://www.raczynski.com/pn/encyk.htm
Queuing Model Simulator http://www.raczynski.com/pn/qms.htm (NOTE that QMS now has an animator. Low cost, ideal for class)
PLATFORM: PC min 64KRAM, 256K and a fast machine recommended. Windows 98 or later, NT or XP.
Optimal settings of the Proportional-Integral-Derivative controller
PIDS program calculates the PID controller settings and simulates
the close-loop control system
point - the desired value of the controlled variable X
The main simulation procedure was generated using the Signal Flow module of the PASION Simulation System.
There are two parts of the program:
1. ZIEGLER-NICHOLS settings (a practical way to find the controller tunning)
2. Optimal settings with integral optimization criteria (more "academic" way to find optimal controller settings)
The two Ziegler-Nichols (Z-N) methods are implemented. Using the first method you must provide the rpocess reaction rate and the equivalent time delay. The program calculates the Z-N tunning for the proportional, PI or PID controllers. The controller can have the anti-windup feature to avoid the saturation of the integral part. Then, the process transfer function is being estimated, supposing it is a second order process with time delay. This transfer function is used to simulate the open loop process response and the closed loop response with Z-N tunning. You can verify if the controller is working as expected, and then change the settings and repeat the simulation. The project data and results can be stored in a file, retrieved and editted.
Using the second Z-N method, you provide the "ultimate period" and the "ultimate gain". Recall that those are the parameters of the closed loop oscillations at the limit of stability. The rest is done as for the first Z-N method, described above. In the Z-N methods the measurement instrument is supposed to be a part of the process (the block is supposed to have gain 1).
The following figure shows en example of PIDS program output for the settings obtained by the first Z-N method.
Integral optimization criteria
PIDS program supports controlled processes that are linear and are
given by a transfer function of up to fifth order, with or without
additional time delay. The time delay is introduced as a separate
block. Only the delay value is necessary to define it.
The controller type can be:
given by its gain
The controller may have limitted output. This means that a saturation can be defined at the controller output. If so, the whole system becomes non-linear.
The PIDS program can be used to simulate the control system with given user settings or to optimize the settings according to certain optimization criteria. The program supports some typical integral criteria, all of them being related to the control error in response to a step function applied to the system input (set point). The criteria are as follows.
ITAE - The Integral of Time per Absolute Error
ITQE - The Integral of Time per Cuadratic Error
IQE - The Integral of Quadratic Error
IAE - The Integral of Absolute Error
Consider a temperature control system. The controlled process is a small electric heater. The time unit for the whole system is one minute. The input to the process is a volage sent by the PID controller. Suppose that the powel amplifier has no inertia and that it is included in the process block. The total static gain of the process (including the amplifier) is equal to 60 degree C/volt. The process dynamics is approximated by a third order transfer function with additional delay of 0.2 min. So, the whole transfer function of the process is as follows
As for the measurement channel, suppose that we use a thermoresistor with corresponding signal conditioner, which overall gain (sensor and the circuit) is equal to 0.003 Volts/degree C. The sensor time-constant is equal to 0.3 min.
So, the total static gain of the feedback loop excluding the controller is equal to 0.18. To make this gain equal to one, we would need the controller with gain 5.55. Suppose that our initial settings make the total feedback gain slightly greater than one, the controller gain being equal to 7. Let set the integration time and derivative action coefficient equal to 2 and 0.1, respectively. To avoid big signals in the case if instability and to take into account some physical limitations, we set the controller upper saturation limit to 10 and the lower limit to -10.
You will see that with the above user settings the system is unstable. The following figure shows the growing oscillations of the controlled value (temperature). Note that our controlled process is lineal, and it can reach positive as well negative output values. Physically, this means that the process includes a heater and a cooler, and that both operation modes (heating and cooling) have the same dynamic properties.
Now, let us request the ITAE optimization procedure. The optimization procedure finds controller settings that stabilize the process and minimize ITAE. First, the global rough solution is found by a random search. Then, the settings are refined with the non-gradient Powell optimization algorithm.
The optimization progress is shown for the controlled variable. The following plot is the temperature response of the whole system with controller settings near to optimal ones (after calculating 1065 trajectories). The optimal controller settings are also shown.
Contact: Stanislaw Raczynski email@example.com
How to buy it: Go to the PidFeel page on http://www.raczynski.com/pid/pidfeel.htm and use the Buy button. Buying PidFeel you will receive both PidFeel and Pids programs.