Определите, представляет ли идентификатор типа данных шину
int_T ssIsDataTypeABus(S, int_T typeID)
S
SimStruct, который представляет блок S-Function
typeID
Идентификатор типа данных, который представляет сигнал
The int_T
значение 1
для автобуса, 0
для сигнала, отличного от bus, или -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 */ ... } } }