Во время моделирования состояние системы может изменяться не только непрерывно, но и скачкообразно. Например, может открыться клапан, сработать датчик, двигатель достигнет заданной скорости или давление превысит допустимое значение. Такие изменения называют событиями.
В PRADIS отсутствует отдельный механизм обработки событий в привычном понимании, как это реализовано в системах дискретно-событийного моделирования. Вместо этого обработка событий основана на постоянном обмене информацией между элементами модели во время расчёта.
Как происходит обработка событий
Во время каждого шага симуляции все элементы модели обмениваются информацией о своём текущем состоянии.
Каждый элемент получает возможность:
- узнать состояние других элементов;
- проверить выполнение заданных условий;
- при необходимости изменить собственное состояние;
- передать обновлённые данные другим элементам модели.
Таким образом, изменение состояния одного элемента автоматически становится доступным всем связанным с ним элементам, которые могут соответствующим образом изменить своё поведение.
Что считается событием
В PRADIS событием считается любое изменение состояния элемента модели, которое влияет на работу других элементов.
Например:
- давление превысило установленный предел;
- температура достигла заданного значения;
- двигатель набрал необходимую скорость;
- механизм дошёл до конечного положения;
- изменился управляющий сигнал;
- произошло включение или отключение исполнительного механизма.
Другие элементы модели обнаруживают эти изменения и выполняют необходимые действия.
Пример гидравлической системы
Рассмотрим модель гидравлической системы, состоящую из насоса и клапана.
Во время расчёта насос постоянно вычисляет давление на своём выходе.
Клапан, в свою очередь, отслеживает это давление.
Если давление становится выше допустимого значения, клапан изменяет своё состояние и закрывается.
В результате изменяется расход жидкости, после чего расчёт продолжается уже с новыми условиями.
Таким образом, событием является превышение давления, а реакцией — закрытие клапана.
Пример электропривода
В модели электропривода двигатель постепенно увеличивает скорость вращения.
Когда скорость достигает заданного значения, система управления обнаруживает это изменение и уменьшает управляющее воздействие.
После этого двигатель начинает работать в новом режиме.
В данном случае событием является достижение требуемой скорости вращения.
Пример пневматической системы
В пневматическом приводе шток цилиндра перемещается до крайнего положения.
После достижения заданной точки распределитель переключается, изменяя направление подачи воздуха.
В результате начинается движение штока в обратном направлении.
Здесь событием является достижение штоком конечного положения.
Где используется обработка событий
Обработка событий применяется практически во всех физических библиотеках PRADIS.
Наиболее часто она используется при моделировании:
- гидравлических и пневматических систем;
- электроприводов;
- систем автоматического управления;
- механических контактов;
- трансмиссий;
- динамики транспортных средств;
- электрических цепей с коммутацией.
Особенности обработки событий
Такой подход обладает высокой гибкостью.
Разработчик самостоятельно определяет:
- какие изменения считать событиями;
- при каких условиях должна происходить реакция;
- какие элементы модели должны реагировать на эти изменения;
- каким образом должно изменяться их состояние.
Это позволяет реализовывать практически любые алгоритмы взаимодействия между элементами модели.