modelLoopBreakingTransition

Transition to break loops by introducing an artificial time delay (immediately fire and then wait)
Diagram of LoopBreakingTransition

Information

Every loop in a StateGraph2 model needs to have at least one delayed transition. If this is not the case, a delay needs to be introduced at one transition of a loop. The "LoopBreakingTransition" is designed to replace an (immediate) Transition by a Transition that fires immediately, and then waits in an internal step for the defined delay time. The semantics is therefore slightly different if a Transition with "delayedTransition = true" is used. In the latter case, the transition only fires after the delay time and the fire condition must remain true during this time period.

A LoopBreakingTransition is just a convenient short hand notation for the combination of a Transition, a Step, and a delayed Transition as shown in the following table:

LoopBreakingTransition Equivalent system

In the following table different configurations of a LoopBreakingTransition are shown:

Parameter setting Icon Description
Default transition The LoopBreakingTransition fires when the preceding step is active and the expression "condition" in the parameter menu is true. After a "waitTime" (here: 0.001 s) the succeding step is activated.
use_conditionPort = true The LoopBreakingTransition fires when the preceding step is active and connector "conditionPort" is true. After a "waitTime" (here: 0.001 s) the succeding step is activated.
use_firePort = true Connector "firePort" is true when the LoopBreakingTransition fires and the internal Step of this element is activated. Actions may be triggered, e.g., by connecting block MultiSwitch to the firePort.

Parameters

TypeNameDefaultDescription
Booleanuse_conditionPortfalse= true, if conditionPort enabled
Booleanuse_firePortfalse= true, if firePort enabled
Modelica.Units.SI.TimewaitTime0.001Time to wait in internal step after transition fired

Connectors

TypeNameDefaultDescription
Modelica_StateGraph2.Internal.Interfaces.Transition_ininPortInput port of transition (exactly one connection to this port is required)
Modelica_StateGraph2.Internal.Interfaces.Transition_outoutPortOutput port of transition (exactly one connection from this port is required)
Modelica.Blocks.Interfaces.BooleanInputconditionPortFire condition as Boolean input.
Modelica.Blocks.Interfaces.BooleanOutputfirePort= true, if transition fires

Components

TypeNameDefaultDescription
BooleanconditiontrueFire condition (time varying Boolean expression)
Booleanfire= true, if transition fired (afterwards, there will be a delay time of waitTime)