Объект: SMGeneratorAlwaysActive

../../../../_images/logo_ru_no_text.png

Библиотека: StateGraph

Имя на уровне решателя: SMGeneratorAlwaysActive

Аннотация: Генератор диаграммы состояний

Обозначение: Генератор диаграммы состояний

Пользовательские параметры модели:

№

Параметр

Тип

Описание

Единица

Значение по умолч.

1

Error

real

Погрешность чувствительности входных значений

2

StartState

real

Начальное состояние машины состояний

3

Ta

real

Время удержания активного сигнала перехода

s

Пример использования компонента

../../../../_images/logo_ru_no_text.png
Модель генератора диаграммы состояний с всегда активными состояниями (SMGeneratorAlwaysActive)

В отличие от обычного генератора, все состояния сохраняют признак активности (выходной сигнал равен 1) независимо от текущего состояния автомата. Переключение между состояниями происходит по входному сигналу, при этом формируются импульсные сигналы переходов. Компонент используется в системах автоматического управления, дискретной логики, StateGraph и других приложениях для моделирования логических автоматов с параллельной активностью состояний.

Проверка работы генератора диаграммы состояний с всегда активными состояниями (SMGeneratorAlwaysActive).

Начальные данные:

Параметры модели
Ta — время удержания активного сигнала перехода
Error — погрешность чувствительности входных значений
StartState — начальное состояние машины состояний

Входной сигнал
Кусочно-линейная функция, задаваемая таблицей (значения 0, 1, 2, …), вызывающая последовательные переходы

end = 5 с — Время интегрирования

Схема тестирования:

На вход модели 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(t) = \mathrm{StateNumber}(t)\]

где: \(V_1\) — код текущего состояния, \(\mathrm{StateNumber}\) — функция, возвращающая код активного состояния.

Схема теста
../../../../_images/SMGeneratorAlwaysActive.sch.png

Рисунок 1 - Схема теста

Графики результатов теста
../../../../_images/SMGeneratorAlwaysActive.RUN.png

Рисунок 2 - SMGeneratorAlwaysActive.RUN (выходные сигналы V1, V5, V6, V7, V2, V3, V4)

../../../../_images/SMGeneratorAlwaysActive.Check1.png

Рисунок 3 - SMGeneratorAlwaysActive.Check1 (выходные сигналы V1, V5, V6, V7, V2, V3, V4)