Принцип работы ПЛК
По сути, микроконтроллер достаточно близок к реле. Только вместо механических контактов и катушек в нем — электронные цепи. Понять принцип действия будет легко любому инженеру, знакомому со схемами, основами электротехники.
Датчик освещенности на входе подает сигнал в блок обработки данных. В нормальном состоянии процессор не реагирует. Как только сенсор определит падение освещения, изменится его сопротивление, центральный блок задействует цепи питания электроламп.
Для управления ПЛК, его программирования используется бытовой ПК. Несколько отдельных микроконтроллеров образуют каскад с усложненными задачами. Системы «умный дом», автоматика включения двигателя насоса для закачки воды в накопительный бак давно содержат в себе подобные блоки.
Сложные микроконтроллерные устройства обеспечивают охрану, защиту периметра (квартиры), включая связь с полицией (владельцем) через модем, подъем тревоги при проникновении нарушителей, разрушении механизма закрытия двери.
Первый этап работы устройства состоит из экспресс-теста задействованного оборудования. Одновременно идет загрузка операционной среды, управляющих программ. Все как в настольном ПК при старте Windows. Предусмотрена пошаговая отработка команд (отладка), при которой допускается мониторинг, корректировка переменных.
Для простоты восприятия рабочий, шаговый режим ПЛК разбит на типовые циклы. Они повторяются во время функционирования устройства. В каждом цикле, «маршрутной карте» заключаются 3 действия:
Завершается цикл быстрым переходом к первому этапу «урока».
Pop Hi-Tech
Итак, вы решили изучать программирование ПЛК (Программируемых Логических Контроллеров). С чего стоит начать изучение программирования контроллеров? Какие учебные материалы искать, стоит ли заниматься этим самостоятельно или лучше пойти на курсы, сколько времени займёт обучение и насколько оно будет сложным? Доступно ли программирование ПЛК всем или для этого нужно быть программистом? Как быстро стоит переходить от теории к практике? Мы подготовили ответы на эти и другие вопросы.
1. Для того чтобы начать изучать программирование ПЛК, быть программистом вовсе не обязательно. Достаточно иметь так называемый логический склад ума. Если вы любили математику и информатику в школе — скорее всего, у вас всё получится. 2. Однако определённые навыки и понимание машинной логики все же необходимы. Если вы изучали в школе или институте основы программирование на Паскале, Бейсике или Ассемблере — это значительный плюс. 3. Первые шаги в программировании ПЛК можно и даже лучше всего делать самостоятельно, это позволит изучить основы в комфортном для себя темпе. Учебных материалов о ПЛК и их программировании достаточно много в интернете, а приблизительный план для самостоятельного обучения вы можете найти в этой статье. 4
А вот сразу после изучения основ следует обратить своё внимание на профессиональные курсы и руководства. От своего имени особо рекомендуем видеокурс по Simatic Step 7, который можно купить на сайте https://step7-kurs.ru
Этот курс как нельзя лучше подходит для новичков, в то же время Simatic Step 7 используется для разработки систем автоматизации для ПЛК Simatic — одних из самых популярных и востребованных на сегодня контроллеров. 5. После того как вы сделаете свои первые шаги step 7 — милости просим на специализированные форумы: здесь вы сможете не только «задачки порешать», но и уже начинать подыскивать работу или стажировку. 6. Время, необходимое для изучения программирования ПЛК, — параметр индивидуальный. Однако в любом случае это займёт у вас гораздо меньше времени, чем попытки освоить Java или C#.
Темы, которые стоит изучить самостоятельно до того, как вы приступите к изучению профессиональных курсов (т. е. на этапе самообучения):
1. Требования техники безопасности при работе с ПЛК. Хотя в начале обучения вам, возможно, будет казаться, что эта тема вам не нужна — все же потратьте некоторое время и изучите ТБ работы с ПЛК. Пригодится обязательно. 2. Назначение, функции, принципы работы и конструкция ПЛК. Условия, в которых работают ПЛК и требования к ним. Если вы раньше занимались радиотехническим конструированием — эта тема не составит для вас особого труда. 3. История ПЛК. Необязательная, но весьма интересная часть. 4. Знакомство с основными языками программирования ПЛК согласно стандарту МЭК-61131-3: Sequential Function Chart (SFC), Function Block Diagram (FBD), Ladder Diagrams (LАD), Statement List (STL), Instruction List (IL). 5. Знакомство со средой разработки, лучше всего — с двумя-тремя наиболее популярными. Например, это могут быть CoDeSys и Simatic Step 7. 6. Изучение методики программирования ПЛК. Структуризация программы, вызов подпрограмм, задание циклов и времени работы программы. 7. Основные команды (операторы). К этому моменту вы уже должны были определиться с языком программирования и средой разработки, наиболее симпатичной лично вам. 8. Функции и функциональные блоки. 9.Примеры кода работающих программ. 10. Практикум. При написании собственных программ переходите от элементарных задач к более сложным. На этом этапе нет ничего плохого в том, чтобы использоваться в своих программах части чужого кода, однако старайтесь со временем уменьшать их количество (в процентном выражении).
Типы ПЛК
Все ПЛК, выпускаемые Schneider Electric, Mitsubishi, Beckhoff, Omron, Segnetics или Unitronics, четко разделяются по типам. Это же относится к классификации российской продукции, представленной , «Контар», «Текон» и другими. Конструктивно устройства принято обозначать как моноблочные и модульные.
В первом типе содержится полный набор входных, выходных цепей, процессор, источник энергии. Во втором предусмотрена сборка готового ПЛК из отдельных частей. Согласно МЭК 61131, количество и состав модулей варьируются в соответствии с назначением, характеристиками поставляемого заказчику устройства.
Модульный микроконтроллер может управлять посредством Ethernet соединения малопроизводительным собратом, выполняющим специфично назначенные функции (диагностика состояния периметра, безопасность охраняемой зоны). Маломощный адаптер питания в этом случае является отдельным модулем. Обобщенно функциональные возможности второго вида превосходят первый. Но в отдельных ситуациях (микроконтроллер управления чайником Berghof) достаточно моноблочного ПЛК.
Главное достоинство такой конструкции — компактность. При этом полностью завершенная конструкция платы, блока контроллера оборудуется дисплеем и устройством ввода-вывода, кнопочной панелью. Типичный пример — «умный» автоматный моноблок, отвечающий за стабилизацию напряжения.
Из нескольких ПЛК, смонтированных на стандартную рейку, набирается укрупненный узел управления. Первоначально конфигурация микроконтроллеров подразумевала замену существовавших релейных, полупроводниковых схем. Со временем задачи усложнились, но и сохранившиеся ограниченно производительные 8 и 16 разрядные процессоры по-прежнему востребованы в промышленности.
История создания
В 60 годах 20 века для управления телефонными станциями, промышленным оборудованием использовались сложные схемы с реле. Они не отличались повышенной надежностью или ремонтопригодностью. Инженерам одной из компаний, американской General Motors, была поставлена цель по созданию нового оборудования. Задачи, на которые оно было рассчитано, выглядели так:
- Упрощение отладки, замены.
- Относительная дешевизна.
- Гибкость, удобство модернизации.
- Снижение риска отказов.
Терминология, объясняющая, что такое ПЛК (PLC), внесена в международные и европейские стандарты качества МЭК, EN.
Что же выбрать
ПЛК 110 «Овен» или Simatic s7 производства «Сименс», Modicon m340, Segnetics trim5 четко подчинены встроенной инструкции. Работают по разработанному производителем алгоритму. Программное обеспечение разных марок не всегда совместимо, это учитывается при модернизации (замене) или комплектации технологических цепочек средствами автоматизации.
Кому-то термины step7, ms4, opc, pixel ни о чем не говорят. Разобраться с каталогом, обилием информации помогут специалисты. Расшифровка обозначения микроконтроллера, выбор программы ПЛК для человека неосведомленного станут непосильной задачей. Отличие, оценка, сравнение представленных решений также достаточно сложны, чтобы приступать к ним без подготовки.
Выбрать свой прибор помогут отзывы, обзоры, опыт эксплуатации владельцев контроллеров. Нужный микронтролллер — не обязательно дорогой. Цена определяется выполняемыми функциями, маркой прибора. Описание, настройка параметров приводятся в паспорте устройства.
Там же находится перечень портов ввода-вывода, краткое пособие как подключать изделие. Для отдельных типов может понадобиться преобразователь напряжения, его характеристики производитель обязан указать в руководстве по эксплуатации. А хороший контроллер — тот, который справляется с поставленными задачами.
Входы и выходы
В любом контроллере реализованы входы трех типов – дискретные, аналоговые, специальные.
Дискретный вход
Один вход может принять только один сигнал и он будет бинарным. Вход может быть либо включенным, либо выключенным. Один вход — это 1 бит. К этому входу подключают соответствующее оборудование.
Если состояние приборов не удается описать в 1 бит, тогда для работы такого оборудования применяют несколько дискретных входов.
Системное ПО обязательно оснащено драйвером. Он считает физические значения каждого входа в ОЗУ. За счет этого программистам нет нужды понимать, как устроен контролер внутри. Дискретный вход – биты, которые можно читать и изменять из оперативной памяти устройства.
Аналоговый вход
Электрический аналоговый сигнал — это уровень напряжения или тока, соответствующий определенным физическим величинам. Это может быть значение температуры, давления, веса, положения, скорости перемещения, частоты оборотов. Так как ПЛК – это прежде всего вычислительный прибор, то аналоговый сигнал переводится в цифровой. Получается дискретная переменная.
Специальный вход
Обыкновенные входы способны удовлетворить практически все нужды. Необходимость в в спец. входах появляется при трудностях в обработке сигналов.
ПЛК оснащены специализированными входами, позволяющие измерять длительность, фиксировать фронты, подсчитывать импульсы. К примеру, для определения положения валов, используют датчики, способные выдавать импульсы на один оборот. Частота может быть очень высокой. Даже на мощных процессорах процесс занимает много времени. В таких ситуациях и нужны спец. входы, способные первично обрабатывать информацию.
Второй тип таких входов – это входы, которые могут мгновенно запускать команды пользователей с прерываниями на выполнения основного ПО.
Дискретный выход
С одним выходом можно коммутировать только один сигнал. В качестве нагрузки на выходы могут использоваться различные исполнительные устройства.
Особенности работы и программирования ПЛК
Теперь, когда стали более понятными основные возможности ПЛК, следует выяснить способы их применения.
Система программирования является одной из примечательных и полезных особенностей ПЛК, она обеспечивает упрощенный подход к разработке управляющих программ для специалистов различного профиля.
Именно в ПЛК впервые появилась удобная возможность программирования контроллеров путем составления на экране компьютера визуальных цепей из релейных контактов для описания операторов программы (рисунок 6). Таким образом, даже весьма далекие от программирования инженеры-технологи быстро осваивают новую для себя профессию. Подобное программирование называют языком релейной логики или Ladder Diagram (LD или LAD). Задачи, решаемые при этом ПЛК, значительно расширяются за счет применения в программе функций счетчиков, таймеров и других логических блоков.
Рис. 6. Пример программной реализации электрической цепи
Задача программирования ПЛК еще более упрощается благодаря наличию пяти языков, стандартизованных для всех платформ ПЛК. Три графических и два текстовых языка программирования взаимно совместимы. При этом одна часть программы может создаваться на одном языке, а другая — на другом, более удобном для нее.
К графическим средствам программирования ПЛК относятся язык последовательных функциональных блоков (Sequential Function Chart, SFC) и язык функциональных блоковых диаграмм (Function Block Diagram, FBD), более понятные для технологов. Для программистов более привычными являются язык структурированного текста (Statement List, STL), напоминающий Паскаль, и язык инструкций (Instruction List, IL), похожий на типичный Ассемблер.
Конечно, простота программирования ПЛК является относительной. Если с программированием небольшого устройства может после обучения справиться практически любой инженер, знакомый с элементарной логикой, то создание сложных программ потребует знания основ профессии программиста и специальных познаний в программировании ПЛК.
Упростить создание программного обеспечения для современных ПЛК позволяют специальные комплексы, такие как
(рисунок 7), ISaGRAF, OpenPCS и другие инструменты, не привязанные к какой-либо аппаратной платформе ПЛК и содержащие все необходимое для автоматизации труда программиста. Для отладки сложных проектов на основе компонентов TI компания предлагает специальные отладочные комплекты и необходимое программное обеспечение.
Рис. 7. Рабочий экран программирования в среде CoDeSys
Перед началом работы ПЛК выполняет первичное тестирование оборудования и загрузку в ОЗУ и ПЗУ операционной системы и рабочей программы пользователя. Стандартный ПЛК кроме рабочего режима имеет режим отладки с пошаговым выполнением программы, с возможностью просмотра и редактирования значений переменных.
Рабочий режим ПЛК состоит из повторяющихся однотипных циклов, каждый из них включает три этапа:
- опрос всех датчиков с регистрацией их состояния в оперативной памяти;
- последовательный анализ рабочей программы с использованием данных о текущем состоянии датчиков и с формированием управляющих воздействий, которые записываются в буферные регистры;
- одновременное обновление контроллером состояния всех своих выходов и начало очередного этапа опроса датчиков.
Процесс исполнения программы ПЛК можно контролировать на экране подключенного компьютера с отображением состояния отдельных параметров. Например, процедуры включения и выключения насоса могут меняться в зависимости от требуемой задержки, значение которой задается специальной переменной.
При необходимости можно остановить выполнение программы и перевести ПЛК в режим программирования, затем на экране компьютера изменить ход выполнения программы или отдельные параметры и снова записать их в память ПЛК.
Преимущества ПЛК
Многие предприятия, находящиеся в развитых странах дают возможность освободить человека от выполнения сложных и рутинных процессов. Благодаря такому решению увеличивается скорость работы, и снижается шанс образования дефектных изделий. Кроме того, оборудование не нуждается в перерывах на обед и может работать без остановки неделями. Каждая операция выполняется в точности с технологическим процессом, что позволяет избежать непредвиденных обстоятельств. Это только часть преимуществ ПЛК, также оборудование способно:
- Вести контроль или управлять отдельными электрическими установками. Все ограничивается только количеством входов и выходов. Так оператор, может создать условия, при которых автоматизируется сразу несколько технических станков или роботов.
- Высокая точность обработки информации и следование одному алгоритму.
- Работает при любых условиях и не требует перерывов. Благодаря этому людям больше не приходится работать в опасных для здоровья сферах, что дает возможность снизить риск образования раковых заболеваний и предотвращает получение травм.
- Для настройки используется легкий язык программирования, поэтому процесс не занимает много времени.
Особенности конструкции
Сегодня существует десятки моделей, которые отличаются по внешнему исполнению, а также способу программирования. Однако общие компоненты никогда не меняются.
Так оборудование состоит из:
- Центральной микросхемы. Главное назначение элемента – контроль и регулировка решений, что позволяет добиться правильной автоматизации.
- Чтобы процесс выполнялся правильно и не сбивался, оборудование оснащают энергонезависимой памятью.
- Для лучшего отслеживания процессов используются часы реального времени.
- Подключение осуществляется при помощи специальных интерфейсов ввода и вывода.
- Специальная схема, предназначенная для изменения поступающего напряжения на входе и выходе.
Управление может быть централизованным, когда входные и выходные модули устанавливаются в специальную корзину ПЛК, или распределительной, в этом случая для взаимодействия датчиков и объектов исполнения с микропроцессором применяют специальные каналы связи.
Внешние объекты, которые подключены к ПЛК, принимают информацию о работе. Чтобы снизить погрешность, устанавливаются измерительные датчики. Полученная информация хранится в памяти прибора, там она анализируется и преобразуется. После выполнения этих действий, создаются специальные команды, которые поступают на исполнительное оборудование и там выполняются. В этом и заключается главное преимущество программируемых логических контроллеров, так как они не требуют вмешательство оператора и все выполняют самостоятельно.
PIC
Открывает наш парад компания Microchip Technology с серией PIC. Эти МК отличаются между собой разрядностью (8/16/32), набором периферии и корпусом чипа. Восьмибитные варианты же делятся на четыре семейства: baseline, mid-range, enhanced mid-range и PIC18. Более подробная информация приведена в таблице.
Также есть 16-битные «пики» — PIC24F и DsPIC30/33F. Ну и 32-битные — PIC32MX. Эти непонятные сочетания букв и цифр — часть идентификатора чипа. То же, что и марки у машин. Например, широко распространенный камень PIC16F628A расшифровывается так: семейство PIC16F6 (Mid-range), а остальная часть имени — указатель на конкретный камень. У рассмотренных далее МК в имени может содержаться еще больше информации.
Цена и содержимое
Микроконтроллер PIC16F628A
Эти микроконтроллеры имеют среднюю стоимость. Например, камень PIC6F628 в Chipdip стоит около 150 рублей, а PIC18F2550 — 620 рублей.
Более дешевые экземпляры имеют в своем составе минимум периферии. У упомянутого ранее PIC6F628 следующие характеристики: встроенный тактовый генератор для работы с частотой 4 или 8 МГц; 18 пинов, из них 16 — ввод/вывод, а 2 — питание; для работы на более высоких частотах можно подключить кварцевый резонатор; Flash-память объемом 2048 слов; 4 аналоговых входа; два 8-битных таймера и один 16-битный; 224 байта ОЗУ (самому смешно); 128 байт EEPROM (это программно перезаписываемая энергонезависимая память, вроде жесткого диска); интерфейс UART.
Программирование и использование PIC
Программируют для микроконтроллеров, как правило, на ассемблере и на Си. Есть множество сред разработки: MPASM и MPLAB, MicroC, JALedit (язык JAL, сам про него впервые слышу). Скачать MPLAB
Как правило, на таких МК собирают простенькие устройства вроде мигалки или таймера. Эти контроллеры долго имели монополию на постсоветском пространстве, и в результате в интернете есть огромное множество русскоязычных сервисов и статей, посвященных этим моделям МК. При сборке устройства часто можно даже не писать прошивку, ведь она легко находится в интернете, даже в нескольких вариантах.
Вторым плюсом можно указать встроенные независимые (от тактового генератора) счетчики. Благодаря этому факту семейство зарекомендовало себя в качестве «мозгов» для частотомеров. Пара таких контроллеров лежит у меня в мастерской на черный день. Из минусов можно выделить только высокую стоимость оригинальных программаторов, которые зовутся PICkit.
PICKIT3
В интернете есть множество статей по сборке достойных аналогов таких программаторов. Но вся соль в том, что для сборки программатора тебе нужно что? Правильно, программатор. На этот случай был разработан программатор Громова. Для его сборки почти ничего не нужно, а работает он от COM-порта компьютера. На момент его разработки популярность этой серии МК была высока, да и COM-порты были у всех ПК. Сейчас все это уже редкость, так что придется преодолеть порог вхождения либо раскошелиться.
Выбор ПЛК
Выбор платформы автоматизации
Выбор платформы определяет и весь ваш будущий выбор.
ПЛК является первым пунктом в выборе платформы.
Правильный выбор платформы позволяет минимизировать расходы жизненного цикла системы управления:
- склад запасных частей и сервисное обслуживание
- обучение и сертификацию обслуживающего персонала
- приобретение лицензий на средства разработки прикладного ПО
- интеграцию (бесшовная интеграция)
- миграцию (переход со старого оборудования на новое)
- программы и сикдки для ключевых клиентов
Определение количества точек ввода-вывода
Желательно максимально точно определить общее количество точек ввода-вывода (с учётом резервирования), чтобы подобрать ПЛК соответствующей производительности,
или заранее предусмотреть модель контроллера с большим запасом по расширяемости.
- Дискретные входы (стандартные и быстродействующие импульсные)
- Аналоговые входы для подключения датчиков:
- токовых (0..20мА, 4..20мА)
- «напряженческих» (-10..+10В, 0..+10В)
- термопар и термосопротивлений (способ подключения: 2-х, 3-х или 4-х проводное подключение)
- Дискретные выходы (мокрый контакт)
- Релейные выходы (сухой контакт):
- тип нагрузки (резистивная, индуктивная, резистивно-индуктивная)
- величина тока (в Амперах)
- напряжение (~220В, =24В)
- Аналоговые выходы:
- токовые (0..20мА, 4..20мА)
- «напряженческие» (-10..+10В, 0..+10В)
- Интерфейсы для подключения угловых или линейных датчиков скорости, положения (энкодеров, резольверов, синусно-косинусных)
Определение архитектуры системы управления
- Составить список объектов автоматизации (производственных площадок, цехов, участков, технологических линий, подсистем)
- Определиться с количеством ПЛК: если объекты управляются независимо друг от друга и вводятся в эскплуатацию поочередно, то можно предусмотреть для них
отдельные контроллеры - В зависимости от объёма и скорости обмена данными, территориального расположения объектов управления необходимо выбрать тип и топологию промышленной сети,
требуемое коммуникационное оборудование - Для минимизации длины кабельных соединений используются станции распределённого ввода-вывода
- Расписать точки ввода вывода по контроллерам, шкафам локального и децентрализованного ввода-вывода, определить количество и типы модулей ввода-вывода с
учётом запаса по свободным каналам ввода-вывода - В зависимости от направления обмена данными между ПЛК необходимо правильно выбрать конфигурацию Master – Slave (Ведущий – Ведомый): контроллеры типа Slave
не могут обмениваться данными друг с другом
Масштабируемость
Масштабируемость – это возможность подобрать промышленный контроллер оптимальной конфигурации под конкретную задачу (не переплачивая за избыточную функциональность),
а при необходимости расширения – просто добавить недостающие модули без замены старых.
Выбор блоков питания
Контроллеры подключаются к стабилизированным импульсным источникам питания. Необходимо аккуратно подсчитать суммарный ток, потребляемый всеми модулями
контроллера и подобрать блок питания с соответствующей нагрузочной способностью.
Пример последствий неправильного выбора блока питания
Выходные модули установки приготовления клея для варки целлюлозы иногда отключались и испорченный клей приходилось выбрасывать тоннами.
К финскому проекту ни у кого претензий не возникало. Заменили все модули ввода-вывода – не помогло. Грешили на случайные помехи из-за плохого заземления.
Оказалось, что в определённых ситуациях (как-бы случайно) срабатывало такое «большое» количество входов и выходов,
что суммарный потребляемый ими ток на мгновение превышал допустимый выходной ток блока питания и модули вывода отключались.
Заменили блок питания на более мощный и проблема была решена.
- Очень полезен программный симулятор, с помощью которого можно отладить программу без подключения к ПЛК
- Удобно, если для программирования ПЛК можно использовать стандартный ноутбук и стандартный кабель (USB или Ethernet)
- Проще найти программиста, если контроллер поддерживает стандартные языки программирования IEC61131:
- LD (Ladder Diagram) – графический язык релейной логики
- IL (Instruction List) – список инструкций
- FBD (Function Block Diagram) – графический язык диаграмм логических блоков
- SFC (Sequential Function Chart) – графический язык диаграмм состояний
- ST (Structured Text) – текстовый язык программирования высокого уровня