Андрей Смирнов
Время чтения: ~26 мин.
Просмотров: 1

Определение программируемого логического контроллера и его применение

Доброго времени суток, уважаемые жители Хабра! Прочитав пост про программирование ПЛК Siemens серии S7, я залез в поиск по Хабру, и был весьма удивлен, что тема промышленной автоматики вообще, и программирования ПЛК в частности, освещена весьма и весьма скудно. Возьму на себя смелость поделиться своим опытом в данной области, описав базовые принципы программирования ПЛК, в частности, производства компании Beckhoff.

Введение

Я занимаюсь автоматизацией зданий. Сложилось так, что в основном мы строим свои системы на базе ПЛК Beckhoff. Такой выбор был сделан прежде всего потому, что эти контроллеры являются свободно-программируемыми в полном смысле этих слов. Что это значит? Возьмите контроллер TAC Xenta, например, и попробуйте на нем реализовать обмен с внешним устройством через RS232 по собственному протоколу, на уровне «байт послал — байт принял». Не получится, эти контроллеры так не умеют — используйте только те протоколы, которые в них заложил разработчик. А Beckhoff умеет. Но прежде чем лезть в такие дебри, давайте посмотрим на среду разработки? На каком, собственно, языке, мы будем писать?

Стандарт МЭК 61131-3

Промышленные ПЛК программируются на языках стандарта МЭК 61131-3. Всего этих языков 5, некоторые производители добавляют свои. Языки друг на друга совсем не похожи, и, наблюдая за коллегами, могу предположить, что выбор того или иного языка связан прежде всего с тем, чем человек занимался до того, как он пришел в эту отрасль.

  1. IL, instruction list, список инструкций. Похож на ассемблер. Не видел никого, кто его использовал бы, но подозреваю, что олдскульные кодеры, пробивавшие перфокарты по памяти, оценят.
  2. LD, ladder diagram. Визуальный язык, для тех, кто занимался разработкой схем релейной автоматики.
  3. ST, structured text. Более всего напоминает «классические» языки программирования, чем-то похож на Паскаль. Оттого ценится теми, кто до ПЛК занимался программированием на других языках и платформах, в частности — мной.
  4. FBD, functional block diagram. Этакая блок схема, любим прежде всего технологами, решившими податься в программирование, за свою наглядность.
  5. SFC, sequential function chart. Графический язык, больше ничего не скажу. Ни разу не видел, чтоб его использовали.

Из не всеми поддерживаемых языков стоит отметить язык CFC (continuous flow chart), Beckhoff его поддерживает. Это дальнейшее развитие языка FBD, одним из наиболее существенных отличий, на мой взгляд, является поддержка явной обратной связи в схемах. Зачем это нужно? Например, вот такой генератор коротких импульсов на CFC будет работать, а на FBD – нет. Блок TON — это стандартный блок, таймер с задержкой включения. Логика работы: выход Q становится TRUE, когда на входе IN сигнал TRUE в течение не менее времени PT. Самая популярная, наверное, среда разработки под ПЛК — это CoDeSys. Многие производители берут ее за основу, и либо делают к ней библиотеку для работы со своим ПЛК, либо доделывают среду под себя.

Как работает ПЛК?

Программа ПЛК работает циклично. Время цикла может быть от единиц миллисекунд до единиц секунд, в зависимости от задач, которые на этот ПЛК возложены. Большинство ПЛК позволяют задавать время цикла разработчику программы, однако в некоторых моделях такой возможности нет. Многие ПЛК, в частности Beckhoff, позволяют в одной программе создать более одной циклически выполняемой задачи, и задать приоритет для этих задач. Что нам дает эта возможность? Представим ситуацию: ПЛК управляет вентиляционной установкой, и к нему подключена панель управления через RS232. Температура в помещениях меняется не быстро, и запускать алгоритм управления вентиляцией чаще, чем раз в 50 — 100 мс просто нет смысла. Зато панель оператора опрашивает контроллер постоянно, и задержка ответа ПЛК более 10 мс уже выражается в «притормаживании» интерфейса пользователя, а при задержке 20 мс у нас переполнится аппаратный буфер COM-порта. Наличие нескольких задач позволяет нам решить эту проблему красиво: пусть «быстрая» задача работает с COM-портом, и вызывается каждые 2 мс, а «медленная» реализует логику работы вентиляции, и вызывается каждые 50 мс. Все работает хорошо, панель оператора не тормозит, пользователь доволен.

А что у этих железок внутри?

Тут все очень и очень зависит от производителя. Кто-то делает свою embedded-платформу на RISC-процессоре (например, отечественный «Овен») — этот подход очень популярен. Beckhoff же пошли по другому пути — на их ПЛК установлена Windows CE 5.0 (а если обновить с официального сайта прошивку — то 6.0), или же Windows XP Embedded, а PLC-задача работает как служба. Достаточно интересный контраргумент для любителей рассказывать о нестабильности Windows. Но это «голова» контроллера, а ведь ему еще нужны входы и выходы, чтобы общаться с внешним миром. Тут есть два подхода:

  1. Можно сделать «все в одной коробке» — голова, некий набор входов / выходов, несколько вариантов конфигурации — вот тут у нас входов побольше, тут поменьше, тут голова помощнее, тут послабее. Так делают, например, Carel, и много кто еще. На маленьком проекте такой подход себя в чем-то, может быть, и оправдывает.
  2. Но лично мне кажется, что большую гибкость дает другой подход. Голова отдельно, и к ней по шине подключается наборный «хвост» из модулей ввода-вывода. Мы ставим те модули, которые нам нужны, и в том количестве, которые нам нужно. Так делают Beckhoff и Siemens, например.

Вот так выглядит внешне подход «все в одной коробке». На фото Carel pCO3.d3bbcd11828d47a385bf3eaefcd9d63e.jpg А вот другой вариант — голова Beckhoff серии CX9000 (слева на фото) с набором модулей ввода-вывода. Помимо всего прочего, на голове еще имеется некая шина, позволяющая объединять ПЛК в сеть, а зачастую еще и менять его программу через эту же сеть. Какая это будет сеть — зависит от ПЛК. Это могут быть и незнакомые тем, кто не сталкивался с промышленными сетями EIA-485, Profibus, CAN, а может быть и вполне привычный Ethernet. Именно через эту сеть, называемую fieldbus, и осуществляется подключение ПЛК к верхнему уровню — к СКАДА-системе, например. На фото выше хорошо видны 2 разъема 8P8C на голове Beckhoff’а — это Ethernet, а у Carel сверху слева видны (плоховато, правда) 2 разъема 6P4C — так они сделали RS-485. У этого интерфейса, к сожалению, нет общепринятого разъема.

Так все же, как под него программы писать-то?

Вообще, это тема не статьи, а целой книги. Но расскажу то, что увидел на личном опыте, и пусть это будет ложкой дегтя. Для профессиональных программистов освоение ПЛК во многом покажется деградацией. ООП? Их нет у нас, есть только структуры, перечисления, и некое подобие класса, которое называется «функциональный блок». Что такое Private, Public и прочее, тоже можно забыть сразу — не пригодится. Из любого места вашей программы можно получить доступ к любому другому месту. Динамическое выделение памяти? Их нет у нас совсем. Не уверен, сколько тебе пришлют данных? Выделяй буфер с запасом, и забудь про эту память — освободить ее не получится. Либо проявляй чудеса скорости и обрабатывай данные на лету, если успеешь уложиться в заданное время цикла. Исключения? Да что вы… видел я одно чудо, которое намертво висло при выполнении конструкции вида:

foo, bar: int; baz: real; foo := 2000; bar := 2000; baz := INT_TO_REAL (foo * bar); 

Понятно, что переполнение, не влазит foo * bar в 16 бит, но зачем же виснуть-то? Да еще так, что ничего, кроме сброса по питанию не помогает. Среда разработки? Не у всех CoDeSys, многим хочется пооригинальничать и написать что-нить свое. Одна из таких самописных сред вылетала с runtime error при попытке записать число 86400 в 16-битный INT. А вы говорите, обработка исключений на ПЛК. Ее и в среде разработки-то не всегда нормально могут сделать. НО! Зато для любителей той тонкой грани, которая отделяет железо от программного обеспечения, софта в просторечии — это очень интересная ветвь ай-ти, правда. Надеюсь, что этот небольшой обзор будет полезен. Если хабрасообществу будет интересна эта тема, то расскажу про ПЛК подробнее.

14 декабря 2018

plcb.jpg

телекоммуникациисистемы безопасностиуправление питаниеммедицинаответственные примененияTexas Instrumentsстатьяинтегральные микросхемысредства разработки и материалы

Программируемым логическим контроллерам уже 50 лет, но без них и сейчас невозможно представить автоматизированное производство. Начинаем публиковать цикл статей о ПЛК и об электронных компонентах, производимых компанией TexasInstruments для создания современных ПЛК.

Подписаться на получение уведомлений о публикации новых статей о ПЛК.

Программируемые логические контроллеры (ПЛК) широко применяются в сфере промышленной автоматизации разнообразных технологических процессов на больших и малых предприятиях. Популярность контроллеров легко объяснима. Их применение значительно упрощает создание и эксплуатацию как сложных автоматизированных  систем, так и отдельных устройств, в том числе — бытового назначения. ПЛК позволяет сократить этап разработки, упрощает процесс монтажа и отладки за счет стандартизации отдельных аппаратных и программных компонентов, а также обеспечивает повышенную надежность в процессе эксплуатации, удобный ремонт и модернизацию при необходимости.

Принято считать, что задача создания прообраза современного ПЛК возникла в конце 60-х годов прошлого столетия. В частности, в 1968 году она была сформулирована руководящими специалистами General Motors. Тогда эта компания пыталась найти замену для сложной релейной системы управления. Согласно полученному заданию на проектирование, новая система управления должна была отвечать таким критериям как:

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

Последующие разработки в General Motors, Allen-Bradley и других компаниях привели к созданию системы управления на базе микроконтроллеров, которая анализировала входные сигналы от технологических датчиков и управляла электроприводами исполнительных устройств.

Термин ПЛК (Programmable Logic Controller, PLC) впоследствии был определен в стандартах EN 61131  (МЭК 61131). ПЛК – это унифицированная цифровая управляющая электронная система, специально разработанная для использования в производственных условиях. ПЛК постоянно контролирует состояние устройств ввода и принимает решения на основе пользовательской программы для управления состоянием выходных устройств.

Упрощенное представление состава и принципа действия ПЛК хорошо демонстрирует рисунок 1. Из него видно, что ПЛК имеет три основные секции:

  • входную;
  • выходную;
  • центральную.

Рис. 1. Состав и принцип действия ПЛК

Имеется еще источник питания. Возможно подключение к ПЛК внешнего ПК для программирования и отладки.

Центральная секция содержит центральный процессор (ЦП), память и систему коммуникаций. Она выполняет обработку данных, принимаемых от входной секции данных, и передает результаты обработки в выходную секцию. Следует сразу отметить, что в больших ПЛК, кроме ЦП, действующего в режиме «ведущий», могут быть дополнительные «ведомые» ПЛК со своими ЦП. В качестве ЦП небольшого ПЛК используются стандартные микропроцессоры (МП). Обычно 8- и 16-разрядные МП вполне справляются со всеми стандартными задачами. Но, как отмечено в МЭК 61131, выбор конкретного МП все же зависит от задач, возлагаемых на данный тип ПЛК.

Для передачи данных другому ПЛК или для подключения к сетям передачи данных PROFIBUS, Industrial Ethernet, AS-Interface в распределенных системах управления сегодня используются коммуникационные процессоры, такие как DP83867IR производства Texas Instruments (TI).

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

Типы ПЛК

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

Крупнейшими мировыми производителями ПЛК сегодня являются компании Siemens AG, Allen-Bradley, Rockwell Automation, Schneider Electric, Omron. Кроме них ПЛК выпускают и многие другие производители, включая российские компании ООО КОНТАР, Овен, Сегнетикс, Fastwel Групп, группа компаний Текон и другие.

Рис. 2. Моноблочные программируемые логические контроллеры

По конструктивному исполнению ПЛК делят на моноблочные (рисунок 2) и модульные. В корпусе моноблочного ПЛК наряду с ЦП, памятью и блоком питания размещается фиксированный набор входов/выходов. В модульных ПЛК используют отдельно устанавливаемые модули входов/выходов. Согласно требованиям МЭК 61131, их тип и количество могут меняться в зависимости от поставленной задачи и обновляться с течением времени. ПЛК подобной концепции представлены на рисунке 3. Подобные ПЛК могут действовать в режиме «ведущего» и расширяться «ведомыми» ПЛК через интерфейс Ethernet.

Рис. 3. Программируемые логические контроллеры с расширенными возможностями

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

Источник питания может быть встроенным в основной блок ПЛК, но чаще выполнен в виде отдельного блока питания (БП), закрепляемого рядом на стандартной рейке. Блок питания небольшой мощности представлен на рисунке 4.

Рис. 4. Блок питания для ПЛК

Первичным источником для БП чаще всего служит промышленная сеть 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°С.

Рис. 5. Блок-схема процессора TI Sitara AM570x

Требования, ограничения и проблемы при проектировании и производстве ПЛК

Таким образом, становится понятно, что ПЛК — это просто особым образом спроектированная цифровая система управления на основе процессоров разной мощности и с различной функциональной оснащенностью, в зависимости от предназначения. Такую систему можно также считать специализированным мини-компьютером. Причем она изначально ориентирована на эксплуатацию в цехах промышленных предприятий, где имеется множество источников электромагнитных помех, а температура может быть как положительной, так и отрицательной. Дополнительно к минимизации воздействия вышеуказанных факторов необходимо предусмотреть и защиту от агрессивной внешней среды, включающей пыль, брызги технологических жидкостей и паровоздушные взвеси. В таких случаях предусмотрена установка ПЛК в защитные шкафы или в удаленных помещениях. Отдельные модули могут размещаться на удалении до сотен метров от основного комплекта ПЛК и эксплуатироваться при экстремальных внешних температурах. Согласно МЭК 61131, для ПЛК с наружной установкой допустима температура 5…55°C. Для устанавливаемого в закрытых шкафах ПЛК необходимо обеспечить рабочий диапазон 5…40°C при относительной влажности 10…95% (без образования конденсата).

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

Связь между удаленными блоками и основным ядром ПЛК осуществляется через помехозащищенные полевые шины по медным кабелям и оптическим линиям связи. В отдельных случаях, например, для связи с подвижными объектами, применяют беспроводные технологии, чаще всего это сети и каналы Wi-Fi. Для взаимодействия с другими ПЛК могут применяться как широко известные интерфейсы  RS-232 и RS-485, так и более помехозащищенные промышленные варианты типа Profibus и CAN.

 Особенности работы и программирования ПЛК

Теперь, когда стали более понятными основные возможности ПЛК, следует выяснить способы их применения.

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

Именно в ПЛК впервые появилась удобная возможность программирования контроллеров путем составления на экране компьютера визуальных цепей из релейных контактов для описания операторов программы (рисунок 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

Перед началом работы ПЛК выполняет первичное тестирование оборудования и загрузку в ОЗУ и ПЗУ операционной системы и рабочей программы пользователя. Стандартный ПЛК кроме рабочего режима имеет режим отладки с пошаговым выполнением программы, с возможностью просмотра и редактирования значений переменных.

Рабочий режим ПЛК состоит из повторяющихся однотипных циклов, каждый из них включает три этапа:

  • опрос всех датчиков с регистрацией их состояния в оперативной памяти;
  • последовательный анализ рабочей программы с использованием данных о текущем состоянии датчиков и с формированием управляющих воздействий, которые записываются в буферные регистры;
  • одновременное обновление контроллером состояния всех своих выходов и начало очередного этапа опроса датчиков.

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

При необходимости можно остановить выполнение программы и перевести ПЛК в режим программирования, затем на экране компьютера изменить ход выполнения программы или отдельные параметры и снова записать их в память ПЛК.

Заключение

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

 Литература

•••

Любое промышленное оборудование, способное выполнять автономно какие-либо операции, имеют в своем устройстве контроллер.

ПЛК – что это такое?

Контроллер — это мозг для машины. Чем сложнее машина, тем функциональнее контроллер. Технически реализация мозга может быть разной – механика, пневматика либо гидравлика, релейные или электронные системы.

Если в конструкции используются реле или решения с «жесткой» логикой, то машина может выполнять только определенные действия — научить машину другим операциям нельзя без вмешательства в ее техническую часть. Такие функции имеют только программируемые логические контролеры или ПЛК.

Контроллер ПЛК — управляющее устройство на основе микропроцессоров, которое приспособлено к работе на производстве. Устройство программируется на упрощенных языках, доступных пользователю без серьезной подготовки.

Структура и устройство ПЛК

Контроллер можно образно предоставить в формате мини-компьютера, но очень компактного и с особенностями. ПЛК, как и ПК, состоят из оперативной памяти, процессора, вспомогательного периферийного оборудования. Однако, дело еще и в том, что промышленные контроллеры должны выполнять не только расчетные задачи, как ПК, но и заниматься сбором информации от массы устройств – это датчики, сенсоры. Также контроллер и выдают сигналы в цепи.

Сейчас выпускаются контроллеры в различных форм-факторах. Это:

  1. Устройство типа «всё в одном». В одном корпусе объединен процессор, память, выходы/входы;
  2. Распределенные решения – процессорный модуль с обвязкой сделан в виде отдельного блока, а по шине или через интерфейсы подключатся модули для вывода и ввода.

Первые модели встречаются очень часто, однако, они рассчитаны на эксплуатацию в малых объектах и системах, где нужно обрабатывать малое количество сигналов.

Второй вид контроллеров используют в промышленности гораздо шире – производства с полнофункциональными АСУ требуют значительно большего числа сигналов, которые требуется обрабатывать. Если производство масштабное, то удобнее разнести модули вводы вывода по территории с объединением в единую сеть, которая подчиняется отдельному логическому контроллеру. Такие сети называют полевыми сетями или fieldbus. К этой седи подключаются датчики, исполнительные системы, которые являются интеллектуальными, так как имеют эту возможность.

Существует масса видов полевых сетей. Стандарт IEC61158 (МЭК61158) включает в себя 8 видов сетей. А до введения этого стандарта каждый производитель придумывал и использовал свою полевую сеть.

В структуре ПЛК имеется базовые компоненты:

  • Модуль процессора;
  • Блок питания;
  • Модули для ввода/вывода.

Процессорный модуль оснащен встроенной памятью. Имеются разъемы для программатора, удаленных устройств, для подключения к сетям. Питание реализовано в виде отдельного блока. Модули могут быть дискретными либо аналоговыми.

В зависимости от того, сколько каналов для ввода и вывода и какой тип процессора, модули ввод/вывод могут быть установлены на одном шасси с ЦП или на нескольких. До конца 80-х годов модули для ввода и вывода данных располагались отдельно от процессора. В стандартном контроллере современного типа модуль входов и выходов находится на одном шасси с микропроцессором. Некоторые ПЛК позволяют устанавливать более одного микропроцессора.

Модели меньших размеров очень часто предназначены под DIN-рейку. Самые компактные микро или даже нано устройства имеют всю систему, включая адаптер питания и систему ввода/вывода в одном корпусе. Микро-контроллеры иногда оборудуются встроенными панелями для настройки и мониторинга. Большинство микро-решений имеют определенное количество каналов входов/выходов и увеличить их не возможно. Как пример — плата ардуино

Принцип действия ПЛК

В отличие от микропроцессорной техники принцип действия ПЛК немного другой. Софт делится на две части. Первая часть представляет собой блок системных программ. Если провести аналогию с ПК, то системное ПО контроллера выступает в роли операционной системы, ответственной за работу низкоуровневых процессов. Системная часть ПО устанавливается в постоянной памяти в любой момент вступает в работу.

Когда ПЛК включается, то уже через мгновение запускается операционная система. Выполнение пользовательской программы циклическое. Цикл работы состоит из четырех фаз:

  • Опрос входов;
  • Выполнение команд;
  • Установка значений для входов;
  • Вспомогательные операции.

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

Входы и выходы

В любом контроллере реализованы входы трех типов – дискретные, аналоговые, специальные.

Дискретный вход

Один вход может принять только один сигнал и он будет бинарным. Вход может быть либо включенным, либо выключенным. Один вход — это 1 бит. К этому входу подключают соответствующее оборудование.

Если состояние приборов не удается описать в 1 бит, тогда для работы такого оборудования применяют несколько дискретных входов.

Системное ПО обязательно оснащено драйвером. Он считает физические значения каждого входа в ОЗУ. За счет этого программистам нет нужды понимать, как устроен контролер внутри. Дискретный вход – биты, которые можно читать и изменять из оперативной памяти устройства.

Аналоговый вход

Электрический аналоговый сигнал — это уровень напряжения или тока, соответствующий определенным физическим величинам. Это может быть значение температуры, давления, веса, положения, скорости перемещения, частоты оборотов. Так как ПЛК – это прежде всего вычислительный прибор, то аналоговый сигнал переводится в цифровой. Получается дискретная переменная.

Специальный вход

Обыкновенные входы способны удовлетворить практически все нужды. Необходимость в в спец. входах появляется при трудностях в обработке сигналов.

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

Второй тип таких входов – это входы, которые могут мгновенно запускать команды пользователей с прерываниями на выполнения основного ПО.

Дискретный выход

С одним выходом можно коммутировать только один сигнал. В качестве нагрузки на выходы могут использоваться различные исполнительные устройства.

Типы ПЛК

Устройства квалифицируются следующим образом:

  • Число каналов для ввода/вывода данных;
  • Расположение модулей для ввода/вывода;
  • Назначение;
  • Способ монтажа;
  • Языки программирования.

По числу каналов для ввода/вывода ПЛК делят на классы:

  1. Нано ПЛК контроллер – часто имеет встроенные возможности, содержит до 16 каналов;
  2. Малый – от 16 до 100 каналов;
  3. Средние системы для работы с 100-300 входами и выходами – типичный представитель ПЛК 110 Овен;
  4. Большие модели с возможностью обработки 300-2000 входов/выходов;
  5. Сверхбольшие модели – от 2000 и более каналов.

По тому, как располагаются модули, контроллеры различают на:

  • Моноблоки – модуль ввода/вывода не отделяется от контроллера и подлежит замене. Устройство выглядит в виде моноблока с модулем ввода/вывода. Зачастую, модели имеют малое число каналов и отличаются малой мощностью;
  • Модульные состоят из общей корзины или шасси, где расположены процессор, а также сменные модули с входами в выходами. Модули подбираются исходя из решаемой задачи. Контроллеры оснащаются числом слотов — от 8 до 32. Также возможна модульная конструкция, где каждый модуль соединяется при помощи шины. .
  • Распределенные контроллеры – модули изготовлены в отдельных корпусах и соединяются с центральным процессорным модулем по сети. Дальность может составлять до 1,2 км.

Также ПЛК различаются по назначению – это универсальные общепромышленные устройства, коммуникационные , контроллеры ПИД, системы для робототехники, для контроля перемещения и позиционирования.

По способу монтажа промышленные контроллеры можно разделить на:

  • Панельные;
  • Под DIN-рейку;
  • Стоечные;
  • Бескорпусные.

По языкам программирования выделяют модели, программируемые на языке ПЛК систем МЕК 61131-3 и на классический языках, таких как С, C#, Visual Basic, Scala.

Ограничения ПЛК

ПЛК, как и любая цифровая техника имеет ограничения. Устройства ограничены:

  • объемом ОЗУ,
  • мощностью процессора,
  • ограниченным числом входов/выходов.

Также в моделях ограничено время срабатывания и на восстановление после сбоев.

Место программируемого логического контроллера в системе управления

Устройства установлены в самых нижних звеньях АСУ ТП. ПЛК – это первый шаг в строительстве АСУ. Автоматизация дает очень рост экономики, позволяет существенно повысить качество производства, избежать чрезмерно тяжелой либо рутинной работы.

Назначение переменных в ПЛК

Как и в любом языке программирования, переменная – именованная или же адресуемая другим способом область памяти, адрес которой можно использовать, чтобы получить доступ к данным. Переменные позволяют также различным образом менять данные, с которыми работает программа.

С помощью переменных ПЛК может обрабатывать сигналы и реагировать на них. При помощи алгоритмов запускаются и останавливаются технологические процессы.

Основы программирования ПЛК. Реле и контроллер

Логика загружается в ПЛК при помощи программного обеспечения. Это ПО определяет, какие из выходов будут под напряжением и какие входные условия нужны для любых изменений. Управляющая программа аналогична схеме работы физического реле, но физически нет ни реле, ни проводов, ни катушек. Все эти элементы – мнимые. ПО разрабатывается и просматривается на ПК, соединенном с интерфейсом контроллера.

Есть кнопка, контроллер и индикатор. Когда кнопка не задействована, сигнал на вход контроллера отправлен не будет. ПО, показывающее открытый вход, не отправит сигнал на выход. Так, на выходе ток отсутствует и лампа не будет гореть.

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

Контакты с индикатором соединены физическим способом. А сигнал виртуальный. Однако, все элементы существуют только в компьютерном ПО, а как физические – нет. Но принцип реле здесь используется. Также в программе можно задавать условия, которые будут проверятся и выполнятся контроллером.

Чтобы создать такую же схему, но на основе физических железных компонентов, понадобится три реле, где два открытых контакта – каждый из них будет использоваться. Но с помощью ПЛК можно не добавляя лишнего оборудования использовать столько контактов на каждый вход, сколько захочется.

Управляющие команды на языке релейной логики просты и понятны для инженеров-электриков. На графическом интерфейсе видны все логические операции. Это электрическая ц3епь с замкнутыми либо разомкнутыми контактами. Если по цепи протекает ток, что это истина. Если ток не протекает, тогда состояние – ложь.

Основой управляющей программы служат логические выражения, состоящие из операндов и переменных. Также программа состоит из операторов. Операторы – это команды языка программирования.

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

Среда программирования

Стандартом для программирования ПЛК является языки МЕК. В начале 90-х годов для этих задач на рынке появилась ПО «CoDeSys». Продукт соответствует стандарту МЕК 61131-3 для работы с ПЛК. ПО пользуется большим спросом по причине бесплатной лицензии.

Сейчас этот программный пакет серьезно вырос. Кроме стандартных интегрированных в систему редактора кода, отладчика и компилятора также в состав включен конфигуратор для контроллеров, промышленных сетей, редактор для составления мнемосхем, отладочных сервер, серверы OPC и DDE. Многие производители ПЛК предлагают эту среду, как базовый инструмент для работы.

Языки программирования ПЛК

Управляющие программы для контроллеров разрабатывают при языков, которые созданы не для программистов в современном понимании, а для инженеров по АСУ ТП.

Самым простым и популярным инструментом считается набор готовых модулей и конфигуратор, позволяющий собрать модули в управляющую цепь. Еще совсем недавно у каждого производителя ПЛК был свой язык. Но к середине 90-х ситуация изменилась. Языки стандартизировали.

Стандарт IEC 1131.3 определяет пять языков:

  • Язык лестничных диаграмм LD – это традиционный язык на базе релейных блокировок, где алгоритмы изображаются в виде схем;
  • FBD – представляет собой конфигуратор и типовые подпрограммы;
  • SFC — язык последовательных схем. Инструмент, близкий к традиционному программированию и на нем реализуют алгоритмы с последовательным управлением;
  • ST – язык структурированного типа. Это язык, напоминающий Pascal с поддержкой структурного программирования;
  • IL – язык инструкций. Это низкоуровневый инструмент вроде Ассемблера, но он не ориентирован на микропроцессорную архитектуру. Он преимущественно применяется для создания быстрых программ.

Удаленное управление и мониторинг

Контроллеры имеют гибкие возможности для коммуникации с другим оборудованием. Эти возможности позволяют удаленно управлять устройствами, а также интегрировать ПЛК в системы автоматизированного управления и сбора данных.

Операторская панель или HIM – это устройство для визуализации. Она может быть встроенной или подключаться кабелем. Существует масса различных типов таких решений – от простых цифровых с кнопками до серьезных сенсорных с функцией оперативного мониторинга и коррекции параметров.

SCADA – это аббревиатура означает систему диспетчеризации и сбора данных. Это программные пакеты, которые позволяют разрабатывать приложения в режиме реального времени. Также пакет имеет инструменты сбора и обработки данных, архивирования и отображения или управления.

Веб-интерфейс позволяет получать доступ к ПЛК по локальным или глобальным сетям. В зависимости функциональности контроллер может не иметь операторской панели, но есть порт для подключения ПЛК к Ethernet. Тогда устройство можно настраивать удаленно по веб-интерфейсу или с ноутбука.

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

Применение контроллеров

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

Производители ПЛК

Существует масса компаний, которые изготавливают промышленные контроллеры — это:

  • Advantech,
  • Delta,
  • VIPA,
  • Mitsubishi Electric,
  • WAGO I/O,
  • Phoenix Contact
  • и многие другие.

Российские производители ПЛК :

  • Контар,
  • Овен,
  • Segnetics,
  • Fastwel,
  • Текон.

На что обращать внимание при покупке

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

  • Универсальность среды программирования для разных платформ;
  • Контроллеры с распределенным вводом/выводом;
  • Устройства со встроенным вводом выводом;
  • Связь с ПК;
  • Дублирование ЦП и системы ввода/вывода;
  • ПЛК с поддержкой веб-технологий;
  • ПЛК с процессором типа PC;
  • Переносные устройства для создания программ.

Самый главный пункт здесь – это первый пункт. Не стоит пытаться отыскать самое доступное оборудование на рынке – процесс переподготовки специалистов сведет к нулю всю возможную экономию. Стоить выбрать нескольких производителей и сотрудничать только с их продукций.

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

Используемые источники:

  • https://habr.com/post/139425/
  • https://www.compel.ru/lib/95591
  • https://arduinoplus.ru/programmiruemii-logicheskii-kontroller/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации