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