Получите идентификатор типа данных для элемента шины
int_T ssGetBusElementDataType(SimStruct* S, int_T busTypeID, int_T elemIdx)
S
SimStruct, который представляет блок S-Function
busTypeID
Идентификатор типа данных шины, который представляет сигнал шины
elemIdx
Нулевой индекс элемента шины
int_T
Используйте, чтобы получить идентификатор типа данных для определенного элемента шины в сигнале шины. Используйте идентификатор типа данных, чтобы определить полезные аспекты элемента шины, включая количество элементов (если этот элемент шины сам является сигналом шины) или размер данных (ssGetDataTypeSize
).
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 (elemType == SS_DOUBLE) { /* Process signal here */ } else { ... } } }