An instance of this Function Block type provides an implementation of
the Internal/External Mode state machine defined in Annex F.3.5 of the
NORSOK I-005 Standard for System Control Diagrams.
This state machine controls whether a set point is to be taken from an
external terminal or from an internal value set by the operator on the
operator station. In order to provide an event-driven implementation,
the following changes are made with respect to Figure F.10 of the
NORSOK Standard:
The LI (Lock Internal) input is replaced with a LOCK command
event input, and the LX (Lock External) input is used to provide the
value to be locked.
An UNLK (Unlock) command event input is added.
The "OS Select Internal" input is replaced with an "Operator
Station Select" (OSS) command event input, and the OSSX (Operator
Station Select External) input is used to provide the value to be set
when the operator station is not locked out.
An IND event output is used to provide an indication that one
or more output values have changed.
The "OS Status Internal/External" output is replaced with a
BL (Boolean Locked) output. As described in NORSOK I-005-F.2.2.4,
reporting of mode states to the OS is to be handled separately.
This implementation has the following advantages:
The NORSOK Standard does not explicitly specify that the "OS
Select External" and "OS Select Internal" inputs shall be
complementary. If it could happen that both of these inputs were
simultaneously TRUE, this could cause an unanticipated race condition
or oscillation between states 2 and 3. This condition will not occur
in the event-driven implementation.
Two transition conditions are simplified.
The additional BL output provides full visibility of the
internal state of the block, as shown in the following table.
NORSOK State
No.
Name
BX
BL
1
LockExternal
1
1
2
External
1
0
3
Internal
0
0
4
LockInternal
0
1
Enter data for the input variables.
Exercise the FB by clicking on the event inputs.