ssGetOutputPortRealSignal

Получите указатель на выходной сигнал типа double (real_T)

Синтаксис

real_T *ssGetOutputPortRealSignal(SimStruct *S, int_T port)

Аргументы

S

SimStruct, представляющий Блок s-function.

порт

Индекс выходного порта.

Возвращается

Непрерывный вектор real_T длины равняется ширине выходного порта.

Описание

Используйте в любой стандартной программе цикла моделирования, mdlInitializeConditions или mdlStart, чтобы получить доступ к сигналу выходного порта, где индекс выходного порта запускается в 0 и должен быть меньше, чем количество выходных портов.

Примечание

Вы не можете использовать ssGetOutputPortRealSignal нигде кроме mdlOutputs, если вы указали, что выходные порты являются допускающим повторное использование использованием ssSetOutputPortOptimOpts. Например, если выходные параметры были заданы как допускающие повторное использование с флагом SS_REUSABLE_AND_LOCAL, ошибки стандартной программы mdlUpdate, когда он пытается получить доступ к выводу memory, который недоступен.

Языки

C, C++

Пример

Чтобы записать во все выходные порты, вы использовали бы

int_T i,j;
int_T nOutputPorts = ssGetNumOutputPorts(S);
for (i = 0; i < nOutputPorts; i++) {
  real_T *y = ssGetOutputPortRealSignal(S,i);
  int_T  ny = ssGetOutputPortWidth(S,i);
  for (j = 0; j < ny; j++) {
    y[j] = SomeFunctionToFillInOutput();
  }
}

Смотрите S-функцию sfun_atol.c, используемый в sfcndemo_sfun_atol для полного примера, который использует эту функцию.

Смотрите также

ssGetInputPortRealSignalPtrs

Представлено до R2006a

Была ли эта тема полезной?