В этой модели показано, как моделировать избыточную пару датчиков. Используя атомарные вложенные диаграммы, можно составить большую диаграмму 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. В этом случае датчик выдает постоянное значение, равное нулю. Этот шаблон позволяет датчику игнорировать переходные пики в показаниях датчика.
Диаграмма RedundantSensor имеет два входа (u1 и u2), в то время как библиотечная диаграмма, определяющая атомарные подсхемы, имеет только один вход (u). Чтобы разрешить атомарным подшаблонам доступ к различным входным данным диаграммы, щелкните правой кнопкой мыши каждую подшаблон и выберите «Сопоставления подшаблонов». На вкладке «Сопоставления» диалогового окна свойств можно выполнить следующие действия.
Укажите, какой символ на главной диаграмме соответствует каждому символу в подшаге.
Назначьте значения параметрам, определенным в подшарте.
Например, в случае подшрута Sensor1:
Входные данные подкадра u сопоставляется с вводом основной диаграммы u1.
Выходные данные подкадра u сопоставляется с выводом основной диаграммы y.
Параметры вложенной диаграммы HIGH и LOW присвоены значения 75 и -75.

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

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