Function-Call Split
A component that divides a function-call signal into several parts.
blockType: FunctionCallSplit
Path in the library:
|
Description
Block Function-Call Split allows a function-call signal to branch out and lead to several function-call subsystems.
Function-call subsystem connected to the output port of the block Function-Call Split, marked with a dot, runs before subsystems connected to other output ports. If the data dependencies between subsystems do not support the specified execution order, block Function-Call Split returns an error. To fix this error, we recommend using the block Unit Delay. Adding this block delays the corresponding function call, thereby eliminating the data dependency cycle.
To display the execution order of the function-call subsystems connected to the branches of the specified function-call signal, in the settings of the Engee editor on the Debugging tab in the Information display section, select the checkbox next to the Block execution order option.
The following model shows how to use the block Unit Delay
to bypass the data dependency error caused by the block Function-Call Split.
The block breaks the cycle of data dependencies between subsystems f1
and g1'. The model provides sequential execution of `f1
before g1'. At this stage of execution, the subsystem `f1
uses the output data g1
calculated at the previous stage of execution.
Limitations
Block Function-Call Split It has the following limitations:
-
All function-call subsystems connected to this function-call signal must be at the same level of the model hierarchy.
-
Branched function-call subsystems and their child elements cannot be directly connected to the initiator of the function call.
-
Function-call subsystems connected to the branches of the function-call signal cannot have multiple (multiplexed) signal sources.
-
You cannot receive function-call signals from the
Merge
components and send the final signal to the block input. Function-Call Split.
Ports
Input
#
IN_1
—
function call string
scalar
Details
The blocks Function-Call Generator, Engee Function or Hit Crossing can be sources of function call events.
Data types |
|
Complex numbers support |
Yes |
Output
#
test
—
function-call signal
scalar
Details
A function call string connected to the function-call subsystem.
Data types |
|
Complex numbers support |
Yes |
#
OUT_2
—
function-call signal
scalar
Details
A function call string connected to the function-call subsystem.
Data types |
|
Complex numbers support |
Yes |
Parameters
Main
#
Icon shape —
choosing the shape of the block icon
distinctive
| round
Details
Choosing the shape of the block icon.
The parameter can take the following values:
-
distinctive
— rectangular block icon; -
round
— round block icon.
Block parameter: |
Type: character vector |
Values: |
By default: |
Values |
|
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
No |
#
Number of output ports —
specifying the number of output ports
Int64 integer
Details
Specifies the number of output ports of the function-call signal.
The parameter can take the following values:
-
2
— two function call output ports; -
`integer' — integer.
Block parameter: |
Type: character vector |
Values: |
By default: |
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
#
Output port layout —
choosing the order of the output ports
default
| reverse
Details
Choosing the order of the output ports of the function call, depending on which port provides the function call first (this port is marked with a dot on the block icon).
The parameter can take the following values:
-
default
— the upper port is the first to provide a function call; -
reverse
— The lower port is the first to provide a function call.
Block parameter: |
Type: character vector |
Values: |
By default: |
Values |
|
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
No |