Hitachi

JP1 Version 12 JP1/Client Process Automation Configuration and Administration Guide


5.4.1 Action flow execution function

This function controls the execution order of actions, event monitors, and action flows according to the settings of action flows.

Organization of this subsection

(1) Execution order control function

This function executes actions, event monitors, and action flows in the order in which relation lines are connected. When the unit at the starting end of a relation line (which is indicated by the arrows in the figure below) ends either normally or with a warning, the unit at the destination end of the relation line is executed. There are two types of relation lines: one that takes effect when the preceding unit ends normally and one that takes effect when the preceding unit ends with a warning. If the preceding unit ends abnormally, the subsequent unit does not run.

Each unit defined in an action flow must have a unique name.

(2) Termination status and relation lines

The Ended states of a unit can largely be categorized into Ended normally, Ended with warning, and Ended abnormally. Relation lines, on the other hand, are available in two types: normal relation lines and warning relation lines.

The following figure shows the possible Ended states of the preceding unit and the relation lines extending from it.

Figure 5‒1: Possible Ended states of the preceding unit and the relation lines extending from it

[Figure]

The subsequent unit at the end of a normal relation line is executed when the Ended state of the preceding unit is Ended normally. In the example shown in Figure 5-1, unit B is executed when unit A ends normally.

The subsequent unit at the end of a warning relation line is executed when the Ended state of the preceding unit is Ended with warning. In the example shown in Figure 5-1, unit C is executed when unit A ends with warning.

Note that when the type of a relation line does not match the Ended state of the preceding unit, the unit at the destination end of that relation line is not executed. For the example in Figure 5-1, if unit A ends normally, unit C is not executed and enters a special state that is not the normal or abnormal state, namely, the Condition not satisfied state.

The behavior of a subsequent unit is determined by whether the type of the relation line matches the state of the preceding unit, whether the preceding unit has the Condition not satisfied state, and the execution conditions specified for the unit.

The following table describes the execution rules of the subsequent unit based on the above conditions.

Table 5‒3: Rules concerning relation lines and the execution of units

No.

State(s) of the preceding unit(s)

Combinations of preceding units and relation lines

Behavior of the subsequent unit

See

1

At least one preceding unit is in the Ended abnormally state.

One or more of the preceding units ended abnormally.

The subsequent unit stops in the Wait for start state.

Figure 5-2

2

None of the preceding units are in the Ended abnormally state or the Condition not satisfied state. (All of them are in either the Ended normally or Ended with warning state.)

The states of relation lines and the unit execution conditions all match those of its preceding unit.

The subsequent unit is executed.

Figure 5-3

3

The state of at least one relation line does not match the state of its preceding unit, or the unit execution conditions are not met.

The subsequent unit is not executed (enters the Condition not satisfied state or the Ended normally (unexec) state).

4

Although no preceding units are in the Ended abnormally state, one or more preceding units are in the Condition not satisfied state. (The rest of them are in either the Ended normally or Ended with warning state.)

The states of relation lines and the unit execution conditions match those of its preceding unit, except when the preceding unit is in the Condition not satisfied state.

The subsequent unit is executed.

Figure 5-4

5

The state of at least one relation line does not match the state of its preceding unit, except when the preceding unit is in the Condition not satisfied state, or the unit execution conditions are not met.

The subsequent unit is not executed (enters the Condition not satisfied state or the Ended normally (unexec) state).

6

Every preceding unit is in the Condition not satisfied state.

Every preceding unit is in the Condition not satisfied state.

The subsequent unit is not executed (enters the Condition not satisfied state).

Figure 5‒2: Behavior of the subsequent unit when the preceding unit ends abnormally

[Figure]

Figure 5‒3: Behavior of the subsequent unit when the preceding unit ends normally or with warning

[Figure]

Figure 5‒4: Behavior of the subsequent unit when a preceding unit has the Condition not satisfied state

[Figure]

The following figures show how the action flow works when it contains relation lines pertaining to the Ended normally and Ended with warning states.

Figure 5‒5: Example of how the action flow works when unit A ends normally

[Figure]

Figure 5‒6: Example of how the action flow works when unit A ends with warning

[Figure]

Furthermore, the Ended state of an action flow is determined by the states of the actions it holds as shown in the following table.

Table 5‒4: Ended state of the action flow

No.

States of the actions inside the action flow

Ended state of the action flow

1

At least one action ended abnormally.

Ended abnormally

2

No action ended abnormally but at least one action ended with a warning.

Ended with warning

3

No action ended abnormally or with a warning.

Ended normally

(3) Notes on using a warning relation line

When you use a warning relation line, the subsequent unit as the destination of the normal relation line will have the Condition not satisfied state when the preceding unit ends with a warning. Note that it affects the behavior of the subsequent unit.

The following figure shows an example of how the use of a warning relation line gives rise to an unwanted behavior when the preceding unit does not end normally.

Figure 5‒7: Example of using a warning relation line

[Figure]

In this case, you can avoid the behavior to add a process, which is end with warning explicitly, and which is connecting to the original execution order with normal relation line.

The following figure shows an example of how to prevent.

Figure 5‒8: Example of how to prevent a subsequent unit from behaving in a certain manner

[Figure]