This system configuration implements the Model+View+Control
testing step for the process
control example. It utilizes instances of the FACEPLATE, STRIP4, and FB_PIDR function block types to
simulate and display the Proportional/ Integral/ Derivative (PID)
control of liquid level in the process control
example.
In Manual mode, adjusting the SP and PUMP sliders has the same effect on tank level as adjusting the VALVE and PUMP sliders, respectively, in the TANK_MVL configuration.
In Auto mode, the PID controller adjusts the Valve (OUT) position to hold the Tank level (PV) at the value specified by the SP slider, in the face of varying PUMP speeds.
Set point (SP = PUMP_SPEED
), process variable (PV = TANK_LEVEL ),
controller output (OUT = VALVE_POS ), and
PUMP_SPEED
values are exchanged among resources using the local multicast pattern
and are plotted on the strip chart in colors of
orange
,
blue
,
green
and
red
, respectively.
The FBDK
uses the Tagged Data
design pattern to ensure consistency of the communicated events and
data, as shown in the table below. These are identical to the tags
used in the TANK_MVL
configuration, with the addition of the MODE and SP
tags.
| Name | Type | UDP Channel | Description |
|---|---|---|---|
MODE
|
BOOL
|
|
0=Manual, 1=Automatic
|
PUMP_POS
|
INT
|
|
{-359..+359} degrees
|
PUMP_SPEED
|
UINT
|
|
{0..100}% => {0..36} degrees per clock tick
|
SIM_CLK
|
|
|
Simulation Clock
|
SP
|
UINT
|
|
Set Point, {0..100}%
|
TANK_LEVEL
|
UINT
|
|
{0..100}%
|
VALVE_POS
|
UINT
|
|
{0..100}% => {closed..open}
|
CTRL Device contains Resources for the PID
controller and its associated faceplate.
The only difference between the RECORDER device in this
configuration vs. the TANK_MVL
configuration is that the RECORDER.RES1 Resource
contains a four-channel stripchart recorder to accommodate the
additional SP variable to be plotted.
The only difference between the TANK_VIEW Device in
this configuration vs. the TANK_MVL
configuration is that the TANK_VIEW.SLIDERS Resource
does not contain a VALVE slider, since the valve position is
now determined by the controller output.