Чтобы снова использовать алгоритм, вместо того, чтобы копировать и вставить блоки, можно инкапсулировать их в отдельном файле модели. Затем можно неоднократно обращаться к модели с блоками 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
сигналы), блокируют в нуле.
Позже, когда условие отказа очищается, все команды положения и управляемые сигналы возвращаются к номинальной стоимости.