Engee documentation

Subsystem

A block for creating a model hierarchy.

blockType: SubSystem

Path in the library:

/Basic/Ports & Subsystems/Subsystem

Description

Block Subsystem contains a subset of blocks within the model or system. Block Subsystem It can represent a virtual subsystem or an atomic subsystem.

  • An atomic subsystem is a subsystem whose contents are interpreted as a single unit (atomic execution). Allows you to create conditionally executed subsystems: that is, those that are triggered only when a certain event occurs.

  • A virtual subsystem is a subsystem that is executed neither conditionally nor atomically. When determining the order of execution, the blocks of such a subsystem are considered to be located at the same level as the subsystem itself. The virtual subsystem serves solely to increase the readability of the model and does not affect its operation in any way.

To switch a virtual system to an atomic one, set the value of the Treat as atomic unit parameter to true.

To create a subsystem, copy the block Subsystem from the Ports & Subsystems library to the model. Then add the blocks to the subsystem by opening the block Subsystem and by copying blocks into it.

The number of input ports displayed on the block icon Subsystem, corresponds to the number of input port blocks In1 in the subsystem. Similarly, the number of output ports drawn on a block corresponds to the number of blocks Out1 in the subsystem.

Ports

Input

In — signal input to the
scalar | vector | matrix

Block placement In1 the subsystem adds an external input port to the block Subsystem. The port label matches the block name In1.

Use blocks In1 to receive signals from the local environment.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Output

Out — output signal from the
scalar | vector | matrix

Block placement Out1 the subsystem adds an output port from the block Subsystem. The port label matches the block name Out1.

Use blocks Out1 to send signals to the local environment.

Data types: Float64

Parameters

Sample time — interval between steps of calculation of
-1 (by default)

Interval between calculation steps (non-negative number). To inherit the calculation step, set this parameter to '-1'.

Treat as atomic unit — the ability to execute the subsystem as a single unit
disabled (by default) | enabled

Forces us to consider the subsystem as a whole when determining the order of execution of blocks in the model.

  • off — all blocks in the subsystem are considered to be at the same level in the hierarchy of the model as the subsystem when determining the order of execution of blocks. This can lead to alternating execution of block methods in the subsystem with execution of block methods outside the subsystem.

  • enabled — all blocks in the subsystem are considered as a single unit when determining the order in which blocks are executed. For example, when it is required to calculate the output of a subsystem, the system calls the output methods of all blocks in the subsystem before calling the output methods of other blocks at the same level as the block Subsystem.

Additional options

C code generation: Yes

Verilog generation: Yes