exponenta event banner

Установка типа данных выходного порта

В S-функции может потребоваться задать тип данных различных портов, параметров времени выполнения или DWorks.

Например, предположим, что необходимо задать тип данных выходного порта для S-функции. Для этого

  1. Зарегистрируйте тип данных с помощью одной из функций, перечисленных в таблице Функции регистрации типов данных. Возвращается идентификатор типа данных.

    Кроме того, можно использовать один из предварительно определенных идентификаторов типов данных встроенных типов данных Simulink ®.

  2. Использовать ssSetOutputPortDataType с идентификатором типа данных с шага 1 для установки выходного порта на требуемый тип данных.

В приведенном ниже примере из строк 336 - 352 из sfun_user_fxp_const.c, ssRegisterDataTypeFxpBinaryPoint используется для регистрации типа данных. ssSetOutputPortDataType затем устанавливает тип выходных данных либо для данного идентификатора типа данных, либо для динамического ввода:

/* Register data type
   */
if ( notSizesOnlyCall )
  {
 DTypeId DataTypeId = ssRegisterDataTypeFxpBinaryPoint(
            S,
V_ISSIGNED,
V_WORDLENGTH,
V_FRACTIONLENGTH,
1 /* true means obey data type override setting for
this subsystem */ );

ssSetOutputPortDataType( S, 0, DataTypeId );
   }
  else
  {
ssSetOutputPortDataType( S, 0, DYNAMICALLY_TYPED );
}

Связанные темы