Чтобы снова использовать алгоритм, вместо того, чтобы копировать и вставить блоки, можно инкапсулировать их в отдельном образцовом файле. Затем можно неоднократно обращаться к модели с блоками Model. Каждый блок Model является автономным экземпляром алгоритма.
По умолчанию каждый экземпляр вычисляет и хранит свою собственную копию сигналов, что модель содержит. Поэтому экземпляры не взаимодействуют. Однако можно использовать хранилище данных, чтобы совместно использовать часть данных между экземплярами.
Этот пример показывает, как совместно использовать индикацию отказа между всеми экземплярами допускающего повторное использование алгоритма управления. Любой экземпляр может установить отказ, заставив все экземпляры принять меры, чтобы очистить его.
Откройте модель sldemo_shared_data
в качестве примера.
Подсистема контроллера обращается к модели алгоритма регулятора, sldemo_shared_data_alg
, многократно через три блока Model.
Откройте модель алгоритма.
Блок памяти Хранилища данных fault_ind
представляет индикацию отказа. Атрибуты Сигнала параметров блоков> Доля через образцовые экземпляры выбрана, таким образом, все экземпляры sldemo_shared_data_alg
совместно используют индикацию. Поскольку блок существует в sldemo_shared_data_alg
, индикация локальна для модели. Другие модели, которые относятся к sldemo_shared_data_alg
, не могут читать или записать в индикацию.
Подсистема Алгоритма использует ПИД-регулятор, чтобы сгенерировать команду положения для привода (представленный блоком в sldemo_shared_data
).
Отказ, Обрабатывающий подсистему, устанавливает и очищает индикацию отказа. Каждый раз, когда экземпляр алгоритма испытывает условие отказа (управляемый вход превышает 2.63), подсистема постепенно увеличивает значение хранилища данных 1. Каждый раз, когда экземпляр очищает свое условие отказа, подсистема постепенно уменьшает значение 1.
Моделируйте родительскую модель, sldemo_shared_data
.
Используйте Инспектора Данных моделирования, чтобы наблюдать команды положения и управляемые сигналы. На панели инструментов Simulink Editor нажмите подсвеченную кнопку.
Отчасти посредством симуляции, управляемый conc_mid
сигнала испытывает воздействие.
Current plot held
Воздействие инициировало отказ в соответствующем экземпляре алгоритма управления. Из-за отказа, все три команды положения (сигналы vlv
) блокируют в нуле.
Позже, когда условие отказа очищается, все команды положения и управляемые сигналы возвращаются к номинальной стоимости.