You are on page 1of 26

DeltaV Sequence

Function Block
Tutorial

Introduction
For this tutorial, you will gain some skill at building a discrete control function.
Our objective is to build a simple sequence function chart using DeltaV
Custom block and programming attributes.
For this tutorial, we want to build a simple tank fill drain sequence. We will use
Experiment 4, so you should refer to that experiment to see which
instrumented variables we will use.
Control Objective
What actions do we want to do?
We want to alternatively fill the tank and drain the tank.
Begin with a start block, then we want to check the tank level, LT4-1, and
make sure that it is below a predefined point.
Then close the drain valve, LV4-1A, and begin filling the tank with cold water
by setting the cold water flow controller, FC4-1, set point to 1.0 GPM.
Shut off the water when the level signal LT4-1 reaches another predefined
point and drain the tank by opening the outlet valve, LV4-1A.
When the tank level falls below yet another predefined point, we want to
close the outlet valve and return to the starting point.

Details
Open DeltaV explorer to LAB4_TEST control studio. Under Special Items, drag
Custom Block to the work sheet. Select Embedded Composite block.
Select the number of inputs and outputs, in this case we will use 1 input and
two outputs, but you will soon see that we can use I/O by reference so we
don't have to have all the I/O defined at this time.
Drill down into the block and we have a double box, S1, start block as well as
the I/O we defined. We can rename them to something suitable for our case
if we want. For each I/O used we need to make sure we have the correct
parameter type, floating point, Boolean, etc.
Drill down into the block and we have a double box, S1, start block as well as
the I/O we defined. We can rename them to something suitable for our case
if we want. For each I/O used we need to make sure we have the correct
parameter type, floating point, Boolean, etc.

Open DeltaV explorer to LAB4_TEST control studio.


Under Special Items, drag Custom Block to the work sheet.
Select Embedded Composite block.

I/O point definition

Remember: Transitions are where the logic is located that controls the
movement from one step to another. Drag a transition block where we will
check the level, make sure we have a low level. We can click on that
element we can add the expression directly. We have an expression
assistant that will help us locate internal or external references, that is the
PV we want to look at for the transition.
We want the PV of LT4-1 to be less than 1.0% so we use the reference
designation ^/LI4-1/PV.CV < 1.0 in the Transition Condition space.
You can wire this Transition to the start block.

Drag in a Step block and name it FILL. This is where the


control action is executed. The control action is defined in
the groups in the lower right window. You may have to
expand that window. Add an action, this will open another
window, A1 Properties.
The control studio has a parameter defined, OUTLETVALVE, and wired to the discrete output block controlling
the drain valve. Write the expression to close this valve
by setting the Boolean to True. Note the := syntax. We
also want the Pulse Qualifier. This means that the control
action is sent to the output once. It will retain that value
unless changed.
The time delay function should be set to 0, this will allow
a delay between before an action occurs. The second
transition condition is setting the flow controller set point
to 1.0 GPM, with a time delay of 0.

The Steps Control Action logic is entered here

The tank will be filling, so we want some logic to tell us when to stop
filling and begin to drain. So we need another transition condition.
We can call that one FILLED. Lets use the floating point input we
called LEVEL as the checked process variable. Naturally we will
have to wire it to the level signal's analog input block. You can
define that point anything you want as long as it is above the lower
checkpoints.
This example shows 25%, but you might want it lower, say 7% just
to speed up the cycle. You will have to do some wiring too.

Next add another step block, it is called STOPFILL, but it would be better
named as DRAIN. Here you need to set the water flow set point to 0 GPM
as well as open the drain valve.

A Preset Technique
When filling a tank to a predefined point, either to an integrated flow rate or a
level, a control technique is frequently employed to insure that an accurate
quantity is delivered. The technique lowers the delivery set point flow rate to a
lower value just prior to reaching the predefined volume. This is frequently called
"dribble" or preset.
An everyday example of this is to prepay for gasoline. You prepay for a fixed
volume. You will notice that as you get close to your paid amount, the flow rate
begins to slow. This is done to insure you will receive the amount you paid for, no
more.

We will wire the bottom of this


transition block to the START block.

The tank is draining, we want to check the level again so


we have to add another transition block, call it CKDRAIN.
We want this point to be below the CKLVL point.

Save this case and download it


to the controller!

We need to command the control block to


Start, Stop or Reset
Go online and select the block, then
change the Command attribute to Start

There you have it, turn on the water and


check it out!
We can check the status of the block
using online and view exactly where we
are during the sequence

You might also like