With variable sized signals in Simulink, how can TLC code access the "CurrentDimensions" of a variable sized signal?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
For context, imagine an S-function that outputs a variable-sized signal. How can code be generated that specifies not only the signal's value, but also its current dimensions (since they are variable).
TLC library functions like LibBlockOutputSignalDimensions only return the numeric values for the signal's maximum dimensions (e.g. [1 16]). Variable-sized signals have block state variables that hold the "actual" dimensions. How can we gain access to the C language variable names that hold this state?
For example, here is the automatically generated C code struct that holds the block states I want to access:
<< in the ModelName.h file >>
/* Block states (auto storage) for system '<Root>' */
typedef struct
{
int32_T MyBlock_DIMS1[2]; /* '<Root>/MyBlock' */
}
DW_ModelName_T;
<< in the ModelName.c file >>
/* Block states (auto storage) */
DW_ModelName_T ModelName_DW;
So for this example, I'm looking for TLC syntax that emits something similar to ModelName_DW.MyBlock_DIMS1 into my generated code.
0 Kommentare
Antworten (1)
Prashant Arora
am 26 Apr. 2017
Hi Keith,
Have you tried using LibBlockInputSignalWidth or LibBlockInputSignalSymbolicWidth?
I have not tried it myself, but it does seem to do the expected.
1 Kommentar
Siehe auch
Kategorien
Mehr zu Simulink Coder finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!