Complete PUMPSTREET project
Page 020: Process picture and operator interface
The process is represented by a P&ID like drawing: a pipe with two valves and a pump.
It is good practice to show the names of the equipment.
The animation symbols of HCADwin allow to show the TAG
Normally the operator can click on a DCS screen for some popup screens to show more detail or to operate the process.
HCADwin does not offer these popups and shows a single screen with the process, the faceplate and some buttons.
And a STD is shown in animation mode to indicate the complete status of the process. Notice how the colored trace of states is showing the recent history as well.
The basic operator interface for a STD could be a faceplate. The faceplate STREET is connected to the STD by means of its name and allows the operator to use commands like "On" and "Off" to start and stop the process.
Notice also that he is not allowed to operate the equipment in detail. If such detail is wanted, the additional buttons "YB21" and "YB22" will enable to manipulate the pump status, but only if the STD allows that.
The operator can also "Trip" the STD by means of a button. This operator command is one of the reasons to activate state 9 (STREET9).
He should use the "Reset" to bring the STD alive after that.
The animated STD is showing the description and timing of the current state. (STREET4)
The timing of the previous states are also indicated. Very useful for a quick diagnoses of a problem.
The First Failure will indicate the very reason of a trip and the moment it occured.
If the trip state is starting a procedure to shutdown, the last normal state remains indicated as well.
HCADwin V7860 is able of showing the transition name(s) of the actual state with the optional remaining time. The COMLIST is used to hold this information in the TRANS column, populated when compiling the project.
Page 030: Give Alarms and trips the proper process context
An alarm condition could come from an DCS or PLC input.
It could be an analogue input tested against some value, like a too low temperature: "TEMP < 400.0".
This very example shows that an idle process at ambient temperature will not be in an alarmed state.
Naked alarms and trips must be given a process context to represent the signal for alarming the operator.
Notice how the T_Or symbol is used to enumerate the states (STREET3, 4 and 5) to create the THERMAL_TRIP signal.
If a STD is properly designed, it is likely that a pre alarm is used for a transition to enter a state which copes with the situation and avoiding an alarm.
In this STREET example a "Almost too hot" transition could be implemented parallel to the "Off" command.
It is good practice to give proper names and descriptions to the alarm and trip signals.
If more STDs are implemented, the "STREET_OPR_TRIP" would be a better name for "OPERATOR_TRIP"
Page 032: Create trip transition by using the First Failure
Trip transitions seems to come from nowhere in a STD. (Indicated as a red arrow)
A well formed STD has only transitions coming from a state and entering another state. Therefore a trip transition must be programmed with care. Like adding the proper context on page 030.
For trip transitions it is good practice to collect trips with a OR-like mechanisme while remembering the very first signal.
This First Failure symbol is doing so and indicates the trip time as well.
The resulting trip transition "STREET_TRIP9" is a good example of using the name and trip state of the STD.
If a STD has more trip states, create these trip transitions by using the FFailN (Next Failure) symbol.
The first trip transition is collected by a FFail symbol, which is instructed to reset if the STD becomes idle.
This reset could be more elaborated, like including an operator command.
Page 050: Represent the process by a STD with timing
The State Transition Diagram (STD) is using State and Trans symbols.
Every state carries the same basic TAG ending with a number.
The complete TAG for every state is therefor a Boolean, True when the state is active.
But which state is active is primarily indicated by an Integer: the State Variable.
Using the timing of a STD must be done by the T_Adm symbol with the same name.
When creating the simulation code the Integer and set of Booleans form redundant representations of the state.
To organise the code properly, while demanding that every cycle of PLC or DCS the state is evaluated correctly, the State uses "Split code generation". The transition part corresponds with the State symbols as placeholders. The administration part to update the State Variable is delayed to the T_Flush symbol or the page end (the first to occur).
HCADwin will use colors to indicate wrong positioning.
Each State has three timing parameters. The T_Adm is using only the parameters of the actual state:
The PUMP should be started against a closed PRESS valve to enable building up the pressure.
Of course the SUCTION valve must be open when starting, running or stopping the pump.
The T_Face provides some standard variables:
Page 060: Associate equipment energized to the STD
The two valves and the pump are simulated in this example by the OCvlv symbol. The T_Or enumerates the states associated with an open valve or an active pump.
Only the T_Or is needed to associate the equipment with the STD of the corresponding name.
The connection between the T_Or and the OCvlv is normally connected to the PLC or DCS output.
In the normal DCS implementation practice a subroutine is used to integrate the operator commands with the automation, but the STD way of thinking only concerns about the process. Operator commands are translated into transitions.
The STD diagram is dealing with all order and timing issues of the control.
Multiple equipment can be associated with a diagram, like this example.
No need for additional layers of safety logic.
The trip states are expressing the safeguarding and the First Failure enumeration is a detailed expression of the boundaries of normal operation.
Automatic generated "Cause and Effect"
By the command "Export, Cause and Effect" the logic of the project is evaluated and will result in this picture.
Notice how the enumerations of the FFail and FFailN are shown in the first part of the table underneath the automatically created GIF picture of the corresponding STD.
For that reason the TAG of the FFail and FFailN must start with the STD name and end with "_FF".
For every Cause the process context is given by enumerating the relevant state numbers.
The Effect is just the trip state with the number indicated by the Trip transition.
And because of the association of equipment energized using the T_Or the second part or the table can be shown.
All states are enumerated with the descriptions on the right side.
The middle column is showing for each state which equipment is energized and how. (See the "Free" indication or the use of the T_tst2)
HCADwin V7896 is indicating the trip state with a color and shows the state parameters.