ssGetOutputPortSignal

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

Синтаксис

void *ssGetOutputPortSignal(SimStruct *S, int_T port)

Аргументы

S

SimStruct, представляющий блок S-Function.

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