motivating with industrial applications in the course ... · motivating with industrial...

22
Finn Aakre Haugen, PhD, docent Faculty of technology, natural science and maritime science, Porsgrunn campus 1 27. februar 2019 Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019 Dynamic positioning

Upload: others

Post on 05-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

Finn Aakre Haugen, PhD, docent

Faculty of technology, natural science and maritime science, Porsgrunn campus

1

27. februar 2019

Motivating with industrial applications inthe course Programmering og modellering

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Dynamic positioning

Page 2: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

2

Two examples of applications:

• Liquid tank• Ship

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Page 3: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

3

Dynamic positioning (of ships)

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Page 4: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

4Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Tangaroa's Dynamic Positioning System - How does it work?

Page 5: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

5Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Kongsberg Maritime

Posisjons-

regulator

Posisjons-

sensor(er)

Posisjons-

referanse(r)

Forstyrrelse

Forstyrrelse

Forstyrrelse

Tilbake-

kopling

Dynamic positioning = position control system

Page 6: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

6

Mathematical model

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Model of the ship motion along the surge axis, based on Newton's Law of Motion:

m*ddy = Fp + Fh + Fw

where:y is position [m]dy is speed [m/s]ddy is acceleration [m/s^2]m is mass [kg]Fh = Dx*(uc - dy_dt)*abs(uc - dy_dt) is hydraulic damping force [N]Fw = cWx*Vw*abs(Vw) is wind force [N]

Simulator programming (in e.g. Python) is based on the Euler method (forward; expilcit).

Page 7: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

7

The position controller

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

In industrial automatic control systems, the PID (proportional-integral-derivative) controller is prevalent.

The PID controller function is mathematically very simple:

u = up + ui + ud

where:up_k = Kc*e_k (the P-term)ui_k = ui_km1 + (Kc/Ti)*Ts*e_k (the I-term)ud_k = Kc*Td*(e_k - e_km1)/Ts (the D-term)

which can be easily programmed (in the simulator).

Page 8: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

8

Demo:Running an Euler-based simulator programmed in Python

(which includes real-time plotting and animation with Pygame)

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Page 9: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

9

Buffer tanks

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Page 10: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

10

Varying inflow is attenuated with a tank with a sluggish level controller

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Page 11: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

11

Applications of buffer tanks:

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

• Equalization magazines at the inlet (supply) of a water resource recovery facility• Dams in hydropower plants• Oil/water/gas separators in the oil/gas production

Page 12: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

12Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

12One of the applications:

Level control of equalization magazine upstreams theVEAS water resource recovery facility (wrrf)

or resource recovery facility (wrrf),at Slemmestad, south of Oslo, Norway:

LT

1

Tunnel

Basin

LC

1

Pumpinlet

A [m2]

F_tunnel[L/s]

h [m]

u_LC [L/s]= F_pump [L/s]

Levelsetpointh_sp [m]

FT

1

F_Vækerø[L/s]

Time-delay (transportation time),T_delay [d]

F_net_in_internal_meas[L/s]

Vækerø

Pump(=aggregate of

pumps)

F_in_unmeas [L/s]

F_pump [L/s]

Note: Geometrical proportions are not real.

Used in feedforward

control

Outflow is smootherthan inflow!

Inflow

Level controller(must be tuned for"soft (compliant"

control)

Page 13: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

13

Mathematical model

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Material balance of the water in the tank:

A*dh_dt = F_in - F_out

where:h is water level [m]A is cross sectional area of tank [m2]F_in is inflow [m3/s]F_out is inflow [m3/s]

Page 14: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

14

Discrete-time model Euler (forward; explicit)for simulator programming:

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

h_kp1 = h_k + (Ts/A)*(Fin_k - Fout_k)

Ts is time-step [s]

Page 15: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

15

At the "fagdag" 16 Dec 2017, pupils from Bamble, Porsgrunn and Skien high schools programmed a simulator of a tank with level control system using

LabVIEW (National Instruments).

Demo (the resulting LabVIEW program)....The front panel and the block diagram

of the program are shown on the following pages.

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Page 16: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

16Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Front panel:

Page 17: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

17Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Block diagram:

Page 18: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

18

At USN (Porsgrunn) we now build 12 tank rigs for educational and research purposes.They will be used in Programmering og modellering.

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

LT1

LC1

FT2 FC2

ReservoirBuffer tank(equalization

magazine)

Pump

FT1FC1

Pump

L_sp [m]

F2_sp [m3/s]

Adjustable inflow

GT1

Hand valve

Level setpoint

h [m]

0 m

F_in [m3/s]

F_out [m3/s]

A [m2]

Page 19: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

19

3D drawing of the tank rigs:

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Drawing by Cecilie Gløsmyr and Olav Vangen,USN students

Page 20: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

20

Analog IO (input output) with Python using NI USB-6008 IO device

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Drawing by Cecilie Gløsmyr and Olav Vangen,USN students

USB

Analog output(control signal) [V]

Physical system

PCw/Python

Analog input(meas signal) [V]

Page 21: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

21

Python commands for analog IO (input output)

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Drawing by Cecilie Gløsmyr and Olav Vangen,USN students

import nidaqmx

#-----------------------------------------# Analog output (control signal):

ao_task = nidaqmx.Task()ao_task.ao_channels.add_ao_voltage_chan('Dev15/ao0','heater_control',min_val=0.0,max_val=5.0)ao_value = 3.1ao_task.write(ao_value)

#-----------------------------------------# Analog input (measurement signal):

ai_task = nidaqmx.Task()ai_task.ai_channels.add_ai_voltage_chan("Dev15/ai0",terminal_config=nidaqmx.constants.TerminalConfiguration.RSE)ai_value = ai_task.read(number_of_samples_per_channel=1)

Page 22: Motivating with industrial applications in the course ... · Motivating with industrial applications in the course Programmering og modellering Finn Aakre Haugen, CCSE seminar UiO

22

Conclusion

Finn Aakre Haugen, CCSE seminar UiO 27 Feb 2019

Drawing by Cecilie Gløsmyr and Olav Vangen,USN students

• Realistic, industrial examples will probably motivate pupils for mathematical modelling and programming, and for university studies.

• Automatic control (feedback control) is prevalent in technical systems, and I suggest that the basic principles are introduced in high school (at least in Programmering og modellering).