modelPID_2dof_TDO_FullyEventBased
Digital 2-dof PID controller with event based Time Division Output (TDO)
Extends from Interfaces.Controller (Partial interface for a digital controller).
Information
Description
Proportional + Integral + Derivative with two degree of freedom controller with Automatic, Tracking, Manual
mode and bias signal. The controller is implemented in its incremental form algorithm.
The control law is defined as
[ 1 sTd ]
CS(s) = Kp[ (bSP(s) - PV(s)) + ----- (SP(s) - PV(S)) + -----------(cSP(s) - PV(s)) ]
[ sTi 1 + sTd/N ]
| Name | Description | Conditional? |
|---|---|---|
| SP | Set Point | NO |
| PV | Process Variable | NO |
| CS | Control Signal | NO |
| satHI | CS at HIGH saturation | NO |
| satLOW | CS at LOW saturation | NO |
| TR | Track Reference signal | YES (useTS) |
| TS | Track Switch signal | YES (useTS) |
| Bias | Biasing signal | YES (useBIAS) |
| MAN | Manual Switch signal | YES (useMAN) |
| CSinc | Control Signal increment | YES (useMAN) |
| Finc | Forbid increment | YES (useForbid) |
| Fdec | Forbid decrement | YES (useForbid) |
And some of them can be conditionally selected, by specifying a boolean flag.
Time Division Output (TDO)
The Control Signal CS computed by the PID controller can have two values: CSmin and CSmax.The result is a rectangular wave, which duty cycle is proportional to the control action computed by the controller.
The sampling time Ts is NOT divided in sub intervals. The sampling time is divided in two parts, depensing on the value of the control action.
In the first part the Control Signal is at the CSmax value, while CSmin in the remaining one.
With such an approach very high frequency sampling is avoided.
AntiWindUp mode
If the boolean flag AntiWindup is tue the output of the block ( CS ) saturates at the values specified by CSmin and CSmax.Tracking mode
If the boolean flag useTS is true, the inputs TS and TR are enabled.When enabled, if the TS signal is true the output CS is forced to follow the track reference signal TR.
Manual mode
If the boolean flag useMAN is true, the inputs MAN and CSinc are enabled.When enabled, if the MAN signal is true the output CS can be manually controlled via the signals CSinc and CSdec, that respectively increment or decrement the control signal.
Forbid mode
If the boolean flag useForbid is true, the inputs Finc and Fdec are enabled.When enabled, if the Finc signal is true the output CS cannot grow up, while if Fdec is true it cannot decrease.
Discretisation
The controller is implemented directly through an algorithm, that represents the discretised version of the continuous time controller.Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | useTS (from Controller) | false | =true, if TS and TR inputs are enabled |
| Boolean | useBIAS (from Controller) | false | =true, if BIAS input is enabled |
| Boolean | useMAN (from Controller) | false | =true, if MANUAL input is enabled |
| Boolean | useForbid (from Controller) | false | =true, if Forbid inputs are enabled |
| Discretisation | |||
| Real | Ts (from Controller) | 0 | Sampling time |
| Saturation | |||
| Boolean | AntiWindup (from Controller) | false | Flag that enables the antiwindup feature |
| Real | CSmin (from Controller) | 0 | minimum value of the CS |
| Real | CSmax (from Controller) | 1 | maximum value of the CS |
| Initialisation | |||
| Real | CS_start (from Controller) | 0 | output initial value |
| Parameters | |||
| Real | Kp | 1 | Gain |
| Real | Ti | 10 | Integral time |
| Real | Td | 0 | Derivative time |
| Real | N | 5 | Derivative filter ratio |
| Real | b | 1 | SP weight in P action |
| Real | c | 0 | SP weight in D action |
| Real | TDsteps | 100 | Time Division Output resolution |
Connectors
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Real | bias (from Controller) | bias signal | |
| Real | tr (from Controller) | track reference value | |
| Boolean | ts (from Controller) | track reference signal | |
| Real | csInc (from Controller) | control signal increment when man mode is selected | |
| Boolean | man (from Controller) | manual enabling signal | |
| Boolean | F_inc (from Controller) | forbidden increment signal | |
| Boolean | F_dec (from Controller) | forbidden decrement signal | |
| Real | counter | ||
| Real | cs |
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.