Выбор времени таймеров, с помощью которых контролируется время открытия и закрытия шлагбаума, производится во время пусконаладочных работ. Если во время эксплуатации установленного времени недостаточно для выполнения операции, то это может быть следствием отсутствия смазки или обледенения механизмов, электрической или механической поломки, а также удержания стрелы каким-либо препятствием.
Чтобы не повредить двигатель шлагбаума при перегрузке, добавим в программу еще одну строку — для автоматического отключения команд «вверх» и «вниз» при возникновении аварийной ситуации. Табличная программа с добавленной строкой 20 представлена на рис. 22. Теперь при возникновении аварийной ситуации двигатель шлагбаума остановится и оператор будет уведомлен об аварии, например, звуковым сигналом. Отключается звуковое оповещение нажатием на кнопку «Стоп».
Рассмотрим способ блокировки подробнее. В случае, показанном на рис. 22, при возникновении аварийной ситуации команды управления двигателем не сбрасываются, а блокируются. Результат логического И по столбцу будет равен нолю не из-за сброса ячейки «RS» в столбце, а по причине нулевого состояния активных ячеек в строке 20. Можно отключать команды «вверх» и «вниз» по-другому, заменив в строке 20 операцию инверсии на «=» и переведя активные ячейки в триггерные активные ячейки типа R. При возникновении аварии двигатель также будет отключен. Только в этом случае при аварийной остановке двигателя потеряется ценная информация о направлении движения стрелы шлагбаума перед аварией. Если помеха движению стрелы может быть устранена без привлечения специалистов сервисной службы, то нажатие на кнопку «Стоп» квитирует аварию и восстанавливает работоспособность шлагбаума.
2.6. Применение таймера, формирующего импульс
Дальнейшие изменения программы управления шлагбаумом в основном будут предназначены для демонстрации возможностей табличного программирования. Помимо ситуаций, которые возникают при штатной работе оборудования, стоит продумать реакцию системы управления на аварийные ситуации. Добавим еще одно улучшение. Сформируем звуковой сигнал заданной длительности, оповещающий об аварии.
В таблице на рис. 22 к выходу 13 контроллера, который отвечает за индикацию аварийной ситуации, подключены световой и звуковой сигналы. При аварии звуковой сигнал будет включен до тех пор, пока оператор не нажмет кнопку «Стоп». Это не всегда удобно, так как вместе с отключением звукового сигнала отключается и световая индикация, которая могла быть подтверждением факта аварийной остановки.
Для того чтобы разделить световую и звуковую сигнализации добавим в программу выходную переменную «авария, звук» (рис. 23). Для ограничения длительности звукового сигнала используем таймер, формирующий импульс, TP. Установим длительность звукового сигнала в 2 секунды. Теперь при возникновении аварийной ситуации пуск двигателя будет заблокирован, раздастся короткий звуковой сигнал, индикаторная лампа «Авария» будет гореть до нажатия на кнопку «Стоп». На рис. 23 показано состояние программы, когда вышло время операции «открыть шлагбаум». Стрела не достигла своего верхнего положения за 8 секунд. Звуковой сигнал включен — и будет отключен через 0,845 секунды.
2.7. Управление скоростью
Многие современные шлагбаумы замедляют движение стрелы возле конечных положений. Такое решение делает работу шлагбаума плавной, уменьшает износ деталей, повышает безопасность эксплуатации. Находящиеся рядом со шлагбаумом люди могут успеть среагировать на начало движения. При этом время открывания шлагбаума может даже сократиться. Замедление во время пуска и останова будет компенсировано прохождением средней зоны с повышенной скоростью.
Чтобы реализовать замедление при подходе к конечным положениям, введем в схему предварительные верхний и нижний выключатели. Программа управления шлагбаумом с предварительными выключателями показана на рис. 24. Эти выключатели должны срабатывать до конечных выключателей. Теперь мы имеем три сектора движения стрелы: нижний сектор разгона или торможения, средний сектор движения стрелы с высокой скоростью, верхний сектор торможения или разгона.