Index of /skoge/diplom/diplom06/olsen

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[   ]slug_3D_sim.m2010-07-15 09:49 2.8K 
[   ]slug_3D_script.m2010-07-15 09:49 1.5K 
[   ]slug_3DAE.m2010-07-15 09:49 2.7K 
[   ]saturator.vi2010-07-15 09:49 11K 
[   ]s_slug.m2010-07-15 09:49 2.0K 
[   ]openloop_sim.mdl2010-07-15 09:49 20K 
[   ]initialize.m2010-07-15 09:49 4.0K 
[   ]gen_data.m2010-07-15 09:49 1.4K 
[   ]diplom.pdf2010-07-15 09:49 1.6M 
[   ]bottomPI.vi2010-07-15 09:49 123K 
[TXT]README.html2010-07-15 09:49 4.5K 
[   ]PIController.vi2010-07-15 09:49 87K 

Documentation

Documentation for Program Files on this CD

This file contains descriptions of functionality and hierarchy of the source code on this CD. The LabVIEW files have been developed and tested under LabVIEW 8.0 Professional edition and the MATLAB files under MATLAB R2006A.

Labview VI's

This chapter introduces the LabVIEW VI's documentation. All VI's are internally documented, for details please see VI block diagrams.

PIController (sub)

The PIController VI is a subVI and is used as a function. The PI controller has a simple anti-reset windup scheme; the integrand is set to zero if the controller output saturates.

Signals: The input signals to this VI are;

It is expected that both the set point and the process variable signal are scaled such that the magnitude is between 0 and 1. The VI output is a signal in the range [0,1] and a boolean signal telleing if the system is saturated.

The saturation test must be taken out of the subVI to avoid problems with signal feedback; one must allow for one loop iteration of the main VI for each update of the anti-reset windup scheme.

This VI Calls the following subs: Saturator.

Saturator (sub)

The saturator takes as input a signal and an allowable range. Magnitudes outside the range are chopped off. The saturator also returns a boolean value to tell if chopping has occured.

This VI Calls the following subs: NONE.

bottomPI (Main)

This VI is used to implement PI anti-slug control using the bottom-side pressure as the controlled variable. The VI automatically logs the following variables;

When pressing the normal stop button in the program, a dialog box asking for a filename to store logged data occurs. If you don't want to save your data, use the "Abort" button.

This VI Calls the following subs: PIController.

MATLAB Files

The Matlab files used in simulations are taken from Sigurd Skogestad's web page; http://www.chemeng.ntnu.no/~skoge". Those files have been changed to conform to the case of the mini-plant. The important changes are in the files "gen_data.m" and "slug_3D_script" for open-loop simulations in the Matlab environment. The changes in the "slug_3D_script" file are in the initialization parameters. The following is a simple, informal documentation of how the simulation files are used.

Tuning

For the model to be used in design and analysis it must be tuned to actual data (or a better model). The procedure for doing this is given in the PhD thesis by Espen Storkaas (NTNU, 2005).

Matlab Environment

For simulations in the Matlab environment, the model is used on DAE form with one of the DAE solvers in Matlab (ode23t, ode15s). These can solve DAE problems of index 1.

The file to use for open-loop simulations is "slug_3D_script". The initiallization should be done at a physically known solution. The initialization is used to calculate consistent initial conditions for the DAE problem; the initial conditions must satisfy the algebraic equations.

Simulink Environment

The Simulink environment is better to use for closed-loop simulations. Simulink does not handle singular mass matrices, hence the problem has to be reformulated. This is done in the file "slug_3D_sim.m", where the is expressed as a pure ODE problem with one variable persistent between function calls. The model is imported into Simulink via the S-function "s_slug.m". The initialization parameters are set in the S function file.


Last update: May 29th. (2006)
Håkon Olsen