A control system, a safety system, etc., within a process plant may each
use one or more state machine function blocks that can be easily
integrated into a function block diagram programming environment. Such a
state machine function block may include one or more inputs, which may
cause a state machine implemented by the state machine function block to
change states. The state machine function block may determine a next
state to which it is to transition based, at least in part, on data
indicative of the next state to which to transition, if any. The
configuration data may be retrieved from a database based on the current
state of the state machine and at least one of the inputs. The state
machine function block may also include one or more outputs that are
generated based on the state of the state machine.