Задача 2. Управление освещением в комнате.
Условие: есть комната, в двери стоят два датчика регистрации пересечения линии: снаружи и внутри комнаты, они подсоединены к ПЛК. Также к ПЛК подсоединен включатель комнатного освещения, есть возможность использовать еще одну кнопку. Требуется составить программу, которая управляет автоматическим включением и выключением света в комнате.
Программа, являющаяся решением задачи показана на рисунке 18.
Если человек входит в комнату, то он пересекает сначала наружный датчик, потом внутренний, и в момент пересечения внутреннего датчика внешний датчик уже регистрирует присутствие человека в дверях. Процесс выхода из комнаты относительно датчиков происходит так же, только датчики следует поменять местами. Таким образом, по переднему фронту одного датчика в сочетании с уже сработавшим другим получим короткий импульс, обозначающий вход, или выход одного человека. Далее требуется реализовать счет людей, это можно сделать с помощью реверсивного счетчика. Также, если значение счетчика больше, или равно 1, следует включить свет, если нет, то выключить. Предположим, что возможна ситуация, когда человек, находясь в комнате, может выйти из нее не через дверь, а, например, выпрыгнуть в окно. Тогда свет останется гореть и в том случае, если все вышли. Для этого стоит использовать кнопку принудительного гашения света, которую следует расположить с наружной стороны двери, кнопку соединить со сбросом счетчика.
Приведем назначение переменных. OUTER_SENSOR и INNER_SENSOR — переменные, связанные с внутренним и наружным датчиком пересечения линии. Устанавливаются, если линия пересечена посторонним объектом и сбрасываются, если пересечения нет. RESET_BUTTON кнопка гашения света. QUIT и ENTER — внутренние переменные, устанавливающиеся в единицу в моменты соответственно выхода из комнаты и входа в нее. LIGHT — переменная, связанная с реле включения света, CTR — переменная счетчика вошедших в комнату.
На рисунке 19 изображено решение той же задачи, но без применения типовых функциональных блоков.
Переменные IS1 и OS1 хранят значения переменных INNER_SENSOR и OUTER_SENSOR за предыдущий цикл. Функция GT — сравнение двух чисел на входе, и, если «верхнее» больше, чем «нижнее», функция возвращает логическую единицу. MOVE — пересылка значения. Слева указывается его источник, а справа — приемник, значение может быть любого типа, переменные источника и приемника должны быть одного и того же, или совместимых типов. Подробнее про совместимость типов можно узнать из лекционного материала.
- Гоувпо «Самарский государственный аэрокосмический университет имени с.П. Королева» (национальный исследовательский университет)
- Введение
- Настройка CoDeSys. Новый проект в среде «CoDeSys». Построение таблиц истинности логических операций. Общие сведения, установка среды программирования.
- Настройка связи компьютера с плк, новый проект в «CoDeSys»
- Первая программа на плк. Таблицы истинности логических операций.
- Программирование на языке ld. Таймеры, счетчики и детекторы фронтов. Общие сведения о программе и программировании для плк.
- Задача 1. Демонстрация работы реверсивного счетчика и детекторов фронтов.
- Задача 2. Управление освещением в комнате.
- Задача 3. Программный генератор периодических импульсов.
- Основные возможности языков st, cfc и fbd. Особенности построения программ на языках st, cfc и fbd.
- Решение на языках st, cfc и fbd задачи об управлении включением света.
- Программные единицы: функции, программы и функциональные блоки, создание структуры приложения. Структура приложений в среде «CoDeSys».
- Пример проектирования структуры приложения и его реализации.
- Система визуализаций в CoDeSys. Scada-системы и визуализации.
- Создание визуализации в CoDeSys.
- Создание пид-регулятора на плк и регулирование температуры. Теоретические основы пид-регулирования.
- Программирование пид-регулятора на плк.
- Список использованных источников.
- 443086 Самара, Московское шоссе, 34