Читаем Табличный ПЛК.Табличное программирование контроллеров полностью

Выбор времени таймеров, с помощью которых контролируется время открытия и закрытия шлагбаума, производится во время пусконаладочных работ. Если во время эксплуатации установленного времени недостаточно для выполнения операции, то это может быть следствием отсутствия смазки или обледенения механизмов, электрической или механической поломки, а также удержания стрелы каким-либо препятствием.

Чтобы не повредить двигатель шлагбаума при перегрузке, добавим в программу еще одну строку — для автоматического отключения команд «вверх» и «вниз» при возникновении аварийной ситуации. Табличная программа с добавленной строкой 20 представлена на рис. 22. Теперь при возникновении аварийной ситуации двигатель шлагбаума остановится и оператор будет уведомлен об аварии, например, звуковым сигналом. Отключается звуковое оповещение нажатием на кнопку «Стоп».


Рис. 22. Табличная программа управления шлагбаумом с аварийной блокировкой пуска


Рассмотрим способ блокировки подробнее. В случае, показанном на рис. 22, при возникновении аварийной ситуации команды управления двигателем не сбрасываются, а блокируются. Результат логического И по столбцу будет равен нолю не из-за сброса ячейки «RS» в столбце, а по причине нулевого состояния активных ячеек в строке 20. Можно отключать команды «вверх» и «вниз» по-другому, заменив в строке 20 операцию инверсии на «=» и переведя активные ячейки в триггерные активные ячейки типа R. При возникновении аварии двигатель также будет отключен. Только в этом случае при аварийной остановке двигателя потеряется ценная информация о направлении движения стрелы шлагбаума перед аварией. Если помеха движению стрелы может быть устранена без привлечения специалистов сервисной службы, то нажатие на кнопку «Стоп» квитирует аварию и восстанавливает работоспособность шлагбаума.

2.6. Применение таймера, формирующего импульс

Дальнейшие изменения программы управления шлагбаумом в основном будут предназначены для демонстрации возможностей табличного программирования. Помимо ситуаций, которые возникают при штатной работе оборудования, стоит продумать реакцию системы управления на аварийные ситуации. Добавим еще одно улучшение. Сформируем звуковой сигнал заданной длительности, оповещающий об аварии.

В таблице на рис. 22 к выходу 13 контроллера, который отвечает за индикацию аварийной ситуации, подключены световой и звуковой сигналы. При аварии звуковой сигнал будет включен до тех пор, пока оператор не нажмет кнопку «Стоп». Это не всегда удобно, так как вместе с отключением звукового сигнала отключается и световая индикация, которая могла быть подтверждением факта аварийной остановки.

Для того чтобы разделить световую и звуковую сигнализации добавим в программу выходную переменную «авария, звук» (рис. 23). Для ограничения длительности звукового сигнала используем таймер, формирующий импульс, TP. Установим длительность звукового сигнала в 2 секунды. Теперь при возникновении аварийной ситуации пуск двигателя будет заблокирован, раздастся короткий звуковой сигнал, индикаторная лампа «Авария» будет гореть до нажатия на кнопку «Стоп». На рис. 23 показано состояние программы, когда вышло время операции «открыть шлагбаум». Стрела не достигла своего верхнего положения за 8 секунд. Звуковой сигнал включен — и будет отключен через 0,845 секунды.


Рис. 23. Табличная программа управления шлагбаумом с ограничением длительности аварийного звукового сигнала


2.7. Управление скоростью

Многие современные шлагбаумы замедляют движение стрелы возле конечных положений. Такое решение делает работу шлагбаума плавной, уменьшает износ деталей, повышает безопасность эксплуатации. Находящиеся рядом со шлагбаумом люди могут успеть среагировать на начало движения. При этом время открывания шлагбаума может даже сократиться. Замедление во время пуска и останова будет компенсировано прохождением средней зоны с повышенной скоростью.


Чтобы реализовать замедление при подходе к конечным положениям, введем в схему предварительные верхний и нижний выключатели. Программа управления шлагбаумом с предварительными выключателями показана на рис. 24. Эти выключатели должны срабатывать до конечных выключателей. Теперь мы имеем три сектора движения стрелы: нижний сектор разгона или торможения, средний сектор движения стрелы с высокой скоростью, верхний сектор торможения или разгона.


Рис. 24. Табличная программа управления шлагбаумом с предварительными выключателями


Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Бьёрн Страуструп , Бьярн Страустрап , Мюррей Хилл

Программирование, программы, базы данных / Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT