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

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

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

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

    Кроме того, можно использовать один из предопределенных идентификаторов типа данных 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 );
}

Похожие темы