Для повторного использования алгоритма вместо копирования и вставки блоков их можно инкапсулировать в отдельный файл модели. Затем можно повторно ссылаться на модель с помощью блоков модели. Каждый блок модели является автономным экземпляром алгоритма.
По умолчанию каждый экземпляр вычисляет и сохраняет собственную копию сигналов, содержащихся в модели. Поэтому экземпляры не взаимодействуют. Однако можно использовать хранилище данных для совместного использования части данных экземплярами.
В этом примере показано, как совместно использовать индикацию отказа между всеми экземплярами многократно используемого алгоритма управления. Любой экземпляр может установить ошибку, в результате чего все экземпляры предпримут действия для ее устранения.
Открыть пример модели sldemo_shared_data.

Подсистема контроллера ссылается на модель алгоритма контроллера, sldemo_shared_data_alg, несколько раз через три блока модели.
Откройте модель алгоритма.

Блок памяти хранилища данных fault_ind представляет собой индикацию отказа. Выбран параметр блока Атрибуты сигнала > Общий доступ для экземпляров модели, поэтому все экземпляры sldemo_shared_data_alg поделиться указанием. Поскольку блок существует в sldemo_shared_data_alg, индикация является локальной для модели. Другие модели, которые относятся к sldemo_shared_data_alg невозможно прочитать или записать в индикацию.
Подсистема алгоритма использует контроллер PID для формирования команды положения для исполнительного механизма (представленной блоком в sldemo_shared_data).
Подсистема обработки отказов устанавливает и сбрасывает индикацию отказа. Каждый раз, когда экземпляр алгоритма испытывает состояние отказа (управляемый вход превышает 2,63), подсистема увеличивает значение хранилища данных на 1. Каждый раз, когда экземпляр очищает свое состояние отказа, подсистема уменьшает значение на 1.

Моделирование родительской модели, sldemo_shared_data.
Используйте инспектор данных моделирования для наблюдения за позиционными командами и управляемыми сигналами. На панели инструментов Simulink Editor нажмите выделенную кнопку.
Частично через моделирование, управляемый сигнал conc_mid испытывает нарушение.
Current plot held

Нарушение инициирует сбой в соответствующем экземпляре алгоритма управления. Из-за неисправности все три команды позиционирования ( vlv сигналов) фиксация на нуле.

Позднее, когда состояние отказа устраняется, все команды положения и управляемые сигналы возвращаются к номинальным значениям.
