Языки программирования контроллеров
1 минута чтение

Языки программирования контроллеров

Техническое задание

Создание и утверждение технического задания (ТЗ) – очень важная часть разработки ПО. От грамотно составленного ТЗ зависит, насколько эффективно будет вестись разработка.

Читайте также:  Электродвигатели постоянного тока. Устройство и работа. Виды

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

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

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

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

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

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

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

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

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

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

Место ПЛК в системе управления

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

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

ПЛК в системе управления

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

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

Впрочем, его следует воспринимать двояко: индивидуально создаваемое ПО позволяет проектировать узкоспециализированные изделия под конкретные задачи.

Периферия

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

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

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

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

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

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

  • вход;
  • центр;
  • выход.

Устройство ПЛК

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

Помехоустойчивость

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

Читайте также:  Частые причины поломок индукционных плит и ремонт устройства своими руками

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

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

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

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

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

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

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

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

Первый этап работы устройства состоит из экспресс-теста задействованного оборудования. Одновременно идет загрузка операционной среды, управляющих программ. Все как в настольном ПК при старте Windows. Предусмотрена пошаговая отработка команд (отладка), при которой допускается мониторинг, корректировка переменных.

Для простоты восприятия рабочий, шаговый режим ПЛК разбит на типовые циклы. Они повторяются во время функционирования устройства. В каждом цикле, «маршрутной карте» заключаются 3 действия:

Сканирование, обращение к внешним датчикам. Запись значений (состояния) в ячейки памяти.

Анализ действующей программы. Внесение требуемых корректив на основании данных предыдущего шага.

Передача результата вычислений на блоки выхода.

Завершается цикл быстрым переходом к первому этапу «урока».

Проблемы совместимости программы с аппаратной частью

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

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

Читайте также:  Особенности схемы подключения электродвигателя стиральной машины

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

Программирование Simatic S7-1200

Программирование Simatic S7-200
Программирование Simatic S7-400
Программирование Simatic S7-1500

История создания

В 60 годах 20 века для управления телефонными станциями, промышленным оборудованием использовались сложные схемы с реле. Они не отличались повышенной надежностью или ремонтопригодностью. Инженерам одной из компаний, американской General Motors, была поставлена цель по созданию нового оборудования. Задачи, на которые оно было рассчитано, выглядели так:

  1. Упрощение отладки, замены.
  2. Относительная дешевизна.
  3. Гибкость, удобство модернизации.
  4. Снижение риска отказов.

Изобретение, создание микросхем и блоков управления на их основе позволило решить заданные вопросы.

Терминология, объясняющая, что такое ПЛК (PLC), внесена в международные и европейские стандарты качества МЭК, EN.

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

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

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

Языки программирования и среды разработки

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

Наиболее простым и наглядным языком программирования ПЛК, входящим в каждую среду разработки является язык релейных схем LD (Ladder Diagram

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

Другой язык, имеющий обширный функционал – FBD (Function Block Diagram)

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

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

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

Другие полезные материалы:

Настройка ПЧ для работы на несколько двигателей Особенности работы частотников при однофазном питании Коротко о программируемых логических контроллерах

Вид окна ассистента ввода
Программа генератора одиночных импульсов
Интерфейс программы

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

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

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

Роль каналов обмена данными играют кабельные медные шины, оптоволоконная связь. Успешно используются варианты стандартизированных интерфейсов RS-232, RS-485 (кабель), промышленных Profibus или CAN. Не возбраняется коммутация по беспроводным линиям (Wi-Fi).

Типы ПЛК

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

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

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

  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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Замена электропроводки в панельном доме: тонкости, правила и рекомендации

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

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

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

На рынке представлены компании из России, США, ФРГ, Японии. Это Texas Instruments, Carel, Delta Electronics, Schneider Electric, Mitsubishi, Beckhoff, Omron, Segnetics, Unitronics. Отечественную продукцию представляют марки «Овен», «Контар», «Текон».

Выбор конкретного решения зависит от предъявляемых заказчиком требований, условий работы. А чтобы разобраться, чем ПЛК100, ПЛК110 отличается от ПЛК160, ПЛК323 потребуется обладание квалификацией, возможно — консультации специалистов.

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

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

Каким из доступных способов выполнить реализацию, с помощью простейшего клавиатурного модуля или сенсорной панели — решать заказчику. В последнее время активно используются «облачные» хранилища, виртуальные серверы. Не остаются в стороне и стандартные, Intranet (локальные) и Internet (внешние) подключения.

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

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

До приобретения ПЛК нужно кое-что уточнить. Вот эти факторы:

Универсальность программной среды. Единые языки для всех аппаратных платформ.

Наличие контролеров с распределенным, интегрированным вводом-выводом.

Реализация связи ПЛК со стационарным компьютером.

Специализированное оборудование. Это микросистемы, ориентированные на работу с облачным сервисом (вариант оповещения по мобильной связи, почте).

Открытая архитектура отдельных ПЛК.

Выбор ПЛК

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

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

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