PIDAT – PID controller with relay autotuner

Block SymbolLicensing group: AUTOTUNING
Qt SVG Document Exported by REXYGEN Studio dv sp pv tv hv MAN TUNE TBRK mv de SAT TBSY TE ite pk pti ptd pnd pb PIDAT

Function Description
The PIDAT block has the same control function as the PIDU block. Additionally it is equipped with the relay autotuning function.

In order to perform the autotuning experiment, it is necessary to drive the system to approximately steady state (at a suitable working point), choose the type of controller to be autotuned (PI or PID) and activate the TUNE input by setting it to on. The controlled process is regulated by special adaptive relay controller in the experiment which follows. One point of frequency response is estimated from the data measured during the experiment. Based on this information the controller parameters are computed. The amplitude of the relay controller (the level of system excitation) and its hysteresis is defined by the amp and hys parameters. In case of hys=0 the hysteresis is determined automatically according to the measurement noise properties on the controlled variable signal. The signal TBSY is set to on during the tuning experiment. While the tuning experiment is running, the ite output shows the estimated time to finish in seconds.

A successful experiment is indicated by TE = off and the controller parameters can be found on the outputs pk, pti, ptd, pnd and pb. The c weighting factor is assumed (and recommended) c=0. A failure during the experiment causes TE = on and the output ite provides further information about the problem. It is recommended to increase the amplitude amp in the case of error. The controller is equipped with a built-in function which decreases the amplitude when the deviation of output from the initial steady state exceeds the maxdev limit. The tuning experiment can be prematurely terminated by activating the TBRK input.

For the gain setting, a value of K = 0 disables the controller. Negative values are not allowed (use the RACT parameter for negative effect instead). Setting the integral time constant to Ti = 0 disables the integral component of the controller (same effect as disabling it with the irtype parameter). For Td = 0, the derivative component of the controller is disabled. Static gain of the process k0 must be provided in case of iainf = 3,4,5.

It is recommended not to change the parameters n1, mm, ntime, rerrap and aerrph.

This block propagates the signal quality. More information can be found in the 1.4 section.

Input

dv

Feedforward control variable

Double (F64)

sp

Setpoint variable

Double (F64)

pv

Process variable

Double (F64)

tv

Tracking variable

Double (F64)

hv

Manual value

Double (F64)

MAN

Manual or automatic mode

Bool

off ..

Automatic mode

on ...

Manual mode

TUNE

Start the tuning experiment

Bool

TBRK

Stop the tuning experiment

Bool

Parameter

irtype

Controller type (control law)  6

Long (I32)

1 ....

[D]

2 ....

[I]

3 ....

[ID]

4 ....

[P]

5 ....

[PD]

6 ....

PI

7 ....

PID

RACT

Reverse action flag

Bool

off ..

Higher mv -> higher pv

on ...

Higher mv -> lower pv

k

Controller gain   0.0 1.0

Double (F64)

ti

Integral time constant   0.0 4.0

Double (F64)

td

Derivative time constant   0.0 1.0

Double (F64)

nd

Derivative filtering parameter   0.0 10.0

Double (F64)

b

Setpoint weighting - proportional part   0.0 1.0

Double (F64)

c

Setpoint weighting - derivative part   0.0

Double (F64)

tt

Tracking time constant   0.0 1.0

Double (F64)

hilim

Upper limit of the controller output  1.0

Double (F64)

lolim

Lower limit of the controller output  -1.0

Double (F64)

iainf

Type of apriori information  1

Long (I32)

1 ....

No apriori information

2 ....

Astatic process

3 ....

Low order process

4 ....

Static process + slow CLSR

5 ....

Static process

6 ....

Static process + fast CLSR

k0

Static gain  1.0

Double (F64)

n1

Maximum number of half-periods - freq. response point  20

Long (I32)

mm

Maximum number of half-periods - averaging  4

Long (I32)

amp

Relay controller amplitude  0.1

Double (F64)

uhys

Relay controller hysteresis

Double (F64)

ntime

Length of noise estimation period [s]  5.0

Double (F64)

rerrap

Termination value - amplitude relative error  0.1

Double (F64)

aerrph

Termination value - phase absolute error  10.0

Double (F64)

maxdev

Maximal admissible deviation error  1.0

Double (F64)

Output

mv

Manipulated variable (controller output)

Double (F64)

de

Deviation error

Double (F64)

SAT

Saturation flag

Bool

off ..

The controller implements a linear control law

on ...

The controller output is saturated

TBSY

Tuner busy flag

Bool

TE

Tuning error

Bool

off ..

Autotuning successful

on ...

An error occurred during the experiment

ite

Error code

Long (I32)

1000 .

Signal/noise ratio too low

1001 .

Hysteresis too high

1002 .

Too tight termination rule

1003 .

Phase out of interval

pk

Proposed controller gain

Double (F64)

pti

Proposed integral time constant

Double (F64)

ptd

Proposed derivative time constant

Double (F64)

pnd

Proposed derivative component filtering

Double (F64)

pb

Proposed weighting factor - proportional component

Double (F64)

2024 © REX Controls s.r.o., www.rexygen.com