SIS function blocks > SIS Advanced Function Blocks > Logic Solver Cause and Effect Matrix function block

Logic Solver Cause and Effect Matrix function block execution

Each EFFECTn output has a corresponding STATEn parameter. EFFECTn can be either 1 (Normal) or 0 (Tripped). STATEn can have one of six values shown in the following figure. The arrows in the figure show the possible transitions between state values during normal operation.

Figure: State Transition Diagram for STATEn Parameters


The values that STATEn can assume depend on whether EFFECTn is Tripped or Normal. The following table shows the combinations that can occur.

 EFFECTn

STATEn

Normal

Normal

Trip Initiated-Delayed

Tripped

Tripped

Waiting for Reset Permit

Ready to Reset

Waiting for Start Permit  

After an initial download or a restart of the Logic Solver card, the initial value of every EFFECTn is Tripped. An effect remains Tripped as long as any causes associated with that effect are tripped. After all associated causes clear the effect become Normal.

The default behavior of the block is for EFFECTn output values to be a function of the value and status of the CAUSEn inputs. EFFECTn Trips when one or more CAUSEn associated with it is active.

You can modify this behavior with the LSCEM block's parameters in a number of ways:

If all you require is simple, time-based sequencing, use DELAY_TIMEn to prevent EFFECTn from going directly to Tripped when an associated cause becomes active. While DELAY_TIMEn is greater than 0 (zero) STATEn is Trip Initiated - Delayed, which keeps EFFECTn Normal.   

To require an operator reset before an effect can return to Normal, use REQUIRE_RESETn, RESET_PERMITn, and RESETn. When REQUIRE_RESETn is True, EFFECTn remains Tripped when an associated cause is active. How STATEn transitions depends on RESET_PERMITn.

If RESET_PERMITn is True (the default value), STATEn transitions from Tripped directly to Ready to Reset. Configure RESET_PERMITn to False to make STATEn transition from Tripped to Waiting for Reset Permit. The reset permit can be written from process feedback or set by an operator from a key switch or other hardware device. When RESET_PERMITn becomes True, STATEn transitions to Ready to Reset. From here, setting RESETn to True transitions STATEn and EFFECTn to Normal.

Use START_PERMITn in a similar way to require permission to transition STATEn from Waiting for Start Permit. The default value of START_PERMITn is True, which allows the transition. If START_PERMITn is False and associated causes are cleared, STATEn transitions from Tripped to Waiting for Start Permit. To move STATEn and EFFECTn to Normal, set START_PERMITn to True.

Use a combination of FORCE_PERMIT, FORCE_OPTS, and FORCE_EFFECTn  to force EFFECTn to a desired value. To force effects you must first either set FORCE_PERMIT to True, or select the FORCE_OPTS option Force permit is not required to force Effects. Changing FORCE_PERMIT from True to False removes current forces.

The parameter LATENT_TRIP is True when:

If LATENT_TRIP is True, setting FORCE_PERMIT to False trips Effects that have been forced to Normal.

Setting FORCE_EFFECTn to Force Trip immediately transitions EFFECTn to Tripped even if DELAY_TIMEn is configured. Setting FORCE_EFFECTn to Force Normal immediately transitions EFFECTn to Normal, regardless of any configured recovery strategy. If STATEn is Trip Initiated-Delayed, setting FORCE_EFFECTn to Force Normal returns STATEn to Normal.

When CAUSEn is in a trip condition DELAY_TIMERn begins counting down. If you set FORCE_EFFECTn to Force Normal, then set it back to Do Not Force, DELAY_TIMERn resets and begins counting down again.

You can manipulate FORCE_EFFECTn from runtime interfaces. Manipulating FORCE_EFFECTn from within a module is not likely to be useful. Use the FORCE_OPTS option Forcing of multiple Effects is allowed to set whether multiple effects can be forced at the same time.

FORCE_OPTS includes an additional option: Force permit control should be visible in operator interface. Select this option if your force effect control is in an operator display. Do not select this option if you are using a key switch or other manual means to force effects.

Manipulate the parameter CAUSE_MASK to prevent one or more causes from becoming active under certain process conditions. Setting a bit in CAUSE_MASK to True prevents the corresponding CAUSEn from tripping any associated effects. If after an effect is tripped CAUSE_MASK masks the causes that tripped that effect, STATEn transitions out of Tripped. The state it transitions to depends on the configuration of the block parameters FORCE_EFFECTn, START_PERMITn, REQUIRE_RESETn, and RESET_PERMITn. Manipulate CAUSE_MASK using a Calc/Logic block based on process conditions, for example, the current batch phase. Do not manipulate CAUSE_MASK directly from runtime interfaces. To bypass process conditions use upstream voter blocks instead.

The OVERRIDESn parameter indicates if EFFECTn is being overridden. The OVERRIDESn values are:

ACTIVE_CAUSESn indicates the currently active causes that are associated with EFFECTn that are not masked in CAUSE_MASK. FIRST_OUTn indicates the cause or causes that first tripped EFFECTn. If additional causes become active, FIRST_OUTn does not change. FIRST_OUTn retains its value until EFFECTn returns to Normal.

For example, if CAUSE2 becomes active and EFFECT1 trips, ACTIVE_CAUSES1 and FIRST_OUT1 are both set to 2. If CAUSE3 (which is also associated with EFFECT1) subsequently becomes active, FIRST_OUT1remains 2 and ACTIVE_CAUSES1 becomes 6 (bits 2 and 3 of ACTIVE_CAUSES1 are set).

The following table summarizes the state-dependant conditions necessary to transition EFFECTn  value between Tripped and Normal.

REQUIRE_RESETn Value

State-dependent Conditions Required to Transition EFFECTn...

From Tripped to Normal

From Normal to Tripped

False

(All associated non-masked causes are inactive

and START_PERMITn = True)

or

FORCE_EFFECTn = Force Normal

Any associated non-masked cause is active

or

FORCE_EFFECTn = Force Trip

or

STATUS_OPT is set to Trip if Bad and any CAUSEn status is Bad.

True

(All associated non-masked causes are inactive

and RESET_PERMITn = True

and RESETn = True

and START_PERMITn = True)

or

FORCE_EFFECTn = Force Normal

Any associated non-masked cause is active

or

FORCE_EFFECTn = Force Trip

or

STATUS_OPT is set to Trip if Bad and any CAUSEn status is Bad.

The following descriptions and tables explain each state and the conditions necessary to transition to other allowable states. Note that the value of the RESETn parameter is set to False at the end of every execution independent of the current value of STATEn.

STATEn: Tripped

If STATEn is Tripped EFFECTn is also Tripped. STATEn remains Tripped as long as one or more associated non-masked causes are active and FORCE_EFFECTn is not Force Normal or FORCE_EFFECTn is Force Trip.

EFFECTn transitions from Tripped when all the associated non-masked causes are inactive. If an operator reset is not required and START_PERMITn is True, STATEn is set to Normal. If START_PERMITn is False, STATEn moves to Waiting for Start Permit. If an operator reset is required and RESET_PERMITn is True, STATEn becomes Ready to Reset. If RESET_PERMITn is False, the STATEn becomes Waiting for Reset Permit.

If FORCE_EFFECTn is Force Normal, STATEn changes to Normal regardless of the value of START_PERMITn or RESET_PERMITn.

The following table summarizes the possible changes STATEn can make from Tripped.

To Transition STATEn To...

Requires the Following Conditions

Waiting for Reset Permit

ACTIVE_CAUSESn = 0

and FORCE_EFFECTn = No Force

and REQUIRE_RESETn = True

and RESET_PERMITn = False

Ready to Reset

ACTIVE_CAUSESn = 0

and FORCE_EFFECTn = No Force

and REQUIRE_RESETn = True

and RESET_PERMITn = True

Waiting for Start Permit

ACTIVE_CAUSESn = 0

and FORCE_EFFECTn = No Force

and REQUIRE_RESETn = False

and START_PERMITn = False

Normal

(ACTIVE_CAUSESn = 0

and FORCE_EFFECTn = No Force

and REQUIRE_RESETn = False

and START_PERMITn = True)

or

FORCE_EFFECTn = Force Normal

STATEn: Waiting for Reset Permit

While STATEn is Waiting for Reset Permit, EFFECTn is set to Tripped. STATEn can transition to this state from Tripped or Ready to Reset if REQUIRE_RESETn is True. If REQUIRE_RESETn becomes False while STATEn is Waiting for Reset Permit, STATEn does not change until a reset occurs.

STATEn changes back to Tripped if an associated non-masked cause becomes active or FORCE_EFFECTn is Force Trip.

STATEn changes to Ready to Reset if RESET_PERMITn becomes True.

If FORCE_EFFECTn is Force Normal, STATEn changes to Normal regardless of the current values of START_PERMITn and RESET_PERMITn.

The following table summarizes the possible changes from Waiting for Reset Permit.

To Transition STATEn To...

Requires the Following Conditions

Tripped

ACTIVE_CAUSESn != 0

or

FORCE_EFFECTn = Force Trip

or

STATUS_OPT is set to Trip if Bad and any CAUSEn status is Bad.

Ready to Reset

RESET_PERMITn = True

Normal

FORCE_EFFECTn = Force Normal

STATEn: Ready to Reset

STATEn can transition to Ready to Reset from Tripped or Waiting for Reset Permit. EFFECTn is Tripped when STATEn is Ready to Reset.

To reach this state REQUIRE_RESETn must be True. If REQUIRE_RESETn becomes False while STATEn is Ready to Reset, the STATEn does not change until a reset occurs.

If an associated non-masked cause becomes active or FORCE_EFFECTn is Force Trip, STATEn changes to Tripped. If RESET_PERMITn becomes False, STATEn changes back to Waiting for Reset Permit.

If START_PERMITn is True, the STATEn changes to Normal when RESETn is True. If START_PERMITn is False, RESETn becoming True causes STATEn to change to Waiting for Start Permit.

If FORCE_EFFECTn is Force Normal, STATEn changes to Normal regardless of the values of START_PERMITn and RESETn.

The following table summarizes the possible changes of STATE,i>n from Ready to Reset.

To Transition STATEn To...

Requires the Following Conditions

Tripped

ACTIVE_CAUSESn != 0

or

FORCE_EFFECTn = Force Trip

or

STATUS_OPT is set to Trip if Bad and any CAUSEn status is Bad.

Waiting for Reset Permit

RESET_PERMITn = False

Waiting for Start Permit

RESETn = True

and START_PERMITn = False

Normal

(RESETn = True

and START_PERMITn = True)

or

FORCE_EFFECTn = Force Normal

STATEn: Waiting for Start Permit

STATEn can change from Tripped or Ready to Reset to Waiting for Reset Permit. EFFECTn is Tripped when STATEn is Waiting for Start Permit.

If an associated non-masked cause becomes active or FORCE_EFFECTn is Force Trip, STATEn changes to Tripped.

If START_PERMITn is True, STATEn changes to Normal.

If FORCE_EFFECTn is Force Normal, STATEn changes to Normal regardless of the current value of STATEn.

The following table summarizes the possible changes of STATEn from Waiting for Start Permit.

To Transition STATEn To...

Requires the Following Conditions

Tripped

ACTIVE_CAUSESn != 0

or

FORCE_EFFECTn = Force Trip

or

STATUS_OPT is set to Trip if Bad and any CAUSEn status is Bad.

Normal

START_PERMITn = True

or

FORCE_EFFECTn = Force Normal

STATEn: Normal

EFFECTn is Normal when STATEn is Normal.

STATEn changes when a trip is initiated, that is, when one or more non-masked causes associated with EFFECTn become active and FORCE_EFFECTn is not Force Normal or FORCE_EFFECTn is Force Trip. If EFFECTn is not being sequenced with other effects, STATEn becomes Tripped immediately. Use DELAY_TIMEn to set how long to delay the transition to Tripped.  If DELAY_TIMEn is non-zero STATEn changes to Trip Initiated-Delayed. If FORCE_EFFECTn is Force Trip, STATEn becomes Tripped immediately. 

The following table summarizes the possible changes from Normal.

To Transition STATEn To...

Requires the Following Conditions

Tripped

(ACTIVE_CAUSESn != 0

and FORCE_EFFECTn != Force Normal

and DELAY_TIMEn = 0)

or

FORCE_EFFECTn = Force Trip

or

STATUS_OPT is set to Trip if Bad and any CAUSEn status is Bad.

Trip Initiated-Delayed

ACTIVE_CAUSESn != 0

and FORCE_EFFECTn != Force Normal  and DELAY_TIMEn > 0

or

STATUS_OPT is set to Trip if Bad and any CAUSEn status is Bad.

STATEn: Trip Initiated - Delayed

When STATEn is Trip Initiated - Delayed the trip condition has occurred, but EFFECTn continues to be Normal until DELAY_TIMEn seconds have elapsed.

The timer DELAY_TIMERn decrements from DELAY_TIMEn each scan based on the block's scan rate. The timer continues to count down even if no causes remain active.

When DELAY_TIMERn reaches zero, STATEn changes to Tripped even if there are no active causes. If FORCE_EFFECTn becomes Force Trip while DELAY_TIMERn is still decrementing, STATEn changes immediately to Tripped.

Setting FORCE_EFFECTn to Force Normal while DELAY_TIMERn is decrementing prevents EFFECTn from evolving to Tripped and changes STATEn back to Normal.

The following table summarizes the possible changes from Trip Initiated-Delayed.

To Transition STATEn To...

Requires the Following Conditions

Tripped

FORCE_EFFECTn = Force Trip

or

DELAY_TIMERn = 0

or

STATUS_OPT is set to Trip if Bad and any CAUSEn status is Bad.

Normal

FORCE_EFFECTn = Force Normal