NivaarExam PrepOfficial exam papers ↗

23-Chem-A6 Process Dynamics and Control · December 2019

Question 2 of 8: Internal Model Control of a Process with a RHP Zero and Dead Time

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

Reference texts: D. E. Seborg, T. F. Edgar, D. A. Mellichamp & F. J. Doyle III, Process Dynamics and Control (4th ed., Wiley) — Laplace-domain modelling, linearisation, transfer functions, feedback stability, frequency response and IMC design; G. Stephanopoulos, Chemical Process Control (Prentice Hall) — Routh test, Nyquist criterion and dead-time systems; D. R. Coughanowr & S. E. LeBlanc, Process Systems Analysis and Control (3rd ed., McGraw-Hill) — first-order thermal/level dynamics, step/ramp/pulse response and block-diagram algebra. Standard control conventions (deviation variables; unity valve/sensor gains unless stated) are used throughout. This sitting is an open-book paper of eight problems of which any five constitute a complete exam; all eight are solved here.

Problem 2: Internal Model Control of a Process with a RHP Zero and Dead Time (20%)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

Given. A first-order-plus-dead-time process carrying a right-half-plane (inverse-response) zero:

FeatureSymbolValue
Process gain$K$$10$
Time constant$\tau$$100$
RHP zero$1-s$zero at $s=+1$
Dead time$\theta$$10$
Desired closed-loop constant$\tau_c$$10$

Find. (a) the IMC controller $q(s)$ and its block diagram; (b) the unit-step set-point response for $\tau_c=10$.

R(s)+q(s)Gₚ(s)G̃ₚ(s)Y(s)+−model outd̂ = (Gₚ−G̃ₚ)q·R (=0 if model perfect)Internal Model Control: q=(G̃ₚ⁻)⁻¹f, f=1/(10s+1)
Problem 2(a): IMC structure. The controller $q$ drives the real process $G_p$ and the internal model $\tilde G_p$ in parallel; only the model mismatch (here zero) is fed back, so the loop behaves open-loop-like and is offset-free at the set point.

Approach. Split the model into an invertible (minimum-phase) factor and a non-invertible all-pass factor (RHP zero + dead time, normalised to unity DC gain); invert only the good factor and multiply by an IMC filter of the target time constant. The servo response is then the all-pass factor times the filter.

  1. (a) Factor the model. Write $\tilde G_p=\tilde G_{p+}\tilde G_{p-}$, where $\tilde G_{p+}$ holds the parts that cannot be inverted (the RHP zero and the delay), normalised so $\tilde G_{p+}(0)=1$: $$\tilde G_{p+}=(1-s)\,e^{-10s},\qquad \tilde G_{p-}=\frac{10}{100s+1}.$$ Indeed $\tilde G_{p+}(0)=1\cdot1=1$, so the steady-state gain lives entirely in $\tilde G_{p-}$.
  2. (a) IMC controller. Invert the minimum-phase factor and append the first-order filter $f=1/(\tau_c s+1)=1/(10s+1)$: $$\boxed{q(s)=\tilde G_{p-}^{-1}\,f=\frac{100s+1}{10\,(10s+1)}.}$$ This is proper (equal numerator and denominator order), so it is physically realisable. Inverting the RHP zero was deliberately avoided — doing so would place an unstable pole at $s=+1$ in the controller.
  3. (a) Block diagram. In the IMC structure (figure above) the controller $q$ drives both the real process $G_p$ and the internal model $\tilde G_p$ in parallel; only the mismatch $(G_p-\tilde G_p)q$ is fed back. With a perfect model that signal is zero, so the loop behaves open-loop-like and is inherently offset-free.
  4. (b) Closed-loop servo transfer function. For IMC with a perfect model, $Y/R=\tilde G_{p+}f$: $$\boxed{\frac{Y(s)}{R(s)}=\frac{(1-s)\,e^{-10s}}{10s+1}.}$$ The delay and the RHP zero survive (they cannot be cancelled); the filter sets the closed-loop speed at $\tau_c=10$.
  5. (b) Unit step response. With $R(s)=1/s$, ignore the pure delay (a $10$-unit time shift) and invert $W(s)=\dfrac{1-s}{s(10s+1)}$. Partial fractions give $W(s)=\dfrac{1}{s}-\dfrac{1.1}{s+0.1}$, so $$\boxed{y(t)=1-1.1\,e^{-0.1\,(t-10)}\quad(t\ge10),\qquad y(t)=0\ (t<10).}$$
  6. (b) Interpret. Just after the dead time the response jumps the wrong way to $y(10^+)=1-1.1=-0.1$ — the inverse response forced by the RHP zero — then climbs monotonically to $y(\infty)=1$, i.e. it tracks the set point with no offset and an effective time constant of $10$.
P2(b): closed-loop set-point response (τ₊=10) 1 0.5 0 −0.1 0 10 20 30 40 50 60 70 dead time θ=10 undershoot −0.1 (inverse response) approaches set point (offset-free) time $t$ (min) output $y(t)$
Problem 2(b): unit set-point response of the IMC loop. The response is flat for the 10 min dead time, then jumps the wrong way to $-0.1$ (the right-half-plane zero at $s=+1$ gives inverse response) before rising monotonically to the set point with no offset; closed-loop constant $\tau_c=10$.
QuantityResult
Invertible / all-pass factors$\tilde G_{p-}=10/(100s+1)$, $\tilde G_{p+}=(1-s)e^{-10s}$
IMC filter$f=1/(10s+1)$
(a) Controller $q(s)$$\dfrac{100s+1}{10(10s+1)}$
(b) Servo transfer function$\dfrac{(1-s)e^{-10s}}{10s+1}$
(b) Step response$y(t)=1-1.1e^{-0.1(t-10)}$, $t\ge10$
(b) Initial undershoot$-0.1$ (inverse response)