Используйте системные объекты в обратной связи

Если ваш алгоритм должен обработать непрямые проходные данные через Систему object™, используйте isInputDirectFeedthroughImploutputImpl, и updateImpl методы. Эти методы обрабатывают непрямые проходные данные через Системный объект.

Большинство Системных объектов использует прямое сквозное соединение, где вход объекта необходим, чтобы сгенерировать выход. Для этих прямых проходных объектов, step метод вычисляет выход и обновляет значения состояния. Для непрямого сквозного соединения, однако, выход объекта зависит от внутренних состояний и не непосредственно на входных параметрах. Входные параметры или подмножество входных параметров, используются, чтобы обновить объектные состояния. Для этих объектов, вычисляя выход разделяется от обновления значений состояния. Это позволяет вам использовать объект в качестве элемента обратной связи в обратной связи.

В этом примере показано, как реализовать объект задержки с непрямым сквозным соединением.

  1. В MATLAB® выберите New> System object> Basic.

  2. Выберите Insert Method и реализуйте outputImpl и updateImpl методы.

    outputImpl вычисляет выходные параметры от состояний и/или входных параметров. updateImpl обновления утверждают значения от входных параметров.

    При реализации outputImpl метод, не получайте доступ к входным параметрам Системного объекта, для которых прямой проходной флаг является ложным.

  3. Если Системный объект поддерживает генерацию кода и не использует распространение, Simulink® может автоматически вывести прямые проходные настройки из Системного объекта код MATLAB. Однако, если Системный объект не поддерживает генерацию кода, isInputDirectFeedthroughImpl по умолчанию метод возвращает false (никакое прямое сквозное соединение). В этом случае замените этот метод, чтобы задать непрямое проходное поведение.

Обработка непрямого сквозного соединения изменяет способ, которым программное обеспечение вызывает методы Системного объекта в контексте механизма Simulink.

Связанные примеры

Больше о