Автоматизація

Програмований логічний контролер / ПЛК (PLC) – Найважливіші питання та відповіді

Програмовані контролери є серцем промислової автоматики, оскільки дозволяють точно керувати та регулювати машини та процеси. Вони забезпечують гнучкість, надійність та ефективність у багатьох сферах застосування. Детальну інформацію та відповіді на найпоширеніші запитання можна знайти в розділі FAQ.

ПЛК - зміст

Чому системи автоматизації так поширені?

Електричні та механічні системи автоматизовані майже в кожному технологічному цеху. Прикладом цього є автоматичний контроль компонентів на основі положення перемикачів або після закінчення певного часу. Іноді потрібні лише прості бінарні з'єднання, проте часто необхідно застосовувати складні послідовні системи керування. Для автоматизації зазвичай використовуються програмовані логічні контролери (ПЛК).

Що таке ПЛК?

Програмований логічний контролер / ПЛК можна розглядати як невеликий комп'ютер, який виконує вихідні операції на основі вхідних даних і операцій. ПЛК складається щонайменше з центрального процесора (CPU) та модулів вводу/виводу (модулів I/O). Модулі I/O зазвичай підключаються до центрального блоку через системну шину, яка також забезпечує їх напругою.

Центральний блок управління JUMO variTRON 500 з функцією ПЛК, модулями входів/виходів та інтернет-панеллю (ззаду)

Центральний блок управління JUMO variTRON 500 з функцією ПЛК, модулями входів/виходів та інтернет-панеллю (ззаду)

Які типи програмованих логічних контролерів доступні?

ПЛК-контролери доступні в різних версіях, які відрізняються за функціональністю та застосуванням:

Компактні ПЛК- контролери

Ці контролери інтегровані в одному корпусі. Вони містять усі необхідні компоненти, такі як процесор, входи/виходи та комунікаційні інтерфейси. Вони ідеально підходять для невеликих застосувань з мінімальними вимогами до простору.

Модульні ПЛК- контролери 

Ці системи складаються з центрального процесора CPU та окремих модулів вводу/виводу, які можна додавати або видаляти залежно від потреб. Вони забезпечують гнучкість та можливість розширення у випадку більш складних застосувань. Вони також включають системи автоматизації з сімейства JUMO variTRON, навіть якщо вони мають значно ширший функціонал, ніж стандартні контролери PLC.

Контролери безпеки ПЛК

Ці контролери були розроблені спеціально для критичних для безпеки застосувань і відповідають суворим стандартам безпеки. Вони використовуються в сферах, де захист людей і обладнання має найвищий пріоритет.

Чому ПЛК має вхідні та вихідні модулі?

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

Як виглядала автоматизація процесів до впровадження програмованих логічних контролерів?

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

Що таке програма ПЛК і як її створювати?

Всі вхідні сигнали циклічно обробляються програмою ПЛК і об'єднуються в програмі. Для програмування ПЛК доступні середовища розробки, такі як CODESYS, що означає, що програми створюються в CODESYS, а потім передаються в ПЛК.

Які є доступні мови програмування ПЛК?

ПЛК-контролер можна програмувати різними мовами програмування, визначеними в стандарті IEC 61131-3. Таким чином, програміст може вибрати мову програмування, яка найкраще відповідає конкретним вимогам.

Драбинкова логіка (Ladder Logic)

Мова програмування драбинкової логіки, яка використовується з 60-х років XX століття, підходить для заміни мережі реле. Це найстаріша відома мова програмування. Її представлення програми подібне до зображення електричних схем.

Уявіть собі дуже просте застосування, в якому модуль введення зчитує стан перемикача граничного значення в резервуарі та стан 2 кнопок. Відповідні стани доступні в програмі ПЛК за допомогою змінних з назвами „LevelBelowTheLimit”, „PushbuttonLeft” і „PushbuttonRight”. Насос керується за допомогою реле вихідного модуля. У програмі він позначений назвою „PumpActivated”. Насос повинен вмикатися тільки тоді, коли обидві кнопки (обидві – з міркувань безпеки) натиснуті, а рівень у резервуарі опустився нижче граничного значення. Проста програма мовою драбинкової логіки в CODESYS виглядає наступним чином:

Приклад програми в ladder logic

Приклад програми в ladder logic

Видно тут структуру, подібну до схеми електричного кола, що складається з перемикачів/кнопок і реле. Після створення програми вона передається до контролера ПЛК і перевіряється. Після цього середовище програмування CODESYS більше не потрібне.

Уже на дуже ранньому етапі в мові програмування Ladder Logic були доступні часові елементи, які дають змогу затримати вмикання/вимикання або активувати вихід на певний час після запуску. Наприклад, доступний функціональний блок із позначенням TON. Він активує свій вихідний сигнал лише тоді, коли його вхід є активним протягом мінімального часу. Якщо, наприклад, насос має ввімкнутися після натискання кнопок щонайменше на 5 секунд, невелику програму слід змінити таким чином:

Модифікований приклад програми в ladder logic

Модифікований приклад програми в ladder logic

Стандартні функціональні модулі також охоплюють тригери RS, лічильники, часові елементи (такі як затримки вмикання та вимикання), а також детектори фронту (схилу). Математичні операції також є частиною стандартного програмного забезпечення.

Схема функціональних блоків

Іншою дуже схожою мовою є схема функціональних блоків, орієнтована на мережу. У цій мові невелика програма має таку структуру:

Приклад програми у вигляді блок-схеми функції

Приклад програми у вигляді блок-схеми функції

Безперервна функціональна діаграма

CFC (безперервна функціональна діаграма) є подальшим розвитком блок-схеми функції, яка дозволяє вільно розміщувати елементи. В іншому CFC дуже схожа за зовнішнім виглядом. Мова програмування є дуже поширеною. У ній програма виглядає наступним чином:

Приклад програми в діаграмі безперервної функції

Приклад програми в діаграмі безперервної функції

Список інструкцій

Мовою, яка зараз використовується відносно рідко, є список інструкцій (IL), який дуже схожий на мову програмування асемблера. Кожна інструкція в IL базується, перш за все, на завантаженні значення в акумулятор, що здійснюється за допомогою інструкції LD. Потім виконується відповідна операція з першим параметром з акумулятора. Результат цієї операції повертається в акумулятор. Невелика програма має таку структуру в списку інструкцій:

Приклад програми в списку інструкцій

Приклад програми в списку інструкцій

Структурований текст

Іншою мовою програмування є ST-код (структурований текст). ST-код — це текстова мова програмування, яка дозволяє виконувати складні завдання управління. Її синтаксис схожий на синтаксис мови програмування Pascal. Вона дозволяє використовувати змінні, функції, цикли та умовні оператори. ST-код особливо добре підходить для програмування складних послідовностей процесів і математичних обчислень. Він дозволяє здійснювати структуроване та зрозуміле програмування, що полегшує обслуговування та подальший розвиток програм управління. Для зразка програми в коді ST потрібно лише 2 рядки:

Приклад програми в структурованому тексті

Приклад програми в структурованому тексті

Як можна реалізувати послідовне управління за допомогою ПЛК?

Мова послідовних функціональних діаграм ідеально підходить для реалізації послідовного управління. Уявімо собі завод з термічної обробки, на якому матеріал, призначений для обробки, транспортується до заводу за допомогою стрічкового конвеєра. Перші 3 кроки такі:

  1. Натискання кнопки пуску призводить до нагрівання нагрівача. Після досягнення заданої температури починається наступний крок.
  2. Двері камери обробки відкриваються і запускається конвеєр, який подає товари в камеру. Після повного завантаження матеріалу (що визначається датчиком наближення) починається наступний крок.
  3. Двері закриваються, а температура камери регулюється до заданого значення. Після досягнення заданої температури в серцевині продукту управління вимикається, а двері відкриваються. Починається наступний крок.

У програмах, написаних у вигляді послідовної функціональної діаграми, певні кроки (наприклад, нагрівання та завантаження) пов'язані між собою умовами перемикання або переходами. Перші 3 кроки (+ базова позиція) програми, необхідні для прикладу застосування, виглядають у мові послідовної функціональної діаграми наступним чином:

Поєднання етапів процесу в послідовній функціональній діаграмі

Поєднання етапів процесу в послідовній функціональній діаграмі

Для кожного кроку можна визначити окрему програму, однак вона виконується тільки тоді, коли даний крок є активним. Обробка починається з кроку «BasicPosition». Для цього кроку не записано жодної програми, тому ніякі дії не виконуються.

Для всіх наступних кроків визначаються окремі програми (наприклад, на мові драбинки). Після натискання кнопки «Старт» з рівня «BasicPosition» активується крок «Heater», що призводить до ввімкнення генератора тепла за допомогою записаної програми. Крок залишається активним до тих пір, поки температура нагрівача не досягне 200 °C, після чого активується крок «Retract». Програма, призначена для кроку «Retract», запускає відповідне управління дверима і двигуном стрічки.

Далі додаються наступні кроки разом із призначеними переходами. Останній перехід знову активує крок «BasicPosition».

Які інші типові характеристики мають ПЛК-контролери?

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

  • Надання різних інтерфейсів для комунікації з системами вищого рівня
  • Надання змінних у хмарі, завдяки чому доступ до заводу можливий з будь-якого місця за допомогою різних кінцевих пристроїв
  • Редактори для візуалізації екранів процесів, адаптованих до потреб клієнта
  • Доступ до веб-сервера, який дозволяє візуалізувати завод за допомогою браузера або веб-панелі