Provide junction for splitting function-call line
Simulink / Ports & Subsystems
The Function-Call Split block allows a function-call line to branch and connect to several function-call subsystems or function-call models.
The function-call subsystem or function-call model connected to the output port of the Function-Call Split block that is marked with a dot execute before the subsystems or models connected to other output ports. If data dependencies between subsystems or models do not support the specified execution order, the Function-Call Split block returns an error. To eliminate this error, consider selecting the Latch input for feedback signals of function-call subsystem outputs parameter on one or more Inport blocks of the function-call subsystems models involved in a data-dependency loop. Selecting this option delays the corresponding function-call, thereby eliminating the data-dependency loop.
If you select the model menu option Display > Blocks > Sorted
Execution Order, then the execution order of function-call subsystems
connected to branches of a given function-call signal appears on the blocks . Each
subsystem has an execution order of the form s:[B#]
where
#
is a number that ranges from 0 to one less than the total
number of subsystems or models connected to branches of a given signal. The subsystems
execute in ascending order based on this number.
The Function-Call Split block supports Signal Label Propagation.
The following model shows how to apply the Latch input for feedback signals of function-call subsystem outputs parameter to work around a data-dependency error caused by using a Function-Call Split block. By turning this parameter on in the f1 subsystem Inport block, the Function-Call Split block ignores the data dependency of signal b. The block breaks the loop of data dependencies between subsystems f1 and g1. The model achieves the behavior of consistently calling f1 to execute before g1. For a given execution step, subsystem f1 uses the g1 output computed at the previous execution step.
The Function-Call Split block has these limitations:
All function-call subsystems and models connected to a given function-call signal must reside within the same nonvirtual layer of the model hierarchy.
You cannot connect branched function-call subsystems or models and their children directly back to the function-call initiator.
Function-call subsystems and models connected to branches of a function-call signal cannot have multiple (muxed) initiators.
A Function-Call Split block cannot have its input from a signal with multiple function-call elements.
Data Types |
|
Direct Feedthrough |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
Zero-Crossing Detection |
|