Создайте порты ввода и вывода

Создание Input port для уровня 2 S-функции MATLAB

Создать и сконфигурировать входные порты, setup метод должен сначала задать количество портов S-входного-параметра-функции, с помощью объекта периода выполнения NumInputPorts свойство. Затем, если все входные порты наследовали свои функциональные свойства (тип данных, размерности, сложность, и режим выборки) от их входных сигналов, включают следующую линию в setup метод:

block.SetPreCompInpPortInfoToDynamic;

Затем для каждого входного порта, setup метод может задать

  • Размерности входного порта, с помощью блока. InputPort (nРазмерности.

    Чтобы индивидуально указать, что размерности входного порта динамически измерены, присвойте значение -1 к размерностям. В этом случае можно реализовать SetInputPortDimensions метод, чтобы установить размерности во время распространения сигнала.

  • Имеет ли входной порт прямое сквозное соединение, с помощью блока. InputPort (n). DirectFeedthrough.

    Порт имеет прямое сквозное соединение, если вход используется в Outputs функции, чтобы вычислить или выходные параметры или следующий хит шага расчета. Прямой проходной флаг для каждого входного порта может быть установлен в любой 1=yes или 0=no. Установка прямого проходного флага к 0 говорит механизм Simulink® что u не используется, чтобы вычислить выходные параметры или следующий хит шага расчета. Нарушение этого приводит к непредсказуемым результатам.

  • Тип данных входного порта, с помощью блока. InputPort (n). DatatypeID. Смотрите объяснение свойства DatatypeID в Simulink.BlockData страница с описанием объекта данных для списка допустимых идентификаторов типа данных.

    Если вы хотите, чтобы тип данных порта зависел от типа данных порта, с которым это соединяется, задайте тип данных как -1. В этом случае можно реализовать SetInputPortDataType метод, чтобы установить тип данных во время распространения сигнала.

  • Числовой тип входного порта, если порт принимает сигналы с комплексным знаком, с помощью блока. InputPort (n). Сложность.

    Если вы хотите, чтобы числовой тип порта зависел от числового типа порта, с которым это соединяется, задайте числовой тип как 'Inherited'. В этом случае можно реализовать SetInputPortComplexSignal метод, чтобы установить числовой тип во время распространения сигнала.

Для примера, который конфигурирует S-функцию Level 2 MATLAB® с несколькими портами ввода и вывода, откройте модель sldemo_msfcn_lms и смотрите S-функцию adapt_lms.m.

Создание выходных портов для уровня 2 S-функции MATLAB

Создать выходные порты для Уровня 2 S-функции MATLAB setup метод должен сначала задать количество выходных портов S-функции, с помощью объекта периода выполнения NumOutputPorts свойство. Затем, если все выходные порты наследовали свои функциональные свойства (тип данных, размерности, сложность, и режим выборки), включают следующую линию в setup метод:

block.SetPreCompOutPortInfoToDynamic;

Сконфигурируйте выходные порты точно, как вы конфигурируете входные порты. Смотрите Создание Input port для Уровня 2 S-функции MATLAB для списка свойств, которые можно задать для каждого выходного порта, заменив OutputPort для InputPort в каждом вызове объекта периода выполнения.

Скалярное расширение входных параметров

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

S-функция MEX C mdlInitializeSizes метод включает скалярное расширение входных параметров путем установки SS_OPTION_ALLOW_INPUT_SCALAR_EXPANSION опция, с помощью ssSetOptions.

Многопортовые S-функции маскированные

Если вы разрабатываете замаскированные многопортовые Блоки s-function, количество которых портов варьируется на основе некоторого параметра, и хотят разместить их в Библиотеку Simulink, необходимо указать, что маска изменяет внешний вид блока. Для этого выполните команду

  set_param(blockname,'MaskSelfModifiable','on')

в командной строке MATLAB прежде, чем сохранить библиотеку, где blockname полный путь с блоком. Отказ указать, что маска изменяет внешний вид средних по блокам, что экземпляр блока в модели возвращается к количеству портов в библиотеке каждый раз, когда вы загружаете модель или обновляете ссылку библиотеки.

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

| | |

Похожие темы