Объект: SMGeneratorAlwaysActive
Библиотека: StateGraph
Имя на уровне решателя: SMGeneratorAlwaysActive
Аннотация: Генератор диаграммы состояний
Обозначение:
Пользовательские параметры модели:
№ |
Параметр |
Тип |
Описание |
Единица |
Значение по умолч. |
|---|---|---|---|---|---|
1 |
Error |
real |
Погрешность чувствительности входных значений |
||
2 |
StartState |
real |
Начальное состояние машины состояний |
||
3 |
Ta |
real |
Время удержания активного сигнала перехода |
s |
Пример использования компонента
Модель генератора диаграммы состояний с всегда активными состояниями (SMGeneratorAlwaysActive)
В отличие от обычного генератора, все состояния сохраняют признак активности (выходной сигнал равен 1) независимо от текущего состояния автомата. Переключение между состояниями происходит по входному сигналу, при этом формируются импульсные сигналы переходов. Компонент используется в системах автоматического управления, дискретной логики, StateGraph и других приложениях для моделирования логических автоматов с параллельной активностью состояний.
Проверка работы генератора диаграммы состояний с всегда активными состояниями (SMGeneratorAlwaysActive).
Начальные данные:
Схема тестирования:
На вход модели SMGeneratorAlwaysActive1 подаётся сигнал input1 от источника кусочно-линейной функции. Модель содержит три состояния (State1, State2, State3) и три перехода (Transition1, Transition2, Transition3). Выходные сигналы V1, V2, V3, V4, V5, V6, V7 регистрируются на осциллографах Check1 и RUN. Сигнал V1 отображает номер текущего состояния, сигналы V5, V6, V7 — признаки активности состояний (всегда равны 1), сигналы V2, V3, V4 — импульсы, соответствующие моментам переходов.
Результат:
На графиках RUN и Check1 показаны выходные сигналы генератора:
V1 — номер текущего состояния, последовательно принимает значения 0, 20, 30, 10, 20 в соответствии с переходами;
V5, V6, V7 — постоянно равны 1, что подтверждает «всегда активное» состояние всех трёх состояний;
V2, V3, V4 — короткие импульсы в моменты переходов (t ≈ 1 с, 2 с, 3 с, 4 с), длительность импульсов определяется параметром Ta.
Система работает корректно, переключения состояний происходят в соответствии с входным сигналом, выходные сигналы имеют устойчивый ступенчатый вид без ложных срабатываний. Это подтверждает правильную реализацию модели генератора диаграммы состояний с всегда активными состояниями.
Формула для номера состояния:
где: \(V_1\) — код текущего состояния, \(\mathrm{StateNumber}\) — функция, возвращающая код активного состояния.
Схема теста
Рисунок 1 - Схема теста
Графики результатов теста
Рисунок 2 - SMGeneratorAlwaysActive.RUN (выходные сигналы V1, V5, V6, V7, V2, V3, V4)
Рисунок 3 - SMGeneratorAlwaysActive.Check1 (выходные сигналы V1, V5, V6, V7, V2, V3, V4)