exponenta event banner

ssGetOutputPortSignal

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

Синтаксис

void *ssGetOutputPortSignal(SimStruct *S, int_T port)

Аргументы

S

SimStruct представляет S-функциональный блок.

port

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

Прибыль

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

Описание

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

Примечание

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

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