Программа plc что это такое

Что такое программируемый логический контроллер и принцип его работы

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

Задачей https://techtrends.ru/catalog/programmiruemye-logicheskie-kontrollery/» target=»_blank»>программируемого логического контроллера является сбор данных, их обработка и преобразование, сохранение в памяти необходимой информации, создание команд управления, которые поступают посредством входов и передаются посредством выходов. Входы и выходы подключаются к датчикам и ключам, к механизмам устройства управления.

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

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

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

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

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

  • управление внутренними узлами контроллера;
  • взаимодействие составляющих компонентов;
  • осуществление внутренней диагностики.

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

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

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

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

Время отклика на сигнал зависит от длительности одного цикла действующей программы.

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

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

Один дискретный вход принимает один бинарный электронный сигнал. При этом практически все стандартные входы принимают электрический сигнал мощностью 24 Вт, при типовом значении тока 10 мА.

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

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

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

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

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

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

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

Классификация ПЛК по типу конструкции

По своей конструкции ПЛК могут быть:

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

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

Читайте также:
Главный экран one ui что это за программа и нужна

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

Сегодня разработаны технологические языки, а также установлен стандарт МЭК-61131-3, который был разработан Международной Электротехнической Комиссией.

Все производители должны придерживаться установленного стандарта и предлагать устройства, оснащенные одинаковыми по интерфейсу и принципу действия командами.

Этот стандарт включает в себя 5 языков:

  • языком функциональных релейных блоков является Sequential Function Chart;
  • для функциональных блоковых диаграмм, предусмотрен язык Function Block Diagram;
  • для релейных диаграмм, принят язык Ladder Diagrams;
  • язык структурированного текста Statement List напоминает Паскаль;
  • языком инструкций является Instruction List , он представляет собой ассемблер, оснащенный аккумулятором и переходом по метке.

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

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

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

CoDeSys — программный комплекс

Введенный МЭК стандарт привел к необходимости создания инструментов программирования. Решение этой задачи взяли на себя некоторые компании, которые стали заниматься исключительно инструментами программирования.

Так, фирма 3S, разработала комплекс CoDeSys, который стал одним из самых популярных в мире. Он отвечает всем требованиям стандарта МЭК и обладает рядом преимуществ, среди них — встроенный эмулятор и встроенные элементы визуализации, наличие инструкции и документации на русском языке, а также возможность использования русскоязычной версии.

Источник: techtrends.ru

Программируемые логические контроллеры. Устройство и принцип работы.

Программируемый контроллер

Современную промышленность невозможно представить без систем автоматизации. Сложность производственных процессов делает невозможным управление ими вручную, к тому же системы автоматики обходятся гораздо дешевле, чем обслуживающий персонал, да и работают они быстрее и надёжнее. Да что говорить о промышленности – в настоящее время практически ни одно здание не обходится без автоматики. Школы, больницы, детские сады, офисные и складские помещения, загородные дома и коттеджи – все эти объекты оснащены инженерными системами с автоматическим управлением. Несмотря на многообразие применений и сфер использования все системы автоматики работают по одному принципу и обладают схожей структурой, в центре которой находится «мозг» системы – программируемый логический контроллер (ПЛК).

С чего всё начиналось?

OLYMPUS DIGITAL CAMERA

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

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

Принцип работы ПЛК

принцип работы ПЛК

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

1. Чтение состояний входов

2. Выполнение программы пользователя

3. Запись состояний выходов

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

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

Рабочий цикл контроллера

Время реакции системы — время с момента изменения состояния системы до момента выработки соответствующей реакции (принятия решения).

Системы реального времени

Все системы можно условно разделить на системы жёсткого и мягкого реального времени.

системы реального времени

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

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

Входы и выходы ПЛК

входы выходы плк

Дискретные входы – предназначены для ввода сигналов от дискретных датчиков (кнопки, тумблеры, концевые выключатели, термостаты и др.). Напряжение сигнала унифицировано для всех ПЛК и составляет 24 В. Проще говоря, при «появлении» на входе контроллера напряжение 24 В – ПЛК будет считать этот вход «включенным», то есть он примет значение логической «1» в восприятии контроллера.

Дискретные выходы – предназначены для управления устройствами по принципу «включить/выключить» (магнитные пускатели, лампочки, клапаны и др.). Дискретный выход – это обычный контакт, который может замкнуть или разомкнуть управляющую или питающую цепь устройства.

дискретные входы плк

Аналоговые входы – предназначены для ввода непрерывного сигнала с датчиков и других устройств. Существует два основных вида унифицированных аналоговых сигналов: по току – 4..20 мА, по напряжению 0..10 В. Например, датчик температуры имеет диапазон -10 — +70 °С, тогда 4мА на выходе соответствует -10 °С, а 20мА – это +70 °С. С аналоговыми сигналом по напряжению всё аналогично.

Читайте также:
Movavi video suite что это за программа

Аналоговые выходы – предназначены для плавного управления устройствами. Унифицированные значения аналогового сигнала на выходах такое же, как и на входах – 4..20мА (0..10В). Например, вентиль может поворачиваться в пределах от 0° до 90°. Ток 4мА повернёт его в положение 0°, а 20мА – в положение 90°. Для того, чтобы повернуть его на 45°, нужно подать на него управляющий сигнал 8мА.

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

аналоговые выходы плк

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

Цифровые интерфейсы ПЛК

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

интерфейс плк

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

плк modbus

В этих случаях обмен удалённых модулей и устройствами с ПЛК осуществляется по цифровым интерфейсам с использованием специализированных протоколов, таких как Modbus RTU, ModBus TCP, CANopen, Profibus, EtherNet IP и других.

Источник: lazysmart.ru

Программинг микроконтроллеров / [Из песочницы] ПЛК — что это такое?

Программинг микроконтроллеров / [Из песочницы] ПЛК — что это такое?

2012-03-05 в 9:36, admin , рубрики: plc, плк, метки: plc, плк

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

Введение

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

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

Стандарт МЭК 61131-3
  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, например.
Читайте также:
Customization service samsung что это за программа

image

Вот так выглядит внешне подход «все в одной коробке». На фото Carel pCO3.

image

А вот другой вариант — голова 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. А вы говорите, обработка исключений на ПЛК. Ее и в среде разработки-то не всегда нормально могут сделать.

НО! Зато для любителей той тонкой грани, которая отделяет железо от программного обеспечения, софта в просторечии — это очень интересная ветвь ай-ти, правда.

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

Источник: www.pvsm.ru

Программируемый логический контроллер

Модульный программируемый логический контроллер

Программи́руемый логи́ческий контро́ллер (сокр. ПЛК ; англ. programmable logic controller , сокр. PLC ; более точный перевод на русский — контроллер с программируемой логикой), программируемый контроллер — специальная разновидность электронной вычислительной машины. Чаще всего ПЛК используют для автоматизации технологических процессов. В качестве основного режима работы ПЛК выступает его длительное автономное использование, зачастую в неблагоприятных условиях окружающей среды, без серьёзного обслуживания и практически без вмешательства человека.

Иногда на ПЛК строятся системы числового программного управления станков.

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

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

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

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

  • 1 История
  • 2 Виды ПЛК
  • 2.1 Контроллер на базе персонального компьютера
  • 2.2 Локальный программируемый контроллер

Источник: wiki2.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru