Block compatibility¶
This section lists the compatibility of Simulink blocks and other functionality with PMP. The blocks are sorted by the library in which they are located in Simulink.
Blocks can be composed arbitrarily to form complex models as long as the Simulink code generator accepts the model. Blocks which cannot be used in combination with code generation for PMP can be used outside of the subsystem for which code is generated. Such blocks can thus be used for Simulink simulation purposes only.
If code generation accepts and generates code from a model it can be deployed in PMP. Users are not restricted to using the blocks listed below, i.e. no error is enforced when generating code for other blocks. This list states the blocks which are verified to work, blocks that have known limitations or are known incompatible.
Simulink¶
Discontinuities¶
Block |
Supported |
Remarks |
---|---|---|
Rate Limiter |
Adjusting the limits as a parameter is only possible when the Sample time mode is set to continuous. This is a Simulink enforced limitation. |
|
Saturation |
Discrete¶
Block |
Supported |
Remarks |
---|---|---|
Discrete Derivative |
||
Discrete Filter |
||
Discrete Transfer Fcn |
||
Unit Delay |
||
Discrete-Time Integrator |
Adjusting the gain as a parameter is not possible. This is a Simulink enforced limitation. |
|
Discrete Zero-Pole |
||
Resettable Delay |
uint8 is not supported |
|
Transfer Fcn First Order |
||
Transfer Fcn Lead or Lag |
||
Transfer Fcn Real Zero |
||
Variable Integer Delay |
Adjusting the delay length as a parameter is not possible. This is a Simulink enforced limitation. |
Logic and Bit Operations¶
Block |
Supported |
Remarks |
---|---|---|
Compare To Constant |
||
Compare To Zero |
||
Interval Test |
||
Logical Operator |
||
Relational Operator |
Lookup Tables¶
Block |
Supported |
Remarks |
---|---|---|
1-D Lookup Table |
The parameter Maximum indices for each dimension may only be set to a lower value via PMP, not larger. |
LUT data can be updated via PMP using PmpUpdatables or PmpParameters, for more information about the corresponding PMP entities see Vector and matrix representation.
For a 1-D LUT all table data is stored consecutively after each other. The same holds for the breakpoint data. The table data and breakpoints (formerly known as Vector of input values) are available as separate updatables/parameters. LUT dimensions can only be modified via parameters (not directly via an updatable). These signals are only available when the corresponding option in Simulink is enabled and when PmpParameter is used to create a PT.Parameter.
Math Operations¶
Block |
Supported |
Remarks |
---|---|---|
Signum (Abs, Sign) |
||
Concatenate (Vector Concatenate, Matrix Concatenate) |
||
Gain |
||
MinMax |
||
Polynomial |
||
Product (Divide, Product of Elements) |
||
Sum (Add, Subtract, Sum of Elements) |
||
Unary Minus |
||
Sine Wave (Sine Wave Function) |
Ports & Subsystems¶
Block |
Supported |
Remarks |
---|---|---|
Inport (In1) |
||
Outport (Out1) |
||
Subsystem |
Signal Attributes¶
Block |
Supported |
Remarks |
---|---|---|
Data Type Conversion |
||
Data Type Duplicate |
Signal Routing¶
Block |
Supported |
Remarks |
---|---|---|
Bus Creator |
||
Bus Selector |
||
Demux |
||
From |
||
Goto |
||
Goto Tag Visibility |
||
Manual switch |
uint8 is not supported |
|
Multiport Switch |
||
Mux |
||
Selector |
||
Switch |
||
Vector Concatenate |
Sinks¶
Block |
Supported |
Remarks |
---|---|---|
Outport (Out1) |
||
Terminator |
Sources¶
Block |
Supported |
Remarks |
---|---|---|
Constant |
||
Ground |
||
Inport (In1) |
||
Sine Wave |