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