Пакет: matlab.system.mixin
Непрямой класс mixin сквозного соединения
matlab.system.mixin. Непрямой
класс, который использует методы вывода
и обновления
, чтобы обработать непрямые данные сквозного соединения через Систему object™.
Для Системных объектов, которые используют прямое сквозное соединение, входной параметр объекта необходим, чтобы сгенерировать вывод в то время. Для этих прямых объектов сквозного соединения, запуская Системный объект вычисляет вывод и обновляет значения состояния. Для непрямого сквозного соединения, однако, вывод объекта зависит только от внутренних состояний в то время. Входные параметры используются, чтобы обновить объектные состояния. Для этих объектов, вычисляя вывод с outputImpl
разделяется от обновления значений состояния с updateImpl
. При использовании mixin matlab.system.mixin.Nondirect
и включаете метод stepImpl
в ваш файл определения класса, ошибка происходит. В этом случае необходимо включать updateImpl
и методы outputImpl
вместо этого.
Следующие случаи описывают, когда Системные объекты в Simulink® используют прямое или непрямое сквозное соединение.
Системный объект поддерживает генерацию кода и не наследовался mixin Propagates
— Simulink автоматически выводит прямые настройки сквозного соединения из кода Системного объекта.
Системный объект поддерживает генерацию кода и наследовался mixin Propagates
— Simulink автоматически не выводит прямые настройки сквозного соединения. Вместо этого это использует значение, возвращенное методом isInputDirectFeedthroughImpl
.
Системный объект не поддерживает генерацию кода — Значение по умолчанию, метод isInputDirectFeedthroughImpl
возвращает false, указывая, что прямое сквозное соединение не включено. Чтобы заменить поведение по умолчанию, реализуйте метод isInputDirectFeedthroughImpl
в своем файле определения класса.
Используйте mixin Nondirect
, чтобы позволить Системному объекту использоваться в обратной связи Simulink. Объект задержки является примером непрямого объекта сквозного соединения.
Чтобы использовать этот mixin, необходимо разделить на подклассы от этого класса в дополнение к разделению на подклассы от базового класса matlab.System
. Введите следующий синтаксис как первую строку вашего файла определения класса, где ObjectName
является именем вашего объекта:
classdef ObjectName < matlab.system & matlab.system.mixin.Nondirect
isInputDirectFeedthroughImpl | Прямое состояние сквозного соединения входного параметра |
outputImpl | Выведите вычисление от состояния ввода или внутреннего состояния Системного объекта |
updateImpl | Обновите объектные состояния на основе входных параметров |