| Contents | Index |
const int_T* ssGetBusElementDimensions(SimStruct* S, int_T busTypeID, int_T elemIdx)
SimStruct that represents an S-Function block
The bus data type identifier that represents the bus signal
The zero-based bus element index
const int_T*
Obtain the dimensions (const int_T*) for the bus element that you specify. To iterate over the integer array that ssGetBusElementDimensions returns, use ssGetBusElementNumDimensions.
Use this S-function in simulations. You cannot use this S-function for code generation.
This S-function does not support bus elements that have any of the following characteristics:
Variable dimensions
Frames
Enumerated (enum) data types
To use this S-function and other bus-related S-functions, before you run the simulation, execute the following MATLAB command:
set_param(block_handle, 'EnableBusSupport', 'on')
To automate setting the EnableBusSupport parameter, use one of the following approaches:
Add the command to the model initialization callback.
Mask the S-Function block and add the command to the mask initialization callback
C, C++
static void mdlOutputs(SimStruct *S, int_T tid)
{
DTypeId dType = ssGetOutputPortDataType(S, 0);
const void *u = ssGetInputPortSignal(S, 0);
int numElems = ssGetNumBusElements(S, dType);
int i;
for(i=0; i<numElems; i++) {
int_T numDims = ssGetBusElementNumDimensions(S, dType, i);
const int_T *dims = ssGetBusElementDimensions(S, dType, i);
int width = 1;
int j;
/* Compute width of the bus element */
for(j=0; j<numDims; j++) {
width *= dims[j];
}
}
}

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |