Maintenance Override Programming Manual

Trusted
TM
AN-T80016 Maintenance Override Programming
Issue 1 June 08 AN-T80016 6
Override Programming Example
It is usual to make a function block which handles all conditioning, override logic and trip generation for
one point, because it simplifies the generation of logic. An example has been written here to the list of
recommendations above. This assumes that an input is being overridden. This is a lot simpler than
most input conditioning blocks, because they also contain startup overrides etc. that add to complexity.
Wherever possible, separate the logic requirement into different blocks to make each fully testable.
List of variables and parameters
DI1234 Real digital input point Active Low Boolean input From field device DI
DT1234 Trip signal to C&E Logic Active Low Boolean output Safety signal TRIP
DI1234_OS Override Status Active High Boolean output Alarm to DCS OS
DI1234_OR Override Request Active High Boolean input DCS command ORQ
DI1234_OA Override Acknowledge Active High Boolean output Reply to DCS OA
MO_CONF Common Confirm Active High Boolean input From DCS MC
The Common Confirm must be cleared when all override logic has completed.
MO_TIME Confirmation Timeout 30 seconds Timer internal Time limit for override request
G1234_OA Group Override Available Active High Boolean input From safety group logic GOA
MOENABLE Override Enable Active High Boolean input From keyswitch MOE
TRESET Trip Reset Active High Boolean input Resets safety trip RST
Function Block Parameters
It is recommended to explicitly declare each variable for each instance of the function block as shown
here, rather than use corners to tidy a chained wire. This makes the program more reliable across
online updates (see AN-T80009). Input conditioning function blocks are a common source of update
problems because they contain internal variables for the override and trip states.
The function block may be written in Structured Text (ST) or Function Block Diagram (FBD). However,
because it will involve program flow, ST is recommended. IF-THEN-ELSE-END_IF structures create
easily readable and reliable code where different actions are required in different cases.