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

Работа

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

Финансово трудно придётся новичкам (до 1 года опыта): зарплата в районе 20 тыс. рублей в месяц для программиста МК. Это вполне реальная цифра в регионах. Зато если вы живёте в столице, у вас есть опыт работы с популярным видом МК (от 3 лет активной деятельности) и голова на плечах, то вполне можно рассчитывать и на 150 тыс. рублей в месяц. В целом, не сказать, что конкуренция за места у данных разработчиков высокая, но с течением времени она неизбежно растёт.

Опять же, для людей с опытом есть вариант поискать счастье за границей. Особенно если у вас уже есть опыт полноценной работы. Дело в том, что в России идея IoT пока не слишком развивается. Да и вообще автоматизация пока не затрагивает небольшие системы. А в США, Японии и других развитых странах хороший разработчик ПО для МК — на вес золота. Правда, придётся учитывать иной уровень конкуренции и серьёзные требования по производительности труда.

Прошивка и отладка программы

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

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

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

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

Avr studiо, proteus, программатор | Микроконтроллеры с нуля #2Avr studiо, proteus, программатор | Микроконтроллеры с нуля #2

Итак, полный набор для программирования МК состоит из таких элементов:

1) Atmel Studio

2) Datasheet на ATmega8

3) Proteus

4) AVRDUDE

5) Программатор USB ASP (+ драйвер на него)

6) Макетная плата

7) Микроконтроллер ATmega8

Если микроконтроллера нет в наличии, не стоит откладывать изучение микроконтроллеров на потом, достаточно скачать и установить:

1) Atmel Studio

2) Datasheet на ATmega8

3) Proteus

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что же выбрать

ПЛК 110 «Овен» или Simatic s7 производства «Сименс», Modicon m340, Segnetics trim5 четко подчинены встроенной инструкции. Работают по разработанному производителем алгоритму. Программное обеспечение разных марок не всегда совместимо, это учитывается при модернизации (замене) или комплектации технологических цепочек средствами автоматизации.

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

Выбрать свой прибор помогут отзывы, обзоры, опыт эксплуатации владельцев контроллеров. Нужный микронтролллер — не обязательно дорогой. Цена определяется выполняемыми функциями, маркой прибора. Описание, настройка параметров приводятся в паспорте устройства.

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

Необходимый набор программ

Существует множество полезных и удобных программ для программирования МК. Они бывают как платные, так и бесплатные. Среди них можно выделить три основных:

1) Atmel Studio

2) CodeVisionAVR

3) WinAVR

Все эти программы относятся к IDE – Integrated Development Environment – интегрированная среда разработки. В них можно писать код, компилировать и отлаживать его.

Следует обратить внимание на Code Vision AVR. Эта IDE позволяет упростить и ускорить написание кода

Однако программа платная.

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

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

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

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

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

Знания

От пустых слов перейдём к реальным требованиям. «MustKnow» в программировании микроконтроллеров — язык C/C++. Да, мировые тенденции сейчас указывают на переход на более совершенные или хотя бы простые языки (вспомните Arduino или D). Но это будущее довольно отдалённое, закладывать путь в него можно разве что сегодняшним школьникам младших классов.

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

В остальном довольно общая компьютерная наука: протоколы передачи, простейшее знание электроники и схемотехники (хотя бы принципы работы АЦП/ЦАП, работать с ключами, питанием и пр.), умение читать (и понимать) техническую документацию на английском языке. Но главное — не работать по принципу “научного тыка”, в противном случае ваши микроконтроллеры рискуют превратиться в “камни”.

Еще один совет: постигать все эти знания необходимо на практике. Начать можно с дешёвых, но эффективных готовых плат со всей необходимой обвязкой, вроде Arduino или Raspberry Pi, которые в будущем наверняка станут для вас хорошими помощниками. А уже потом, если возникнет желание, поиграть с периферией.

Типы ПЛК

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

Крупнейшими мировыми производителями ПЛК сегодня являются компании 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

Выбор ПЛК

Выбор платформы автоматизации

Выбор платформы определяет и весь ваш будущий выбор.

ПЛК является первым пунктом в выборе платформы.

Правильный выбор платформы позволяет минимизировать расходы жизненного цикла системы управления:

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

Определение количества точек ввода-вывода

Желательно максимально точно определить общее количество точек ввода-вывода (с учётом резервирования), чтобы подобрать ПЛК соответствующей производительности,
или заранее предусмотреть модель контроллера с большим запасом по расширяемости.

  • Дискретные входы (стандартные и быстродействующие импульсные)
  • Аналоговые входы для подключения датчиков:
    • токовых (0..20мА, 4..20мА)
    • «напряженческих» (-10..+10В, 0..+10В)
    • термопар и термосопротивлений (способ подключения: 2-х, 3-х или 4-х проводное подключение)
  • Дискретные выходы (мокрый контакт)
  • Релейные выходы (сухой контакт):
    • тип нагрузки (резистивная, индуктивная, резистивно-индуктивная)
    • величина тока (в Амперах)
    • напряжение (~220В, =24В)
  • Аналоговые выходы:
    • токовые (0..20мА, 4..20мА)
    • «напряженческие» (-10..+10В, 0..+10В)
  • Интерфейсы для подключения угловых или линейных датчиков скорости, положения (энкодеров, резольверов, синусно-косинусных)

Определение архитектуры системы управления

  1. Составить список объектов автоматизации (производственных площадок, цехов, участков, технологических линий, подсистем)
  2. Определиться с количеством ПЛК: если объекты управляются независимо друг от друга и вводятся в эскплуатацию поочередно, то можно предусмотреть для них
    отдельные контроллеры
  3. В зависимости от объёма и скорости обмена данными, территориального расположения объектов управления необходимо выбрать тип и топологию промышленной сети,
    требуемое коммуникационное оборудование
  4. Для минимизации длины кабельных соединений используются станции распределённого ввода-вывода
  5. Расписать точки ввода вывода по контроллерам, шкафам локального и децентрализованного ввода-вывода, определить количество и типы модулей ввода-вывода с
    учётом запаса по свободным каналам ввода-вывода
  6. В зависимости от направления обмена данными между ПЛК необходимо правильно выбрать конфигурацию Master – Slave (Ведущий – Ведомый): контроллеры типа Slave
    не могут обмениваться данными друг с другом

Масштабируемость

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

Выбор блоков питания

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

Пример последствий неправильного выбора блока питания

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

  • Очень полезен программный симулятор, с помощью которого можно отладить программу без подключения к ПЛК
  • Удобно, если для программирования ПЛК можно использовать стандартный ноутбук и стандартный кабель (USB или Ethernet)
  • Проще найти программиста, если контроллер поддерживает стандартные языки программирования IEC61131:
    • LD (Ladder Diagram) – графический язык релейной логики
    • IL (Instruction List) – список инструкций
    • FBD (Function Block Diagram) – графический язык диаграмм логических блоков
    • SFC (Sequential Function Chart) – графический язык диаграмм состояний
    • ST (Structured Text) – текстовый язык программирования высокого уровня

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

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

На профессиональном языке такой метод обозначается аббревиатурой LD (logo LAD). В дальнейшем работа ПЛК представляется как взаимодействие отдельных логических элементов. Они выполняют действия таймеров, релейных ячеек, счетчиков. Считается, что благодаря подобной унификации, освоить принципы программирования может каждый. Причем независимо от профильной профессии.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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