Программируемый контроллер
Свободно программируемые контроллеры представляют собой многопроцессорные агрегаты, предназначенные для обработки, преобразования и хранения информации. На основе получаемой информации контроллеры посылают команды для управления.
К программируемым контроллерам подключаются ключи, датчики и другие исполнительные механизмы. Контроллеры имеют техническое ограничение по количеству входов и выходов.
Мозгом любого современного инженерного оборудования является программируемый логический контроллер. Чем сложнее задача выполняемая машиной, тем более функциональным должен быть применяемый контроллер. Все современные контроллеры ПЛК можно программировать, это гарантирует точность выполнения задач.
Как правило, в инженерных коммуникациях сейчас применяются программируемые контроллеры, они сменили реле с «жесткой» логикой. Вот поэтому, сейчас на рынке востребованы специалисты, способные программировать контроллеры.
Фактически контроллер ПЛК — приспособление для управления оборудованием, которое имеет основу из микропроцессоров.
Программируемые контроллеры ПЛК не используют сложные языки программирования, что позволяет быстро изучить программирование ПЛК с нуля.
Для обучения инженеров работе с таким оборудованием и предназначен курс программирование ПЛК для начинающих. Пройдя его вы научитесь выполнять тонкие настройки любого инженерного оборудования.
Область применения программируемых контроллеров достаточно широка. Многие процессы управления автоматизированы. Это позволяет организациям экономить средства на обслуживающем персонале. Системами автоматического управления оборудуются жилые дома, школы, больницы, офисы и склады. Для управления этими процессами необходимы программируемые контроллеры.
История развития и происхождение термина ПЛК
С развитием микропроцессорной техники для управления технологическими процессами стали широко применяться программируемые логические контроллеры (ПЛК или PLC). Первые ПЛК были блочными законченными устройствами, содержащее источник электропитания, процессор и ввод/вывод в одном корпусе.
Главное отличие ПЛК от обычного блочного компьютера было в том, что ПЛК содержал специализированное программное обеспечение (операционную систему реального времени), которая реализовывала основные функции управления. Программирование ПЛК не требовало системного программиста и сводилось к конфигурированию ввода/вывода и составлению логических функций на специализированном языке (структурированный текст, лестничная логика, функциональные диаграммы). Построение алгоритмов управления на «лестничной логике» практически повторяло схемотехнику релейных схем, что позволяло легко перенести «релейные» проекты в ПЛК.
Первые ПЛК были чисто логическими контроллерами и не имели аналоговых входов. Это обеспечивало высокое быстродействие и надежность, и позволяло использовать ПЛК в системах безопасности вместо релейных сборок. ПЛК не имел собственного ЧМИ, он просто обрабатывал дискретные входы и формировал дискретные выходы в соответствии с заданной логической функцией. Развитие ПЛК шло очень быстро, ПЛК получили цифровой интерфейс (широко использовался RS-232 или RS-485 и ModBus-RTU) и уже могли обмениваться информацией по цифровому интерфейсу (передавать данные и воспринимать управляющие команды от внешних устройств), а также ПЛК могли объединяться в сеть системы управления.
Снижение стоимости электронных компонентов и повышение производительности процессоров привело к расширению функционала ПЛК: появились ПЛК с аналоговым вводом/выводом и ПИД-регуляторами в ПО, т.е. ПЛК можно было использовать одновременно и для функций непрерывного регулирования и для функций переключений/отключений, теперь ПЛК не был просто «логическим контроллером», но термин за ним закрепился навечно.
Сегодня под термин ПЛК попадает бесконечно большое разнообразие микропроцессорных устройств для промышленного применения. Попробуем их классифицировать от простого к сложному.
Классификация очень условная, поскольку термин ПЛК относится к бесконечно широкой номенклатуре оборудования, то и классификацию можно выполнять по бесконечному числу признаков.
Классификация выполнена по степени усложнения аппаратного и программного обеспечения, что в свою очередь влияет на возможности контроллеров и возможность применения контроллеров на более сложных, объемных и ответственных объектах автоматизации.
Предложенный подход к классификации не является единственно возможным или исчерпывающим, каждый предложенный класс также содержит очень широкий спектр оборудования, которое можно разделить на подклассы по множеству других признаков и критериев. Предложенная классификация должна помочь инженеру сформировать критерии необходимой функциональности, надежности и безопасности при выборе ПЛК для решения поставленной задачи, в зависимости от степени ее ответственности.
Вне классификации промышленных ПЛК находятся контроллеры (мини компьютеры) с ОС Linux или Windows и CODESYS – это отдельный кластер ПЛК для определенных задач и сообщества программистов. ПЛК на базе одноплатных компьютеров во всех вариантах, полностью работающих под ОС Linux или Windows, в том числе и с библиотеками реального времени, в качестве промышленных управляющих контроллеров не рассматриваются.
Они, конечно, могут применяться и применяются для решения простых задач управления, но их удел – домашняя автоматизация, умный дом, управление освещением, управление зданиями, а в промышленности – телеметрия и очень простые локальные объекты с минимальным уровнем ответственности. Linux – это замечательная операционная система, но вы не можете исключить все ошибки в ПО, разработанном сообществом энтузиастов или программистами сторонних компаний, поэтому невозможно выполнить достоверный расчет каких-либо критериев надежности и безопасности, вероятности опасных и безопасных отказов. Применение Linux в промышленных контроллерах оправдано для поддержки Ethernet интерфейса к SCADA, поддержке WEB-интерфейса или обеспечения сервисных функций.
Типы ПЛК
Современные ПЛК, использующие инновационные технологии, далеко ушли от первых упрощенных реализаций промышленного контроллера, но заложенные в систему управления универсальные принципы были стандартизированы и успешно развиваются уже на базе новейших технологий.
Крупнейшими мировыми производителями ПЛК сегодня являются компании Siemens AG, Allen-Bradley, Rockwell Automation, Schneider Electric, Omron. Кроме них ПЛК выпускают и многие другие производители, включая российские компании ООО КОНТАР, Овен, Сегнетикс, Fastwel Групп, группа компаний Текон и другие.
По конструктивному исполнению ПЛК делят на моноблочные и модульные. В корпусе моноблочного ПЛК наряду с ЦП, памятью и блоком питания размещается фиксированный набор входов/выходов. В модульных ПЛК используют отдельно устанавливаемые модули входов/выходов. Согласно требованиям МЭК 61131, их тип и количество могут меняться в зависимости от поставленной задачи и обновляться с течением времени. ПЛК подобной концепции представлены на рисунке 3. Подобные ПЛК могут действовать в режиме «ведущего» и расширяться «ведомыми» ПЛК через интерфейс Ethernet.
Программируемые логические контроллеры с расширенными возможностями
Моноблочные функционально завершенные ПЛК могут включать в себя небольшой дисплей и кнопки управления. Дисплей предназначен для отображения текущих рабочих параметров и вводимых с помощью кнопок команд рабочих программ и технологических установок. Более сложные ПЛК комбинируются из отдельных функциональных модулей, совместно закрепляемых на стандартной монтажной рейке. В зависимости от количества обслуживаемых входов и выходов, устанавливается необходимое количество модулей ввода и вывода.
Источник питания может быть встроенным в основной блок ПЛК, но чаще выполнен в виде отдельного блока питания (БП), закрепляемого рядом на стандартной рейке.
Первичным источником для БП чаще всего служит промышленная сеть 24/48/110/220/400 В, 50 Гц. Другие модели БП могут использовать в качестве первичного источник постоянного напряжения на 24/48/125 В. Стандартными для промышленного оборудования и ПЛК являются выходные напряжения БП: 12, 24 и 48 В. В системах повышенной надежности возможна установка двух специальных резервированных БП для дублирования электропитания.
Для сохранения информации при аварийных отключениях сети электропитания в ПЛК используют дополнительную батарею.
Как известно, первоначальная концепция программируемого логического контроллера сформировалась во времена перехода с релейно-транзисторных систем управления промышленным оборудованием на появившиеся тогда микроконтроллеры. Подобные ПЛК с 8- и 16-разрядными МП ограниченной производительности до сих пор успешно эксплуатируются и находят новые сферы применения.
Огромный прогресс в развитии микроэлектроники затронул всю элементную базу ПЛК. У них значительно расширился диапазон функциональных возможностей. Несколько лет назад немыслимы были аналоговая обработка, визуализация технологических процессов или даже раздельное использование ресурсов ЦП в качестве непосредственного управляющего устройства. В настоящее время поддержка этих функций входит в базовую версию многих ПЛК.
Примером подобного подхода является отдельное направление в линейке продукции компании Texas Instruments. Как известно, TI не входит в число производителей ПЛК, но выпускает для них специализированные ЦП и сетевые процессоры, компоненты для создания периферийных цифровых и аналоговых модулей, контроллеры температуры, смешанные модули цифровых и аналоговых входов/выходов.
Блок схема процессора TI Sitara AM570x на рисунке 5 позволяет судить об огромной функциональной оснащенности этого ARM-процессора, работающего на частоте до 1 ГГц, поддерживающего интерфейсы CAN, I²C, McASP, McSPI, SPI, UART, USB и способного работать в диапазоне температур 0…90°С.
Входы и выходы программируемых контроллеров
На технические возможности влияют входы, от этого зависят также особенности программирования контроллеров.
Входы и выходы контроллеров бывают трех типов: дискретные, аналоговые и специализированные.
Дискретные входы. Работают на получение сигналов от дискретных кнопок, концевиков, термостатов и пр. Для работы контроллеров унифицированным напряжением является 24В. Как только на своем входе контроллер получит импульс, равный указанному напряжению, вход будет считаться включенным.
В этом случае каждый вход принимает только одни бинарный сигнал. Получается, что вход принимает только 1 бит информации, при этом может быть или включенным или выключенным. В некоторых случаях описание данных не укладывается в 1 бит, тогда используется сразу несколько входов.
Драйвер устройства свободно компилирует данные сразу с нескольких входов. Поэтому, специалист, знающий основы программирования ПЛК не должен тратить время на расшифровку данных. При необходимости получаемые биты можно анализировать или изменять из оперативной памяти.
Дискретные выходы. Управляют устройствами на основе принципа "включить/выключить". Такие сигналы подаются на лампочки, магнитные пускатели, клапаны. Простыми словами дискретный выход работает по принципу замыкания или размыкания цепи управления каким-либо устройством.
Аналоговые входы. Осуществляют подачу непрерывного сигнала с различных устройств. Аналоговые сигналы различаются по величине силы тока и напряжения.
В этом случае для передачи данных используется уровень напряжения, которое может меняться. Программирование контроллеров в этом случае работает с настройкой показателей в зависимости от конкретных физических показателей. Так удается добиваться точного соответствия выполняемой работы и потребностей инженера.
Работать с таким входом проще, так сигнал после входа переводится в цифровые данные. Поэтому, программирование микроконтроллеров pic можно считать практически полноценным программированием, которое использует свою среду для создания программ.
Аналоговые выходы. Осуществляют плавное управление устройствами. Унифицированные значения для выходных сигналов аналогичны входным показателям.
Специализированные входы и выходы. Не имеют унифицированных значений. Используются для управления нестандартными устройствами и датчиками. По специализированным входам выходами могут проходить самые разные сигналы и питание.
Потребность в специальных входах может возникать в некоторых случаях, например, когда сигнал или не читается, или сложен для стандартных разъемов. Это может касаться ситуаций когда необходимо замерять длительность сигнала, считать импульсы, все это требует особого подхода.
Чтобы не тратить ресурсное время основного процессора, применяются входы, которые обеспечивают возможность первичной обработки информации.
Наши курсы программирования ПЛК не только научат настройкам оборудование, но и пониманию, в каких случаях лучше использовать контроллеры с определенными типами входов.
Требования, ограничения и проблемы при проектировании и производстве ПЛК
Таким образом, становится понятно, что ПЛК — это просто особым образом спроектированная цифровая система управления на основе процессоров разной мощности и с различной функциональной оснащенностью, в зависимости от предназначения. Такую систему можно также считать специализированным мини-компьютером. Причем она изначально ориентирована на эксплуатацию в цехах промышленных предприятий, где имеется множество источников электромагнитных помех, а температура может быть как положительной, так и отрицательной.
Дополнительно к минимизации воздействия вышеуказанных факторов необходимо предусмотреть и защиту от агрессивной внешней среды, включающей пыль, брызги технологических жидкостей и паровоздушные взвеси. В таких случаях предусмотрена установка ПЛК в защитные шкафы или в удаленных помещениях. Отдельные модули могут размещаться на удалении до сотен метров от основного комплекта ПЛК и эксплуатироваться при экстремальных внешних температурах. Согласно МЭК 61131, для ПЛК с наружной установкой допустима температура 5…55°C. Для устанавливаемого в закрытых шкафах ПЛК необходимо обеспечить рабочий диапазон 5…40°C при относительной влажности 10…95% (без образования конденсата).
Тип ПЛК выбирается при проектировании системы управления и зависит от поставленных задач и условий производства. В отдельных случаях это может быть моноблочный ПЛК с ограниченными функциями, имеющий достаточное количество входов и выходов. В других условиях потребуются ПЛК с расширенными возможностями, позволяющими использовать распределенную конфигурацию с удаленными модулями входа/выхода и с удаленными пультами управления технологическим процессом.
Связь между удаленными блоками и основным ядром ПЛК осуществляется через помехозащищенные полевые шины по медным кабелям и оптическим линиям связи. В отдельных случаях, например, для связи с подвижными объектами, применяют беспроводные технологии, чаще всего это сети и каналы Wi-Fi. Для взаимодействия с другими ПЛК могут применяться как широко известные интерфейсы RS-232 и RS-485, так и более помехозащищенные промышленные варианты типа Profibus и CAN.
Особенности работы и программирования ПЛК
Теперь, когда стали более понятными основные возможности ПЛК, следует выяснить способы их применения.
Система программирования является одной из примечательных и полезных особенностей ПЛК, она обеспечивает упрощенный подход к разработке управляющих программ для специалистов различного профиля.
Именно в ПЛК впервые появилась удобная возможность программирования контроллеров путем составления на экране компьютера визуальных цепей из релейных контактов для описания операторов программы. Таким образом, даже весьма далекие от программирования инженеры-технологи быстро осваивают новую для себя профессию. Подобное программирование называют языком релейной логики или Ladder Diagram (LD или LAD). Задачи, решаемые при этом ПЛК, значительно расширяются за счет применения в программе функций счетчиков, таймеров и других логических блоков.
Задача программирования ПЛК еще более упрощается благодаря наличию пяти языков, стандартизованных для всех платформ ПЛК. Три графических и два текстовых языка программирования взаимно совместимы. При этом одна часть программы может создаваться на одном языке, а другая — на другом, более удобном для нее.
К графическим средствам программирования ПЛК относятся язык последовательных функциональных блоков (Sequential Function Chart, SFC) и язык функциональных блоковых диаграмм (Function Block Diagram, FBD), более понятные для технологов. Для программистов более привычными являются язык структурированного текста (Statement List, STL), напоминающий Паскаль, и язык инструкций (Instruction List, IL), похожий на типичный Ассемблер.
Конечно, простота программирования ПЛК является относительной. Если с программированием небольшого устройства может после обучения справиться практически любой инженер, знакомый с элементарной логикой, то создание сложных программ потребует знания основ профессии программиста и специальных познаний в программировании ПЛК.
Упростить создание программного обеспечения для современных ПЛК позволяют специальные комплексы, такие как ISaGRAF, OpenPCS и другие инструменты, не привязанные к какой-либо аппаратной платформе ПЛК и содержащие все необходимое для автоматизации труда программиста. Для отладки сложных проектов на основе компонентов TI компания предлагает специальные отладочные комплекты и необходимое программное обеспечение.
Перед началом работы ПЛК выполняет первичное тестирование оборудования и загрузку в ОЗУ и ПЗУ операционной системы и рабочей программы пользователя. Стандартный ПЛК кроме рабочего режима имеет режим отладки с пошаговым выполнением программы, с возможностью просмотра и редактирования значений переменных.
Рабочий режим ПЛК состоит из повторяющихся однотипных циклов, каждый из них включает три этапа:
- опрос всех датчиков с регистрацией их состояния в оперативной памяти;
- последовательный анализ рабочей программы с использованием данных о текущем состоянии датчиков и с формированием управляющих воздействий, которые записываются в буферные регистры;
- одновременное обновление контроллером состояния всех своих выходов и начало очередного этапа опроса датчиков.
Процесс исполнения программы ПЛК можно контролировать на экране подключенного компьютера с отображением состояния отдельных параметров. Например, процедуры включения и выключения насоса могут меняться в зависимости от требуемой задержки, значение которой задается специальной переменной.
При необходимости можно остановить выполнение программы и перевести ПЛК в режим программирования, затем на экране компьютера изменить ход выполнения программы или отдельные параметры и снова записать их в память ПЛК.
Языки программирования ПЛК
Для программируемых логических контроллеров применяются языки, соответствующие стандарту МЕК 61131-3. Так удается добиться унификации оборудования. Перечислим особенности разных языков программирования, которые вам могут встретиться на практике:
- LD — язык лестничных диаграмм. Работает на базе релейных блокировок, при этом все алгоритмы выводятся схемами
- FBD — конфигурирует код, также на нем пишутся типовые подпрограммы. Применяется в среде программирования SMLogix
- SFC — последовательные схемы. Несколько схож с привычным программированием, применяется для ситуаций, когда алгоритмы требуют последовательного управления
- ST — отличается структурированным типом языка. Немного напоминает старый добрый Pascal
- IL — инструкции. Применяется для создания быстрых программ в низкоуровневом программировании. За счет простоты исполнения позволяет значительно ускорять отработку кода