Получите идентификатор типа данных для элемента шины
int_T ssGetBusElementDataType(SimStruct* S, int_T busTypeID, int_T elemIdx)
SSimStruct, который представляет Блок 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 {
...
}
}
}