Определите, представляет ли идентификатор типа данных шину
int_T ssIsDataTypeABus(S, int_T typeID)
S
SimStruct, который представляет Блок 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 */ ... } } }