Табличный ПЛК.Табличное программирование контроллеров - Владимир Васильевич Стретенцев
Шрифт:
Интервал:
2.4. Применение логических операций над входными переменными
Если высоты подъема стрелы будет недостаточно для проезда машины с негабаритным грузом, то у оператора должна быть возможность поднять стрелу выше положения, при котором срабатывает верхний концевой выключатель. Это нештатный режим работы, и он должен осуществляться под полным контролем оператора и его помощника. Обычно для обхода концевых выключателей используется кнопка «Шунт», при нажатии и удержании которой блокируются концевые выключатели.
Пока в программе управления шлагбаумом применялись только две операции над входными переменными — «=» и «NOT». Табличная программа с использованием логической операции «AND» над входными переменными показана на рис. 19. В ней можно увидеть, что силовое питание включено, аварий нет, стрела шлагбаума находится в верхнем конечном положении, следовательно, шлагбаум открыт.
Рис. 19. Использование логических операций над входными переменными в программе управления шлагбаумом
Для того чтобы ввести в программу управления шлагбаумом кнопку «Шунт», используется логическая операция «И». Так как двигатель остановлен срабатыванием верхнего концевого выключателя, сбросившего ячейку «RS» в первом столбце, с помощью триггерной ячейки «R» в строке 10, то для обхода концевого выключателя и продолжения движения необходимо отменить сброс, переведя триггерную ячейку «R» в строке 10 в ноль. Это можно сделать нажатием на кнопку «Шунт», при котором аргумент операции «логическое И» в строке 9 станет нолем и будет в этом состоянии, пока кнопка «Шунт» остается нажатой. Нулевой результат входной операции в строке 9 сделает результат в строке 10 равным нолю и отменит сброс.
Так как кнопка «Шунт» нормально открытая и при нажатии дает единицу, а для блокировки сигнала конечного выключателя нужен ноль, то сигнал от кнопки «Шунт» необходимо инвертировать. Логическое И инвертированных сигналов от конечного выключателя и кнопки «Шунт» через триггерную ячейку «R» будет сбрасывать ячейку «RS» команды пуска двигателя при достижении стрелой конечного положения, а нажатие на кнопку «Шунт» будет блокировать сброс. Таким образом, при удержании кнопки «Шунт» нажатием на кнопку «Открыть» можно поднять стрелу выше верхнего концевого выключателя. Табличная программа в момент обхода верхнего концевого выключателя показана на рис. 20.
Рис. 20. Обход верхнего концевого выключателя нажатием на кнопку «Шунт»
В таком виде программа в таблице хорошо читается, имеет несложный алгоритм, позволяет контролировать входные сигналы контроллера и цепи формирования выходных сигналов и может быть использована на реальном объекте. Но мы продолжим вносить в программу изменения — даже не столько для улучшения ее алгоритма, сколько для того, чтобы показать возможности табличного программирования контроллеров.
2.5. Применение таймера с задержкой на включение
Немного усложним алгоритм работы шлагбаума. Подъем и опускание стрелы шлагбаума происходит за определенное время. Следовательно, если стрела шлагбаума начала движение из нижнего положения, то через время, необходимое для подъема стрелы, мы ожидаем срабатывания верхнего концевого выключателя. Если за отведенное для подъема время сигнал от концевого выключателя не был получен, то мы можем говорить либо о неисправности шлагбаума, либо о повышенной нагрузке на механизм подъема. В таком случае требуется вмешательство специалиста.
Добавим к программе управления шлагбаумом возможность контролировать время выполнения операции. Для этого в качестве входных данных используем значения выходных переменных «команда „вверх“» и «команда „вниз“», управляющих двигателем шлагбаума. Время операции будем контролировать таймером с задержкой на включение TON. В таблице на рис. 21 выходное значение таймера в строке 18 станет равным единице только в том случае, если сигнал на входе таймера продержится равным единице больше установленного времени. То есть если при подъеме стрелы шлагбаума двигатель остается включенным больше 8 секунд, то на выходном контакте 13 установится логическая единица.
Рис. 21. Использование таймеров в программе управления шлагбаумом
Этим сигналом можно включить индикатор «Авария» или звуковой сигнал. Чтобы не усложнять программу, не будем вводить дополнительную кнопку квитирования аварий. Для сброса аварии применим кнопку «Стоп», которая подключена к контакту номер 7. При возникновении аварийной ситуации нажатие на кнопку «Стоп» квитирует аварию и отключает, к примеру, звуковой сигнал. Однако при этом произойдет сброс ячеек «RS» в первых двух столбцах и будет потеряна информация о направлении движения шлагбаума, в котором возникла аварийная ситуация. Это несколько усложнит задачу сервисной службы найти причину, по которой стрела шлагбаума не может подняться или опуститься за заданное время.
Состояние программы в аварийной ситуации представлено на рис. 21, из которого можно увидеть, что вышло время операции «поднять шлагбаум». Стрела шлагбаума находится между верхним и нижним конечными положениями. Силовое питание включено, кнопка «Открыть» нажата и отпущена. Сформирована команда «вверх». Таймер в строке 18 установил на своем выходе логическую единицу. За 8 секунд стрела шлагбаума не дошла до верхнего концевого выключателя.
Выбор времени таймеров, с помощью которых контролируется время открытия и закрытия шлагбаума, производится во время пусконаладочных работ. Если во время эксплуатации установленного времени недостаточно для выполнения операции, то это может быть следствием отсутствия смазки или обледенения механизмов, электрической или механической поломки, а также удержания стрелы каким-либо препятствием.
Чтобы не повредить двигатель шлагбаума при перегрузке, добавим в программу еще одну строку — для автоматического отключения команд «вверх» и «вниз» при возникновении аварийной ситуации. Табличная программа с добавленной строкой 20 представлена на рис. 22. Теперь при возникновении аварийной ситуации двигатель шлагбаума остановится и оператор будет уведомлен об аварии, например, звуковым сигналом. Отключается звуковое оповещение нажатием на кнопку «Стоп».
Рис. 22. Табличная программа управления шлагбаумом с аварийной блокировкой пуска
Рассмотрим способ блокировки подробнее. В случае, показанном на рис. 22, при возникновении аварийной ситуации команды управления двигателем не сбрасываются, а блокируются. Результат логического И по столбцу будет равен нолю не из-за сброса ячейки «RS» в столбце, а по причине нулевого состояния активных ячеек в строке 20. Можно отключать команды «вверх» и «вниз» по-другому, заменив в строке 20 операцию инверсии на «=» и переведя активные ячейки в триггерные активные ячейки типа R. При возникновении аварии двигатель также будет отключен. Только в этом случае при аварийной остановке двигателя потеряется ценная информация о направлении движения стрелы шлагбаума перед аварией. Если помеха движению стрелы может быть устранена без привлечения специалистов сервисной службы, то нажатие на кнопку «Стоп» квитирует аварию и восстанавливает работоспособность шлагбаума.
2.6. Применение таймера,
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!