Пакет: matlab.system.mixin
Непрямой проходной класс mixin
matlab.system.mixin.Nondirect
является классом, который использует output
и методы update
, чтобы обработать непрямые проходные данные через Систему 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 | Обновите объектные состояния на основе входных параметров |