Владимир Е. Зюбин

Автоматизированная линия розлива бутылок. Пример программы на языке Рефлекс. Предварительные рассуждения при решении.

Навигация:
Главная страница
К условию задачи
Анимированный вариант
К тексту программы

Повторно приведем рисунок, поясняющий задачу. На рисунке обозначено:
(1, 2) - сегменты конвейера, (3) - кнопка управления, (4) - резервуар с жидкостью, (5) - паровой клапан нагрева резервуара, (6) - датчик положения бутылки, (7) - клапан разлива в бутылку, (8) - фотодатчик уровня жидкости в бутылке, (9) - датчик отсутствия жидкости, (10) - датчик переполнения резервуара, (11) - клапан пополнения резервуара жидкостью, (12) - датчик температуры жидкости.

Рис. 1. Автоматическая линия розлива бутылок.

Из условия задачи можно выделить пять более-менее независимых, а что самое главное, естественных для семантики автоматизируемого объекта, процессов:
- процесс "Включения/Выключения системы",
- процесс "Поддержания Уровня Жидкости в Резервуаре",
- процесс "Поддержания Температуры Жидкости в Баке",
- процесс "Розлива Жидкости в Бутылку",
- процесс "Подачи Пустой Бутылки к Соплу" Розлива/Убирания Заполненной Бутылки.

По условию задачи эти процессы связаны друг с другом следующим образом.
1. Если система не включена, то ни один из процессов не работает.
2. Если в резервуар наливается жидкость, то запрещена работа процессов "Поддержания Температуры Жидкости в Баке" и "Розлива Жидкости в Бутылку".
3. Если резервуар разогревается, то запрещена работа процесса "Розлива Жидкости в Бутылку".

Отразим взаимовлияние процессов друг на друга (Рис. 2). Эта иерархия процессов и будет соответствовать структуре создаваемой программы на языке Рефлекс.


Рис. 2. Взаимозависимость процессов для задачи розлива бутылок.

Перейдем теперь к тексту программы.


 

© Reflex group 2006
Сайт управляется системой uCoz