Блог

ПЛК в системах АСУ ТП: Что это за устройство, где стоит и почему без него ничего не работает

Возьмём простую картину. Насосная станция водоснабжения. Три насоса, десяток датчиков давления и уровня, задвижки, частотные преобразователи. Оператор в диспетчерской смотрит на экран и видит, что давление в магистрали в норме, насос №2 работает, насос №1 в резерве. Нажимает кнопку - включается промывка фильтра. Всё кажется простым и понятным.
Но между тем, что оператор видит на экране, и тем, что физически происходит на насосной, стоит одно устройство, которое делает всю эту картину возможной. Программируемый логический контроллер. Он опрашивает датчики каждые несколько миллисекунд, считает давление, сравнивает с уставкой, управляет частотником, следит за защитами, передаёт всё это наверх в SCADA, принимает команды от оператора и выполняет их. Одновременно. Непрерывно. При любой погоде и любом напряжении сети.
Именно ПЛК - тот самый средний уровень в иерархии АСУ ТП, без которого верхний уровень с красивыми мнемосхемами превращается в витрину без товара, а полевые приборы - просто в набор дорогих железок.

От стены реле до ARM-процессора: пятьдесят лет за одну страницу

Первый ПЛК появился в 1969 году. General Motors заказал его потому, что устал каждый год вручную перекоммутировать тысячи реле при смене модельного ряда автомобилей. Реле занимали целые стены, горели, постоянно требовали обслуживания. Изменить алгоритм управления - значит взять в руки отвёртку и провести несколько дней за щитком.
Modicon 084 решил это просто: логику записываем в память, меняем через терминал. Никакой пайки, никакого перемонтажа. Принцип оказался настолько удачным, что за следующие двадцать лет ПЛК вытеснили релейные шкафы управления практически везде.
С тех пор устройство изменилось до неузнаваемости. Современный контроллер - это ARM-процессор с операционной системой реального времени, несколько гигабайт энергонезависимой памяти, поддержка тысяч точек ввода-вывода, встроенный OPC UA-сервер, MQTT-клиент, горячее резервирование. Размер - от небольшой коробки на DIN-рейке до распределённой системы с модулями в нескольких шкафах по всему цеху.
Но задача не изменилась ни на йоту. Принять сигнал - посчитать - выдать управляющее воздействие. Всё остальное - надстройка.

Три уровня АСУ ТП и где в них живёт ПЛК

Любая промышленная система автоматизации строится по одному принципу: иерархия. Три уровня, и у каждого своя роль.
Нижний - полевой. Датчики давления, температуры, уровня, расхода. Исполнительные механизмы - клапаны, приводы, насосы. Это физический слой, который непосредственно взаимодействует с технологическим процессом. Датчики выдают сигналы: аналог 4-20 мА или 0-10 В, дискрет 24 В или сухой контакт, в более сложных системах - протоколы HART, Profibus PA, Foundation Fieldbus.
Средний - управляющий. Это уровень ПЛК. Контроллер берёт сигналы снизу, прогоняет их через алгоритм, выдаёт команды на исполнительные механизмы. Здесь живут ПИД-регуляторы, логика межблокировок, аварийные защиты, последовательности пуска и останова. Это самый критичный уровень - если ПЛК остановился, управление процессом потеряно.
Верхний - диспетчерский. SCADA, операторские станции, серверы архивирования, HMI-панели. Оператор видит состояние процесса, задаёт уставки, запускает процедуры. Но управляет-то не SCADA - она только показывает то, что передаёт ПЛК, и транслирует команды оператора обратно вниз. SCADA без ПЛК - просто красивая картинка без обратной связи с реальностью.
Выше - MES и ERP. Им не нужна информация с частотой 10 раз в секунду. Им нужны агрегированные данные: сколько продукта сделали, сколько ресурсов потратили, когда последний раз останавливали линию. Эти данные тоже собирает ПЛК и передаёт через SCADA наверх.

Цикл сканирования: почему ПЛК не обычный компьютер

Вот вопрос, который на собеседовании сразу показывает уровень кандидата: чем ПЛК отличается от промышленного PC с теми же характеристиками? Производительность похожая, архитектура похожая, операционная система есть и там и там. В чём разница?
В методе работы. ПЛК работает циклически. Каждый цикл - строго определённая последовательность: читаем все входы, выполняем программу, записываем все выходы, делаем вспомогательные операции. И снова. Без остановок.
Важная деталь: пока программа выполняется, значения входов заморожены. ПЛК работает не с живыми сигналами, а со снимком, который был сделан в начале цикла. Это гарантирует, что одинаковое состояние входов всегда даст одинаковый результат - независимо от того, что произошло с сигналами за время выполнения программы. Это и есть детерминированность, на которой держится вся промышленная автоматизация.
Типовое время цикла современного контроллера - единицы миллисекунд. Но не все задачи одинаково срочные. В CODESYS и аналогичных средах это решается через многозадачность с приоритетами. Задача обработки аварийного останова крутится каждую миллисекунду как высокоприоритетное прерывание. Основная технологическая логика - каждые 10 мс. Передача данных в SCADA через OPC UA - раз в секунду, оператору хватит.
Разница между жёстким и мягким реальным временем тут принципиальная. Если система противоаварийной защиты не успела закрыть клапан за отведённые 300 мс - последствия могут быть необратимыми. Это жёсткое реальное время: пропустил дедлайн - получил аварию. В системах мягкого реального времени пропуск срабатывания ухудшает качество управления, но не приводит к катастрофе. ПЛК в большинстве промышленных применений работает именно в жёстком режиме.

Что умеет современный ПЛК: это уже не просто логика

Название "программируемый логический контроллер" устарело лет двадцать назад. Логика - это только часть того, что он делает.
Аналоговый ввод-вывод с разрешением 16 бит позволяет строить точные ПИД-регуляторы прямо в контроллере - никаких отдельных регуляторов давления или температуры на DIN-рейке. Математические операции - тригонометрия, логарифмы, матрицы - стандартная библиотека любой IEC 61131-3 среды. Строковые функции позволяют парсить данные из буферов последовательного порта, формировать сообщения для SMS-шлюза, работать с JSON.
По коммуникациям современный средний ПЛК - это минимум Ethernet, RS-485, нередко RS-232, USB и CAN. Протоколы: Modbus RTU/TCP как база, дальше - Profibus DP, Profinet, EtherNet/IP, DeviceNet в зависимости от отрасли. И сверху - OPC UA Server, MQTT-клиент, а в некоторых платформах уже есть REST API и встроенный веб-сервер для мониторинга без SCADA.
Отдельная история - ПЛК с сертификацией по IEC 61508 для систем безопасности. Это не просто маркетинговый значок. Другая аппаратная архитектура - двойное дублирование процессора, специализированные I/O-модули с гальванической изоляцией и диагностикой каждого канала, защита от одиночных отказов. Такие контроллеры используют в системах противоаварийной защиты на нефтехимических объектах, где отказ системы безопасности - это не простой производства, а потенциальная авария.

ПЛК против DCS: когда что выбирать

Вопрос "ПЛК или DCS?" - один из самых частых при проектировании. И один из самых запутанных, потому что за последние пятнадцать лет граница между ними стала очень размытой.
Исторически всё было чётко. Дискретные производства - сборочные линии, упаковка, механообработка - это ПЛК. Непрерывные процессы - нефтепереработка, крупная химия, производство удобрений - это DCS. Разные задачи, разные архитектуры.
Принципиальная разница, которая сохраняется до сих пор - не в возможностях, а в философии. DCS - это закрытая система от одного вендора. Yokogawa Centum VP, Honeywell Experion, Emerson DeltaV - каждый со своим железом, своим ПО, своими протоколами, своей IDE. Купил - и ты в этой экосистеме навсегда. Зато интеграция между компонентами - из коробки, потому что всё от одного производителя.
АСУ ТП на базе ПЛК + SCADA - открытая система. Контроллер от одного производителя, SCADA от другого, операторские станции на стандартном железе. Стыковка через стандартные протоколы. Больше работы при проектировании, зато нет привязки к вендору.
На практике выбор обычно определяется масштабом. До 100 точек ввода-вывода - микро- или малый ПЛК. От 100 до 1000 точек - средний ПЛК или PAC. Больше 1000 точек на одном объекте с непрерывным процессом - тут уже смотрят в сторону крупных PAC-систем или DCS. Хотя и это не жёсткое правило.
PAC - Programmable Automation Controller - это промежуточный класс, который вырос из ПЛК. Та же среда разработки по IEC 61131-3, но расширенные возможности: многопроцессорная архитектура, поддержка C/C++ для сложных вычислений, встроенные функции анализа данных, развитые коммуникации. По сути, PAC - это ПЛК для задач, которые обычному ПЛК уже тесно.

Где конкретно стоят ПЛК: пять реальных сценариев

Перечислять все отрасли применения ПЛК - занятие почти бессмысленное. Проще сказать: везде, где есть промышленный процесс, требующий автоматического управления. Но несколько характерных сценариев стоит разобрать - они показывают разнообразие требований.
В нефтехимии контроллер управляет насосными агрегатами, регулирующими клапанами, работает в составе систем ПАЗ. Здесь критично время реакции - не более 100-300 мс для функций безопасности. Обязательна гальваническая изоляция входных цепей, нередко - взрывозащищённое исполнение или барьеры искробезопасности. Требования к SIL - уровень 2 для большинства функций.
В водоснабжении и водоотведении - территориально распределённые объекты, управление насосными станциями и задвижками, мониторинг качества воды. Связь с диспетчерской нередко через GSM или радиоканал с потерями. Поэтому контроллер должен уметь работать автономно при пропадании связи - сохранять алгоритм управления и поддерживать процесс без команд с верхнего уровня.
В энергетике - управление котельными установками, дымососами, дутьевыми вентиляторами. Частотные преобразователи под управлением ПЛК дают существенную экономию электроэнергии, и это уже давно стандартная практика, а не передовой опыт.
В машиностроении - управление конвейерами, роботизированными ячейками, системами контроля качества. Тут важна скорость. Синхронизация движения нескольких осей требует времени цикла 1 мс и меньше. Обычный ПЛК с циклом 10 мс для таких задач не подходит - нужны специализированные контроллеры движения.
В ЖКХ и инженерных системах - котельные, вентиляция, тепловые пункты, насосные станции жилых кварталов. Масштаб скромнее, чем на нефтехимическом заводе, но требования к надёжности и диапазону рабочих температур - те же самые.

ПЛК в эпоху IIoT: контроллер как узел сети, а не конечная точка

Промышленный интернет вещей изменил место ПЛК в информационной архитектуре предприятия - хотя сам ПЛК никуда не делся и ни на что не заменился. Просто поменялась его роль.
Раньше схема была линейной: датчик → ПЛК → SCADA. ПЛК отдавал данные наверх и всё. SCADA архивировала, показывала оператору, иногда передавала что-то дальше в MES. Горизонтальной интеграции между контроллерами почти не было.
Сейчас ПЛК - узел в распределённой сети. Он получает данные от полевых устройств снизу, передаёт в SCADA наверх, обменивается с соседними контроллерами горизонтально по Profinet или EtherNet/IP, публикует данные в MQTT-брокер для аналитической платформы, отвечает на запросы OPC UA-клиентов от MES-системы. Всё одновременно.
Edge-вычисления - ещё одна новая задача. Гнать сырые данные со всех тысяч точек в облако дорого, медленно и бессмысленно. Контроллер или специализированный edge-шлюз делает первичную обработку локально: агрегирует данные по времени, отбрасывает выбросы, считает производные показатели, детектирует аномалии по простым правилам. Наверх летят только значимые события и агрегированные метрики. Реакция на критические ситуации при этом не зависит от доступности облака - всё происходит на месте.
По прогнозам, к 2032 году мировой рынок промышленного интернета вещей достигнет $1,56 трлн при росте около 17% в год. В России объём рынка IIoT на конец 2023 года составил около 145 млрд рублей с прогнозом роста до 190 млрд к 2026 году. За этими цифрами - реальные инвестиции в датчики, контроллеры, коммуникационную инфраструктуру.

Открытые стандарты: почему это важнее, чем кажется

После 2022 года многие предприятия столкнулись с задачей, которую никто не планировал решать в такие сроки: заменить Siemens S7 с WinCC и TIA Portal на что-то другое. Проблема не в том, что российских контроллеров нет. Проблема в том, что проекты писались под конкретную IDE, с конкретными библиотеками и форматами данных. Пересадить их на другую платформу - это не просто поменять железо, это переработка части проекта.
Открытая архитектура избавляет от этой проблемы. Если проект написан в CODESYS на Structured Text по IEC 61131-3, а данные передаются через OPC UA и Modbus TCP - его можно перенести на другой контроллер с той же средой исполнения с минимальными правками. Привязка к производителю железа исчезает.
Именно поэтому поддержка CODESYS 3.5, OPC UA-сервера и стандартных полевых протоколов стала обязательным требованием к современному промышленному контроллеру - не желательным, а обязательным. На это смотрят при выборе платформы не меньше, чем на характеристики процессора или количество каналов ввода-вывода.
Российские производители это понимают. Линейка ПЛК СТАБУР работает на ARM Cortex-A с Linux RT и поддерживает на выбор две среды исполнения - CODESYS 3.5.16 и MasterSCADA 4D. Стек протоколов - Modbus RTU/TCP, OPC UA, MQTT - без дополнительных шлюзов-конверторов. Инженер сам решает, в какой среде ему удобнее работать, и не зависит ни от какого вендора при следующей замене оборудования.

Сравнение классов промышленных контроллеров

Параметр
Микро-ПЛК
Средний ПЛК
Старший ПЛК / PAC
DCS
Точки ввода-вывода
до 64 I/O
64-512 I/O
512-10 000+ I/O
1 000-100 000+ I/O
Типичные применения
ЖКХ, малые объекты, OEM
Машиностроение, насосные, котельные
Нефтехимия, энергетика
Нефтепереработка, крупная химия
Среда разработки
CODESYS, проприетарная
CODESYS / IEC 61131-3
CODESYS / IEC 61131-3
Проприетарная IDE вендора
Коммуникации
Modbus, Ethernet
Modbus, Profibus, OPC UA, MQTT
Profinet, EtherNet/IP, OPC UA, MQTT
Внутренняя шина + OPC UA
Резервирование
Нет
Опционально
Горячее резервирование
Встроенное
SIL-сертификация
Редко
SIL 1
SIL 2-3
SIL 2-3
Привязка к вендору
Средняя
Низкая (CODESYS)
Низкая (открытые стандарты)
Высокая

Коротко о главном

Что такое ПЛК и чем он принципиально отличается от обычного компьютера? ПЛК - промышленный микропроцессорный контроллер для работы в реальном времени в условиях производственной среды. В отличие от PC, он работает циклически с гарантированным временем реакции, имеет гальванически изолированные входы-выходы для подключения полевых приборов, рассчитан на работу при температурах от -40 до +70°C, при вибрации и электромагнитных помехах - и не зависит от операционной системы общего назначения.
Где в трёхуровневой архитектуре АСУ ТП стоит ПЛК? На среднем - управляющем - уровне. Снизу он принимает сигналы от датчиков, сверху передаёт данные в SCADA и получает уставки от оператора. ПЛК выполняет саму прикладную программу: ПИД-регулирование, логику межблокировок, аварийные защиты, пусковые и остановочные последовательности.
Чем ПЛК отличается от DCS? DCS - закрытая система от одного вендора, оптимизированная для управления непрерывными процессами с тысячами точек ввода-вывода. ПЛК в паре со SCADA - открытая система с оборудованием от разных производителей, связанная стандартными протоколами. Современные ПЛК умеют всё то же, что и DCS, но без жёсткой привязки к одному поставщику.
Как ПЛК вписывается в IIoT-архитектуру? Через открытые стандартные протоколы: OPC UA для передачи данных вверх в SCADA, MES и аналитические платформы, MQTT для публикации в IoT-брокеры и облачные сервисы, Modbus TCP или Profinet для работы с полевыми устройствами. Современные контроллеры умеют вести первичную обработку данных локально и передавать наверх уже агрегированные показатели, а не сырой поток с каждого датчика.