Получите указатели на сигналы типа double, соединенный с входным портом
InputRealPtrsType ssGetInputPortRealSignalPtrs(SimStruct *S, int_T port)
SSimStruct, представляющий Блок s-function.
портИндекс порта, сигнал которого требуется.
Указатели на элементы сигнала типа double, соединенный с входным портом, заданным индексом port.
Этот макрос возвращает указатель на массив указателей на элементы входного сигнала real_T. Длина массива указателей равна ширине входного порта. Индекс входного порта запускается в 0 и заканчивается в количестве входных портов минус 1.
Макрос ssGetInputPortRealSignalPtrs становится функцией, когда вы компилируете свою S-функцию в режиме отладки (mex -g).
C, C++
Следующий пример читает все сигналы входного порта.
int_T i,j;
int_T nInputPorts = ssGetNumInputPorts(S);
for (i = 0; i < nInputPorts; i++) {
InputRealPtrsType uPtrs =
ssGetInputPortRealSignalPtrs(S,i);
int_T nu = ssGetInputPortWidth(S,i);
for (j = 0; j < nu; j++) {
SomeFunctionToUseInputSignalElement(*uPtrs[j]);
}
}
Смотрите S-функцию sfun_atol.c, используемый в sfcndemo_sfun_atol для полного примера с помощью этой функции.
ssGetInputPortWidth, ssGetInputPortDataType, ssGetInputPortSignalPtrs