Эта модель показывает, как смоделировать избыточную пару датчиков. При помощи атомарных субдиаграмм можно составить большой график Stateflow ® из других графиков, которые находятся в файле библиотеки.

В этой модели график RedundantSensors содержит две связанные атомарные субдиаграммы (Sensor1 и Sensor2) и состояние (Alarm).

В начале симуляции субдиаграмма Sensor1 активно. Эта атомарная субдиаграмма читает входные u1. Если значение входа остается между 75 и -75, Sensor1 передает это значение как выход y. В противном случае происходит отказ датчика и субдиаграмма Sensor2 становится активным.
Подобным образом Sensor2 считывает входные u2 и проверяет, что его значение остается между 100 и -100. Sensor2 передает это значение как выход y. В противном случае датчик выходит из строя, и график переходит к Alarm состояние.
Логика для обоих Sensor1 и Sensor2 определяется в библиотечной модели. В этой модели график SingleSensor принимает вход u и обеспечивает выход отфильтрованного датчика y.

График обнаруживает ошибки вне области допустимого значения на входе датчика u. Первоначально датчик находится в состоянии OK. Если u выходит за пределы допустимого, график принимает переход от OK в состояние FailOnce. Если u находится вне области значений более одной секунды, затем график переходит в состояние Fail. В этом случае датчик выводит постоянное значение нуля. Этот шаблон позволяет датчику игнорировать переходные шипы в считывании датчика.
График RedundantSensors имеет два входа (u1 и u2), в то время как график библиотеки, который определяет атомарные субдиаграммы, имеет только один вход (u). Чтобы включить доступ атомарных субдиаграмм к другому входу диаграммы, щелкните правой кнопкой мыши каждая субдиаграмма и выберите Субдиаграмму Отображений. На вкладке Mappings диалогового окна свойств можно:
Укажите, какой символ на основном графике соответствует каждому символу на субдиаграмме.
Присвойте значения параметрам, определенным в субдиаграмме.
Для примера, в случае субдиаграммы Sensor1:
Входной параметр субдиаграммы u сопоставлен с входным параметром основного графика u1.
Выходные данные субдиаграммы u сопоставлен с выходными данными основного графика y.
Параметры субдиаграммы HIGH и LOW присвоены значения 75 и -75.

В случае субдиаграммы Sensor2:
Входной параметр субдиаграммы u сопоставлен с входным параметром основного графика u2.
Выходные данные субдиаграммы u сопоставлен с выходными данными основного графика y.
Параметры субдиаграммы HIGH и LOW присвоены значения 100 и -100.
Первоначально оба входа и оба выхода на график равны нулю. Чтобы изменить значение входов графика, дважды кликните блоки Gain и перетащите ползунок.

Пока значение u1 находится в диапазоне от -75 до 75, выходе значение y отслеживает значение входа u1. Если значение u1 превышает эти границы, значение y начинает отслеживать значение входа u2. Если значение u2 выпадает за пределы области значений от -100 до 100, y возвращает значение нуля и Alarm возвращает значение единицы.