Определите, представляет ли идентификатор типа данных шину
int_T ssIsDataTypeABus(S, int_T typeID)
SSimStruct, который представляет Блок s-function
typeIDИдентификатор типа данных, который представляет сигнал
int_T значение 1 для шины, 0 для сигнала нешины или -1 для недопустимого typeID.
Используйте, чтобы определить, представляет ли идентификатор типа данных для сигнала шину и является ли элементом шины другой шины самостоятельно шина. Чтобы получить идентификатор типа данных для элемента шины, использовать ssGetBusElementDataType.
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 elemType = ssGetBusElementDataType(S, dType, i);
if (ssIsDataTypeABus(S, elemType) == 1) {
/* Sub-bus element */
...
}
}
}