В статье рассмотрено построение программируемого логического контроллера для систем бытовой автоматики с элементами профессионального устройства. Контроллер собран на основе микроконтроллера ATmega, имеет модульную расширяемую структуру и подходит для большинства бытовых задач управления. Устройство выполнено в форм-факторе промышленного программируемого логического контроллера с монтажом на DIN-рейку. Отличительная особенность контроллера — для устройства разработаны односторонние платы с размерами дорожек, обеспечивающими возможность их лёгкого изготовления в домашних условиях, все элементы устройства — выводные.
В последнее время интерес к различным устройствам бытовой автоматики неуклонно растёт, и выбор различных «умных» розеток, ламп, выключателей и пр. огромен. У всех этих устройств есть общий недостаток: системы, которые в результате получаются, делают не то, что «хочется», а то, что они умеют и как они умеют. А это устраивает не всегда. В журналах, Интернете, литературе рассматривается множество устройств, прекрасно решающих локальные задачи, но вопрос интеграции этих устройств в единый комплекс не всегда прозрачен.
XOD — графический язык программирования Arduino. Обзор языка и среды разработки
Задача бытовой автоматизации на самом деле не такая уж и сложная, и при правильном подходе куда проще (а часто и дешевле) сделать свою систему управления, нежели пытаться настроить существующие компоненты. Но чтобы это было именно так, все компоненты системы должны быть правильно спроектированы, чтобы каждый раз не приходилось изобретать блок управления заново. Такие «универсальные» устройства хорошо известны, они называются программируемыми логическими контроллерами, сокращённо ПЛК. И всегда именно ПЛК являются основой автоматизации: это исполнительная система процесса управления, верхнеуровневые системы меняются, а ПЛК остаются.
Итак, проектируем систему управления и ПЛК для бытовых задач. Рассмотрим несколько уровней дизайна: концептуальный, аппаратный, программный. Если вдумчиво подойти к каждому из уровней, то и результат будет радовать.
Концептуальный дизайн. Прежде всего, ограничим задачу по всем параметрам и сформируем образ будущего устройства. Основной вопрос — применение. В быту типичными задачами являются управление нагрузкой, подключённой к сети 230 В, освещением, локальными исполнительными устройствами.
Управляющие сигналы — от различных кнопок (проводных, беспроводных, выключателей, переключателей и пр.) и внешние сигналы «текущего состояния», например, температура, уровень освещённости, режимы охранных сигнализаций, сигналы от датчиков движения и т. д. Будем для простоты считать, что все соединения проводные. На самом деле, это не такое сильное ограничение, как кажется на первый взгляд.
Исходя из вышесказанного, устройство должно устанавливаться в стандартный силовой коммуникационный щит, иметь силовые ключи, коммутирующие переменное напряжение 230 В, уметь обрабатывать внешние дискретные сигналы и иметь возможность расширения для относительно редких специфических задач. Ну и, конечно, иметь стандартный коммуникационный интерфейс для возможной связи с «головной» системой «умного дома».
Программирование в среде OWEN Logic. Урок 1.
Кроме этого, необходимо помнить, что наше устройство должно быть построено на распространённой элементной базе, быть простым в программировании и настройке, ремонтопригодным (что очень важно, поскольку у вас не будет гарантии с заменой в 24 ч), стойким к внешним разрушающим воздействиям — умеренной влажности, пыли, перепадам температуры и пр.
Аппаратный дизайн. Архитектура ПЛК становится более или менее понятной. Рассмотрим элементы по отдельности. Далее будут появляться различные стандартные специальные термины, предполагается, что читатель самостоятельно посмотрит, что это такое.
Управление нагрузкой — ключевой вопрос для ПЛК. Грубая оценка предельного тока для стандартных плат с толщиной фольги 18 мкм — приблизительно 2 А при ширине дорожки 2 мм.
Качество фольги часто оставляет желать лучшего, поэтому следует перестраховаться. Считая нагрузку (например, по освещению) в среднем 50 Вт на канал, примем оптимальным управление восемью устройствами по одной силовой линии. Принимая во внимание стандартные размеры клеммников (шаг 5,25 мм), можно считать размер в семь-восемь модулей оптимальным — обеспечивается управление восемью устройствами по двум линиям или шестнадцатью по одной. Этот габарит и возьмём за основу.
Что касается управляющих входов, то стандартов весьма много, но исходя из вышесказанного, обычный контакт на замыкание решает 80, если не 95 % задач. С учётом того, что сигнал напряжением, скажем, +24 В легко превращается в «замыкание» оптроном (или даже транзистором) с резистором.
Оставшиеся проценты отражают потребность в специфических сигналах, что тоже надо учесть.
Стандартный промышленный ПЛК, кроме блока ввода/вывода, содержит процессорный блок, определяющий логику работы устройства, индикацию состояния выходов, коммуникационный интерфейс для связи с внешними устройствами и программирования. Это необходимый минимальный набор.
Учитывая, что ПЛК монтируется в бокс, ставить символьные индикаторы не имеет большого смысла, достаточно простого набора светодиодов. И программировать легче, и информативность достаточная. Коммуникационный интерфейс выберем последовательный RS-232. Он, во-первых, является наиболее распространённым, во-вторых, имеется огромное число преобразователей в USB, передачи по силовым линиям, шлюзы RS-232- Ethernet и т. д. Светодиодную индикацию имеет смысл сразу делать «расширяемую», т. е. выводить её на расширитель или на специализированную микросхему или модуль.
Чтобы обеспечить универсальность, модульность и расширяемость, разделим физически блоки управления и силовых коммутаторов (и прочих «опционных» элементов) и заложим возможность соединять устройства между собой в единый комплекс. Межплатную коммуникацию разумно построить на стандартной шине, как минимум из соображений минимизации соединений. Учитывая два фактора: относительно небольшое требуемое быстродействие (миллисекунды) и доступность различных расширителей и прочих устройств, выберем протокол I 2 C (другое название TWI), сократив межблочный шлейф до четырёх проводов.
Таким образом, сформировался структурный дизайн ПЛК, который и примем за основу. К описанному добавим системный программно управляемый индикатор, кнопку, функциональность которой определяется программно, внешние интерфейсы SPI и 1 — wire.
В силу распространённости и наличия «на борту» всех необходимых интерфейсов в качестве базового выберем микроконтроллер семейства ATmega168, работающий на частоте 16 МГц. Это не предельные показатели, и объём памяти, и частота могут быть увеличены, но для поставленной задачи этого должно вполне хватить. ПЛК собран на двух платах: управления и исполнительной.
Схема платы управления приведена на рис. 1. Управляющий микроконтроллер DD1 обеспечивает работу шины I 2 C через стандартный интерфейс. Коммуникационный разъём ХР1 содержит выводы интерфейса SPI, который может быть использован для ISP-программирования, последовательный коммуникационный интерфейс подключён через микросхему преобразователя уровней dD2. Блок индикации собран на регистрах DD3, DD4 с последовательным вводом. Разъёмы XP3 и XS1 предназначены для соединения нескольких устройств друг с другом через контактные пластины.
Рис. 1. Схема платы управления
Модуль управления собран на плате из фольгированного c одной стороны стеклотекстолита размерами 132×50 мм (рис. 2). Индикаторные светодиоды устанавливают на стойки высотой 4 мм, все микросхемы запаяны непосредственно в печатную плату (рис. 3). Разъёмы XP3 и XS1 — USB типа A. Применены светодиоды диаметром 3 мм: HL1 — зелёного, HL2, HL3, HL5 — синего, HL4, HL6-HL21 — красного свечения.
Рис. 2. Чертёж печатной платы
Рис. 3. Индикаторные светодиоды на плате
К контактным площадкам разъёма ХР2 припаивают шлейф для соединения с платой силовых ключей и дополнительных устройств. В зависимости от конфигурации силовой платы могут быть установлены не все индикаторные светодиоды, если устройство работает отдельно или нет необходимости взаимодействия между устройствами, то межмодульные разъёмы XP3 и XS1 и связанные с ними цепи также можно не монтировать.
Ещё один нюанс относительно коммуникационного интерфейса. Если предполагается использование головного блока, скажем, на основе Raspberry PI (для них есть корпуса с монтажом на DIN-рейку), логично сделать связь через UART-контакты GPIO разъёма, а не через преобразователь RS-232-USB. В этом случае преобразователь уровней DD2 и конденсаторы C5-C8 не устанавливают, вместо микросхемы запаивают перемычку на входной сигнал (между выводами 8 и 9 микросхемы DD2), на выходной устанавливают делитель из резисторов сопротивлением 1 кОм (в отверстия для выводов 7 и 10 микросхемы DD2) и 2 кОм (между выводами 7 и 15 микросхемы DD2), что обеспечит сдвиг уровня сигнала до совместимого с Raspberry PI уровнем. Аналогично и для других микрокомпьютеров (Orange PI, например) и некоторых шлюзов UART-Ethernet.
Поскольку AVR-ISP-разъём выведен на внешний разъём, микроконтроллер может быть запрограммирован после сборки платы.
Модуль управления имеет большой потенциал по расширению узла индикации добавлением дополнительных регистров или применением специализированной микросхемы TM1637. Но при этом потребуется переделать печатную плату. Как показал личный опыт, шестнадцать каналов на устройство — оптимальный вариант.
Теперь рассмотрим исполнительный модуль, который управляет нагрузкой. Сформулируем задачу так: нужна система управления освещением в доме с встроенным режимом имитации присутствия. Считаем число управляемых светильников равным восьми. Из дополнительных устройств для решения поставленной задачи нужны ПЗУ для хранения программ «присутствия» и часы реального времени (ЧРВ).
Оба устройства есть в виде стандартных микросхем с интерфейсом I 2 C: ПЗУ серии 24LC*** и вариации микросхемы DS1307. Их и используем. Управлять нагрузкой будем через симисторные ключи, питание сделаем от сети 230 В, чтобы не вводить внешний источник питания.
Пример схемы исполнительной платы, отвечающей вышеприведённым параметрам, показан на рис. 4. В качестве расширителей применены микросхемы PCF8574R предусмотрены двенадцать входов для выключателей освещения (В1-В12) и три внешних слаботочных выхода для управления внешними устройствами, два выхода собраны по схеме с открытым коллектором (ОС1, ОС2), один — с опторазвязкой (ОО1). Например, при включении освещения в прихожей можно подать команду на голосовое приветствие.
Рис. 4. Пример схемы исполнительной платы
Силовые ключи выполнены по стандартной схеме с оптосимисторами, выходы с открытым коллектором (VT2, VT4) включены через дополнительные транзисторы (VT1, VT3) структуры p-n-p в связи с тем, что ключи имеют выход с «рабочим» низким уровнем, и транзистор выполняет функцию инвертора. Входы минимально защищены от наводок RC-цепочкой (R61C11 и т.д.) и резистором, подключённым к линии питания +5 В. По опыту такой защиты в бытовой сети вполне достаточно при прокладке сигнальных проводов от выключателей в одном шлейфе с силовыми. Если этого кажется недостаточным, параллельно конденсатору можно подключить стабилитрон с напряжением стабилизации 4,7 В, а резистор заменить на термистор с положительным температурным коэффициентом (PTC) номиналом 100 Ом.
Исполнительный модуль собран на отдельной плате из фольгированного с одной стороны стеклотекстолита размерами 132×83 мм, чертёж которой приведён на рис. 5. Монтаж платы особенностей не имеет, кварцевый резонатор ЧРВ ZQ1 необходимо вать перемычкой из неизолированного провода, которую впаивают в предназначенные для этого отверстия на плате.
В авторском варианте на месте резисторов R17-R20, R21-R24 и R25- R28 применены резисторные сборки из четырёх резисторов. Но можно использовать и обычные выводные, одни выводы резисторов впаивают в соответст-вующие отверстия в плате, вторые выводы резисторов соединяют и подключают к линии +5 В — это крайние левые отверстия, имеющие квадратные площадки.
Симисторы можно применить практически любые требуемой мощности на напряжение 600 В, расширители могут быть использованы с суффиксом A, но следует учесть, что у них код устройства свой, отличный от PCF8574. Резисторы желательно использовать мощностью рассеяния 0,125 Вт, кроме резисторов в цепях обвязки оптосимис-торов, там мощность должна быть не менее 0,25 Вт.
Разъём XP1 на управляющей плате — BH-10, XP1 на исполнительной плате — XH-4M, для них продаются готовые четырёхпроводные шлейфы с разъёмом XH-4F. Элемент питания G1 — CR2032 установлен в держатель KLS5-CR2032-04. Терморезистор RK1 — NTC 10D-7. Клеммники силовые — винтовые с шагом 5,08 мм, например МВ312-508Ь02, сигнальные — серии DG141R с шагом 2,54 мм. Собранная плата показана на рис. 6.
Рис. 5. Чертёж печатной платы исполнительного модуля
Рис. 6. Собранная плата
Обратите внимание, что номера одноимённых контактов разъёмов ХР2 на плате управления и ХР1 на исполнительной плате различаются.
Устройство рассчитано на монтаж в корпус CK104S (http://korpusa.biz/ catalog/item/263/), в котором вырезают отверстия для светодиодов на лицевой и боковых панелях. Корпус выполнен так, что допускает наклейку декоративных пластиковых шильдов на лицевую сторону и панели входов/выходов. Наклейки могут, кроме прочего, маскировать отверстия под неиспользуемые индикаторные светодиоды. Расположение плат в корпусе показано на рис. 7, а собранное устройство — на рис. 8.
Рис. 7. Расположение плат в корпусе
Рис. 8. Внешний вид устройства
Исходя из простейшего варианта, что программирование будет вестись в рамках логики работы микроконтроллера AVR, у разработчика имеется богатый арсенал ресурсов: 16 Кбайт программной flash-пямяти, 2048×8 бит внутренней оперативной памяти (SRAM), 512 байт памяти EEPROM, два таймера 8 и 8/16 разрядов, внутренние и внешние прерывания, watchdog-таймер, внутрисхемное программирование (AVR-ISP-порт), доступ к памяти загрузчика (bootloader).
На лицевой стороне устройства расположен и многофункциональный разъём ХР1, назначение выводов которого показано на рис. 1. К разъёму можно подключать внешние устройства с суммарным током потребления до 500 мА.
Рекомендуем к данному материалу .
Мнения читателей
Нет комментариев. Ваш комментарий будет первый.
Вы можете оставить свой комментарий, мнение или вопрос по приведенному выше материалу:
Источник: www.radioradar.net
4.3 Создание управляющей программы контроллера.
Контроллер управляет объектом по программе, записанной в его памяти. Создание управляющей программы контроллера состоит из нескольких этапов. Алгоритм создания управляющей программы приведён на рис. 4.8. Рассмотрим этапы создания программы в порядке их выполнения.
На первом этапе с помощью средств автоматизации (CodeVisionAVR) создаётся шаблон программы, который включает в себя:
библиотеки, описывающие микроконтроллер, стандартные функции ввода-вывода, функции прерывания и другие действия контроллера,
- настройки портов параллельного и последовательного ввода-вывода, таймеров-счётчиков, системы внешних прерываний,
- приглашения — //Declare Your Global Variables here (объявите свои глобальные переменные здесь), // Declare Your Local Variables here (объявите свои локальные переменные здесь), //Place Your Code here (поместите свою программу здесь).
После заполнения всех диалоговых окон необходимой информацией нажимаем клавишу Generate и получаем шаблон программы с начальными установками регистров контроллера, некоторыми обслуживающими программами и указаниями мест (Place your code here ), где следует поместить содержательную часть программы, написанную на языке С, которая должна отобразить реальный алгоритм работы контроллера в штатном режиме и в режимах прерываний. При сохранении разрабатываемых программ имена файлов следует писать английскими буквами. Программа-компилятор языка Си для микроконтроллеров AVR Рис.4.8. Алгоритм создания, отладки и записи программы управления. В большом количестве оригинальных программ используется ряд стандартных фрагментов, обеспечивающих выполнение основных функций управления :
- фрагменты, определяющие типы констант и переменных и места их хранения в памяти контроллера,
- фрагменты ввода-вывода информации через параллельные и последовательные порты,
- фрагменты программ выполнения арифметических действий с различными типами чисел,
- фрагменты программ выполнения логических операций,
- фрагменты выполнения программ по сигналам прерываний.
Этот набор фрагментов программ в той или иной комбинации позволяет создать управляющую программу контроллера. Однако при изучении работы контроллера не следует писать тестовую программу, состоящую из полного набора фрагментов из-за большой вероятности ошибок программирования, которые будет трудно исправить в процессе отладки. Лучше всего осваивать такие фрагменты по одному или по два и только по приобретении некоторого опыта переходить к более длинным текстам. Более подробно такие фрагменты программ будут рассмотрены далее в главе 5. Переходим теперь ко второму этапу – компиляции программы. После написания текста программа должна быть скомпилирована. Для этого в меню команд выбирают Project Compile File или на панели инструментов (рис.4.9) нажимают кнопку Compile the Current Source Files. Compile the Current Source Files. Make the main Project file Run the debugger Рис. 4.9 Панель инструментов генератора программCodeVisionAVR После выполнения компиляции на экране появляется сообщение о результатах работы и информация о синтаксических ошибках. Ошибки необходимо исправить, а текст программы вновь направить на компиляцию. В результате будет получен файл на языке ассемблера с расширением *.asm, который используется в дальнейшем. Ассемблирование программы Полученный в результате компиляции файл поступает в компилятор языка ассемблера AVR Assembler for Windows – wavrasm. Эта программа может быть вызвана из главного меню, куда затем командой File Open загружается полученный ранее файл с расширением *.asm и ассемблируется командой Assemble. В результате будут созданы файлы с различными расширениями, из которых нам понадобятся файлы с расширением *.obj и возможно *.cof для отладки программы в среде симулятора AVRStudio3 или AVRStudio4 и с расширением *.hex – для записи отлаженной программы во Flash-память контроллера. Этот же результат может быть получен и из программы CodeVision с помощью кнопки Make the main Project file на панели инструментов. Для этого предварительно в меню выбирается следующая последовательность команд ProjectConfigureCCompilerFileOutputFormat(s) и определяется требуемый формат. После успешного ассемблирования можно запустить файл на отладку с помощью кнопки Run the debugger на панели инструментов CodeVision. Работа в среде отладчика программ – симулятораAVRStudio. После нажатия кнопки Run the debugger на панели инструментов CodeVision появляется меню Simulator Options, где требуется заполнить окна Device и Frequency, и после нажатия кнопки ОК попадаем в программу AVRStudio [20]. Используя соответствующие кнопки панели инструментов, вызываем на экран окна Register Window, Memory Window, IO Window, где мы будем наблюдать процесс выполнения программы. Для этого переведём курсор на начало бесконечного цикла while (1) и клавишей F9 установим точку прерывания выполнения программы. После этого запускаем программу на выполнение командой Debug Go. Часть программы до точки останова будет выполнена. Если в процессе выполнения программа зависает, то вывести её из этого состояния можно командой Debug Break. Дальнейшее выполнение программы проведём в пошаговом режиме клавишей F11. Клавиши F9 и F11 продублированы на панели инструментов симулятора. Сигнал внешнего прерывания генерируется изменением значения соответствующего бита порта D (INT0 – PD2, INT1 – PD3). При изменении значения бита на противоположное между ними должен быть сделан хотя бы один шаг выполнения программы. Вид экрана с открытыми окнами представлен на рис. 4.9. Процесс выполнения программы отображается на экране на языке ассемблера. В целях расширения возможностей процесса отладки разрешается изменять состояния регистров и флажков статуса отдельных устройств, таких, например, как портов, таймеров, ячеек памяти и других. Для вызова интересующего нас объекта в редактор следует кликнуть мышью на нем два раза. В изображениях регистров портов, таймеров, блоков прерываний флажок с галочкой соответствует единице, а пустой – нулю. После окончания отладки файл с расширением *.hex записывается во Flash-память контроллера с помощью программы PonyProg.
Источник: studfile.net
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
2.1. На основе циклограмм разработать управляющие программы.
2.2. Загрузив программы в контроллер, проверить их работоспособность.
Указания по выполнению работы
При решении задач использовать следующие команды контроллера:
— команды блока Bit Logic: normally open, normally close, output (см. Приложение);
— команды блока Integer Math: Subtruct Integer (Sub_I) (см. Приложение);
— команды блока Move: Move Word (Mov_W) (см. Приложение);
— команды блока Timers: On-Delay Timer (TON) (см. Приложение).
Для решения задач 1, 2, 3 воспользоваться циклограммами, приведенными на рис. 6, 7, 8.
Рис. 6. Циклограмма работы шпинделя.
Рис. 7. Циклограмма работы магазина инструментов.
Рис. 8. Циклограмма поворота руки автооператора.
СОДЕРЖАНИЕ ОТЧЕТА
4.2. Циклограммы работы устройств.
Лабораторная работа №3.
Разработка управляющих программ механизмов участка механообработки.
ЦЕЛЬ РАБОТЫ – освоение методов разработки управляющих программ.
— ознакомление с языком программирования Step-7;
— освоение графической среды MicroWin;
Задание на работу
Участок механообработки включает в себя два фрезерных станка, одну контрольно-измерительную машину (КИМ), стол загрузки заготовок, два стола выгрузки: один для годных деталей, второй для брака и автоматизированную тележку, которая перемещает заготовки и детали между перечисленными выше объектами. Управляет участком программируемый логический контроллер (далее — контроллер), который взаимодействует при необходимости с системами числового программного управления (СЧПУ) обоих станков и системой управления КИМ.
Стенд участка механообработки показан на рисунке 9.
Рис. 9. Стенд участка механообработки.
1.1. СТАНОК 1 (СТАНОК 2). Станок имеет собственную систему управления, в нее загружаются требуемые управляющие программы. Эти аспекты Вами рассматриваться не будут.
Для Вас станок представляет из себя объект управления, который может находится в трех состояниях: станок не загружен заготовкой, станок загружен заготовкой и на нем ведется ее обработка, станок загружен и на нем находится готовая деталь. Интересующая Вас взаимосвязь между СЧПУ станка и системой управления всего участка, т.е. контроллером, осуществляется с помощью трех сигналов. Два сигнала подаются от станка на входы I1.2 и I1.3 (I1.4 и I1.5 — для второго станка) контроллера управления участком. Присутствие первого сигнала означает, что станок загружен: на нем находится заготовка или готовая деталь. Если на станке нет заготовки ни в каком виде, (т.е. обработанном или необработанном), то на вход I1.2 (I1.4) контроллера выдается сигнал логического нуля.
Второй сигнал выдается станком, когда обработка заготовки на нем завершена и с него можно снять готовую деталь. Этот сигнал снимается СЧПУ станка, как только на станок выдается команда «начать обработку» с выхода контроллера Q0.7 (Q1.0).
Сигнал с выхода Q0.7 (Q1.0) является третьим из сигналов, которыми обменивается станок и система управления участком. Когда последняя, т.е. контроллер хочет инициировать обработку заготовки на станке, то ему необходимо подать сигнал логической единицы на станок с выхода Q0.7 (Q1.0) контроллера.
Аналогичные три сигнала взаимодействия контроллера со станком 2 подключены к контроллеру через входы I1.4 и I1.5 и выход Q1.0
На макете выдача команды «начать обработку» индицируется светодиодом, а выработка сигналов «станок загружен» и «обработка завершена» имитируется с помощью двух тумблеров.
Задача 1. Разработать схему управления, которая осуществит обмен сигналами между контроллером (т.е. системой управления участком механообработки) и станком. По нажатию кнопки «Пуск» на пульте управления (вход I0.0 контроллера) схема управления должна выдать сигнал «начать обработку» через выход Q0.7 контроллера при условии, что станок загружен и обработка на нем завершена, т.е. на входе I1.2 присутствует логическая единица, а на входе I1.3 – логический ноль. При поступлении команды «начать обработку» станок начинает обработку заготовки и снимает сигнал «обработка завершена». (Вы имитируете изменение этого сигнала переключением тумблера.) Этим же тумблером Вы имитируете конец обработки заготовки на станке, после чего схема управления должна снять сигнал «начать обработку».
Дополнительная информация о станке, работу которого Вы должны понимать и правильно имитировать с помощью двух тумблеров «станок загружен» и «обработка завершена». Начальное состояние станка соответствует выключенному тумблеру «станок загружен» и включенному «работа завершена».
Если станок загружен новой заготовкой, и на его систему управления (СЧПУ) поступила команда «начать обработку», то последняя (т.е. Вы) должна снять сигнал «обработка завершена» и начать обработку. После того, как обработка будет завершена, должен быть выставлен одноименный сигнал.
После этого станок может быть разгружен, (при этом сигнал «обработка завершена» не изменяется) затем загружен новой заготовкой. Это Вы имитируете включением сигнала «станок загружен» и снятием сигнала «обработка завершена». Теперь при поступлении очередного сигнала «начать обработку» станок готов обрабатывать новую заготовку.
Далее станок загружается заготовкой. Этому соответствует включенное состояние тумблера «станок загружен» и по-прежнему выключенное состояние тумблера «обработка завершена». Следующим должно наступить состояние, когда заготовка обработана. Этому соответствует включенное состояние тумблеров «станок загружен» и «обработка завершена».
Завершающее в цикле обработки детали на станке состояние соответствует включенному состоянию тумблера «станок загружен» и выключенному – «обработка завершена». Далее возможна загрузка станка и осуществление очередного цикла обработки заготовки на нем.
1.2. КИМ. Контрольно-измерительная машина, как и станок, имеет собственную систему управления. На описываемом участке КИМ запускается от системы управления всем участком — т.е. от контроллера.
Цикл работы КИМ описывается следующим образом: в КИМ загружается деталь, подлежащая измерению и подается сигнал выполнения обмера логической единицей с выхода Q1.1 контроллера. После того, как измерительный цикл заканчивается, КИМ выдает сигнал «конец обмера» на вход I2.0 контроллера и подает на вход I2.1 контроллера сигнал логической единицы, если деталь годна и сигнал логического нуля, если деталь признана бракованной по результатам обмера.
При поступлении сигнала «запуск КИМ» с входа Q1.1 контроллера система управления КИМ сбрасывает в логический ноль сигналы «конец обмера» и «деталь годна» на входах I2.0 и I2.1 контроллера.
На макете выдача контроллером команды “запуск КИМ” индицируется светодиодом, а выработка сигналов “конец обмера” и “деталь годна” имитируется с помощью двух тумблеров.
Задача 2. Разработать схему управления, которая осуществит управление КИМ. По нажатию кнопки “Пуск” (кнопка на пульте, подключенная ко входу I0.3 контроллера), при наличии сигнала с КИМ «конец обмера», схема управления должна выдать сигнал Q1.1 «запуск КИМ». При этом КИМ снимает сигнал «конец обмера» с входа I2.0 контроллера.
После завершения своей работы КИМ посылает сигнал «конец обмера» на вход I2.0 контроллера. Пока последний сигнал истинен, схема управления может считать с входа I2.1 контроллера сигнал годности детали. При получении сигнала «конец обмера» схема управления контроллера должна снять сигнал «запуск КИМ».
Указание. Для выключения сигнала «запуск КИМ» в схеме управления необходимо использовать контакт языка S7-200, выделяющий передний фронт сигнала: –IPI– Positive Transition (см. Приложение).
1.3. Автоматизированная тележка. Тележка перемещается по рельсам в двух направлениях от стола загрузки заготовок до стола готовых деталей, имея шесть точек позиционирования, отмеченных конечными выключателями, подключенными к входам контроллера от I0.0 до I0.5 (см. рис.9).
Тележка приводится в движение мотором постоянного тока, коммутируемым двумя контакторами, подключенными к выходам Q2.0 и Q2.1. При включении выхода Q2.0 тележка перемещается от стола загрузки к столу готовых деталей. При включении выхода Q2.1 тележка перемещается в обратном направлении. При выключенных обоих контакторах тележка находится в состоянии покоя.
Кроме привода перемещения на тележке имеется стол для транспортировки заготовок и деталей от стола загрузки к станкам, КИМ и столам бракованных и готовых деталей. Транспортный стол имеет два гидравлических привода для своего подъема-опускания и выдвижения-втягивания.
Рассмотрим циклы загрузки и разгрузки транспортного стола тележки, являющиеся одинаковыми при работе тележки как с любым из трех столов участка, так и с любым из двух станков и с КИМ. Начальное состояние транспортного стола следующее: он опущен (конечный выключатель I2.3 включен) и вдвинут (конечный выключатель I2.5 включен). Это состояние поддерживается выдачей «нулевых» сигналов с выходов Q2.2 и Q2.3 контроллера на соответствующие электрогидрозолотники.
Цикл загрузки транспортного стола заготовкой или деталью осуществляется следующим образом: транспортный стол выдвигается подачей управляющего сигнала Q2.3 на электрогидрозолотник гидроцилиндра выдвижения стола. После срабатывания конечного выключателя I2.4, фиксирующего конец выдвижения, необходимо поднять стол.
Для этого выдается сигнал Q2.2 с выхода контроллера на электрогидрозолотник гидроцилиндра подъема транспортного стола. Сигнал Q2.3 при этом не снимается, т.к. иначе стол начнет вдвигаться. Срабатывание конечного выключателя I2.2 отмечает момент окончания подъема стола.
Теперь стол необходимо вдвинуть снятием сигнала Q2.3 с выхода контроллера и после срабатывания конечного выключателя I2.5 опустить его снятием сигнала Q2.2. Цикл заканчивается, когда срабатывает конечный выключатель I2.3. Стол оказывается в исходном положении загруженный заготовкой или деталью.
Цикл разгрузки транспортного стола осуществляется в следующем порядке: сперва стол поднимается. Для этого необходимо выдать «единичный» сигнал с выхода Q2.2 контроллера. Когда сработает конечный выключатель I2.2, необходимо выдать «единичный» сигнал с выхода Q2.3 контроллера (не снимая сигнал Q2.2). Стол начнет выдвигаться.
Как только сработает конечный выключатель I2.4 необходимо опустить стол, сняв сигнал Q2.2. Окончание опускания стола будет зафиксировано срабатыванием конечного выключателя I2.3. В этот момент необходимо снять сигнал Q2.3 для того, чтобы вдвинуть назад пустой стол. Окончание цикла фиксируется срабатыванием конечного выключателя I2.5.
При этом стол оказывается в начальном положении без заготовки или детали. Сигналы Q2.2 и Q2.3 в конце цикла (как и в начале) равны “логическому нулю”.
Отметим, что штоки гидроцилиндров подъема и выдвижения стола ограничены в перемещении механически, т.е. работают по упорам. Конечные выключатели лишь информируют контроллер, что движение в определенном направлении закончено: транспортный стол достиг крайней точки по одной из осей своего перемещения. При этом если необходимо, чтобы шток соответствующего цилиндра оставался в достигнутом конечном положении, управляющий сигнал не меняется. В результате шток не движется, но поджимается к упору.
На макете включение-выключение контроллером контакторов в силовой цепи привода перемещения тележки и электрогидрозолотников гидроцилиндров подъема и выдвижения стола индицируется соответствующими четырьмя светодиодами. Срабатывание конечных выключателей, фиксирующих подъем, опускание, выдвижение и втягивание транспортного стола имитируется с помощью соответствующих четырех тумблеров.
Задача 3. Автоматизированная тележка в начальном положении находится у стола загрузки. Транспортный стол – опущен и находится во вдвинутом состоянии. Необходимо написать управляющую программу для контроллера, которая обеспечит следующий алгоритм работы тележки: по сигналу «пуск цикла» с кнопки I0.6 тележка должна переместиться к станку №1 и остановится.
По нажатию на кнопку «продолжение цикла» I0.7 тележка должна продолжить движение и остановиться у КИМ. Далее, после очередного нажатия на кнопку «продолжение цикла» тележка должна доехать и остановиться у стола готовых деталей. Следующее нажатие на кнопку «продолжение цикла» должно привести к перемещению тележки в обратном направлении к столу загрузки.
Около него тележка должна остановиться. Цикл перемещения тележки окончен. Она оказалась в начальном положении и готова к исполнению очередного такого же цикла.
При нажатии на кнопку «пуск цикла» необходимо зажигать светодиод Q0.0 на пульте управления. Светодиод должен гаснуть, когда отработка цикла перемещения тележки закончится.
Задача 4. Автоматизированная тележка в начальном положении находится у стола загрузки. Транспортный стол – опущен и находится во вдвинутом состоянии. Необходимо написать управляющую программу для контроллера, которая обеспечит следующий алгоритм работы тележки в ручном режиме управления.
После каждого поступления сигнала «пуск вправо» I0.6 с пульта управления, тележка должна переместиться к ближайшему справа от нее объекту по пути ее перемещения и остановится. Например, если тележка находилась у стола загрузки, то она должна переместиться к станку №1 и остановиться. Если команда на перемещение поступает тогда, когда тележка находится в крайнем правом своем положении, то схема управления не должна на нее реагировать, т.е. тележка должна оставаться в этом же положении.
Аналогично должна реагировать схема управления и соответственно тележка на поступление с пульта управления команды «Пуск влево» I0.7. Только теперь тележка должна перемещаться до ближайшего объекта слева по пути ее движения. Во время перемещения тележки схема управления не должна реагировать на любые поступающие команды с пульта управления вплоть до окончания перемещения тележки.
Задача 4а. Добавьте в схему управления цепь индикации состояния тележки: если тележка перемещается и, соответственно, не готова воспринимать команды с пульта, то должен быть включен выход Q0.0, в противном случае – он должен быть выключен.
Задача 5. Условие этой задачи аналогично условию предыдущей задачи, однако появляется дополнительное условие. Схема управления теперь должна реагировать на однонажатие любой из кнопок пульта управления во время движения тележки. Алгоритм работы всей системы таков: если во время движения тележки с пульта поступила команда, то схема управления запоминает ее и после отработки текущего перемещения выполняет перемещение, соответствующее поступившей во время движения команды.
Таким образом, каждый раз, когда схема управления отрабатывает последнее заданное движение, она готова принять одну следующую команду. Другими словами, необходимо предусмотреть буфер командединичной длины.
Также следует обеспечить индикацию заполнения буфера команд: когда буфер пуст, выход Q0.1 выключен, когда – полон, выход Q0.1 включен.
Задача 6. Составить для контроллера схему управления участком механообработки в автоматическом режиме. Необходимо обеспечить следующий порядок функционирования участка. Начальное состояние объектов участка: тележка находится у стола загрузки, ее транспортный стол – вдвинут и опущен; станки первый и второй – незагружены, обработка на них завершена; КИМ находится в состоянии конца обмера; столы готовых и бракованных деталей – свободны. Начало работы участка инициируется поступлением команды «Пуск автоматической работы» с пульта управления на вход I0.6 контроллера. При этом тележка циклически:
1. Загружает деталь, подлежащую обработке со стола загрузки, при наличии этой детали нем. При отсутствии детали происходит ожидание сигнала «наличие детали», после чего происходит загрузка.
2. В зависимости от типа загруженной детали везет ее к станку №1 («тип детали» = «лог.0») или к станку №2 («тип детали» = «лог.1»).
3. Выгружает деталь на станок, дает команду станку начать обработку.
4. Ждет завершения обработки.
5. Загружает обработанную деталь и везет ее к КИМ.
6. Выгружает деталь на КИМ и дает команду запуска КИМ.
7. Дожидается конца обмера и загружает деталь с КИМ.
8. В зависимости от того, годная деталь или нет, везет ее к столу бракованных или готовых деталей.
9. Если стол свободен, то деталь перегружается на стол, если стол не свободен, то происходит ожидание появления сигнала «стол свободен», после чего деталь перегружается.
10. По окончанию разгрузки тележка возвращается к столу загрузки, и все описанные выше действия повторяются заново.
Циклы отрабатывается бесконечно.
Выход Q0.0 контроллера использовать для индикации состояния участка механообработки: включенное состояние указанного выхода обозначает режим автоматической работы участка, выключенный — состояние останова участка.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru