ssGetOutputPortSignal

Получите вектор элементов сигнала, испускаемых выходным портом

Синтаксис

void *ssGetOutputPortSignal(SimStruct *S, int_T port)

Аргументы

S

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

порт

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

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

Указатель (void *) к вектору элементов сигнала вывод в порте, заданном индексом port.

Описание

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

Примечание

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

Примечание

Если выходы порта сигнал типа 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 для полного примера, который использует эту функцию.

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

ssGetOutputPortRealSignal

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

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