modelTestPID_TDO
Test of the 2DoF digital PID controller with Time Division Output (TDO)
Extends from Modelica.Icons.Example (Icon for runnable examples).
Information
Description
In this example have been compared the 2DoF incremental PID, with its Time Division Output implementation.
The PIDs have to control the process with transfer function
Y(s) 5*s +1 ---- = ----------------------- U(s) 20*s^2 + 12*s + 1The image compares the outputs of the process y with and without the controllers action.

The following image compares the CS computed by the TDO controller (before its conversion), and the CS comuted by the
controller without TDO.

Basic implementation
The basic implementation of the digital incremental PID with TDO, introduces an high number of time events, thus the time spent
for simulating the model is high. Here follows the simulation results for the considere examples
Integration started at T = 0 using integration method DASSL
(DAE multi-step solver (dassl/dasslrt of Petzold modified by Dynasim))
Integration terminated successfully at T = 70
WARNING: You have many time events. This is probably due to fast sampling.
Enable logging of event in Simulation/Setup/Debug/Events during simulation
CPU-time for integration : 5.68 seconds
CPU-time for one GRID interval: 11.4 milli-seconds
Number of result points : 70000
Number of GRID points : 501
Number of (successful) steps : 350000
Number of F-evaluations : 1295000
Number of Jacobian-evaluations: 315000
Number of (model) time events : 35000
Number of (U) time events : 0
Number of state events : 0
Number of step events : 0
Minimum integration stepsize : 2e-06
Maximum integration stepsize : 0.000978
Maximum integration order : 2
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Sources.Step | step | ||
| PID_2dof_TDO | ControllerTDO | ||
| LinearSystems.Continuous.TransferFunction | ProcessTDO | ||
| Modelica.Blocks.Math.Feedback | sub | ||
| Modelica.Blocks.Sources.Step | disturb | ||
| PID_2dof | Controller | ||
| LinearSystems.Continuous.TransferFunction | Process | ||
| LinearSystems.Continuous.TransferFunction | ProcessNoControl | ||
| Modelica.Blocks.Math.Feedback | sub1 |
Revisions
- Industrial Control Systems (v 1.0.0) : April-May 2012
- List of revisions:
- 11 May 2012 (author: Marco Bonvini)
- Main Authors:
- Marco Bonvini; <bonvini@elet.polimi.it>
- Alberto Leva <leva@elet.polimi.it>
- Politecnico di Milano
- Dipartimento di Elettronica e Informazione
- Via Ponzio 34/5
- 20133 Milano - ITALIA -
- Copyright:
- Copyright © 2010-2012, Marco Bonvini and Alberto Leva.
- The IndustrialControlSystems package is free software; it can be redistributed and/or modified under the terms of the Modelica license.