Получение вектора сигнальных элементов, испускаемых выходным портом
void *ssGetOutputPortSignal(SimStruct *S, int_T port)
SSimStruct представляет S-функциональный блок.
portИндекс выходного порта.
Указатель (void *) к вектору сигнальных элементов, выводимому на порт, заданный индексом port.
Использование в любой программе цикла моделирования, mdlInitializeConditions, или mdlStart получение вектора сигнальных элементов, испускаемых выходным портом.
Примечание
Если указано, что выходные порты повторно используются с помощью , то вы не можете использовать ssSetOutputPortOptimOptsssGetOutputPortSignal в любом месте, кроме mdlOutputs. Например, если выходы были указаны как повторно используемые с SS_REUSABLE_AND_LOCAL флаг, mdlUpdate ошибки программы, так как она пытается получить доступ к недоступной выходной памяти.
Примечание
Если порт выдает сигнал типа double (real_T), использовать ssGetOutputPortRealSignal чтобы получить вектор сигнала и избежать необходимости вводить выходной сигнал ssGetOutputPortSignal.
C, C++
Предположим, что типы данных выходного порта: int16_T.
nOutputPorts = ssGetNumOutputPorts(S);
for (i = 0; i < nOutputPorts; i++) {
int16_T *y = (int16_T *)ssGetOutputPortSignal(S,i);
int_T ny = ssGetOutputPortWidth(S,i);
for (j = 0; j < ny; j++) {
SomeFunctionToFillInOutput(y[j]);
}
}
См. S-функцию sfun_port_constant.c используется в sfcndemo_port_constant полный пример использования этой функции.