Программируемые логические контроллеры (ПЛК) — это основной вычислительный узел систем автоматизированного электропривода. Они не просто запускают и останавливают двигатель, а обрабатывают данные с датчиков, формируют управляющие сигналы и обмениваются информацией с другими компонентами АСУ ТП. Эффективность системы зависит от правильного выбора архитектуры контроллера, метода управления двигателем и протокола связи.
Коротко главное
- Архитектуру ПЛК, компактную, модульную или PAC, выбирают по требованиям к времени цикла сканирования и количеству управляемых осей.
- Скалярное, векторное и DTC-управление различаются вычислительной нагрузкой на контроллер и точностью регулирования момента.
- Интеграция ПЛК с частотными преобразователями через PROFINET или EtherCAT даёт детерминированную синхронизацию с задержкой менее 1 мс.
- Векторное управление требует реализации преобразований Кларка и Парка в ST (Structured Text).
- Диагностика привода через ПЛК включает обработку кодов ошибок (OC, OV, OH) и управление безопасными функциями (STO).
Архитектура ПЛК для управления приводами
Тип контроллера выбирают по требованиям к быстродействию, количеству управляемых осей и сложности алгоритмов. В промышленности применяются три основные архитектуры:
| Параметр | Компактные ПЛК | Модульные ПЛК | Программируемые автоматические контроллеры (PAC) |
|---|---|---|---|
| Область применения | Локальное управление станками, насосами | Линии, конвейеры | Многоосевые системы, робототехника |
| Время цикла сканирования (минимальная нагрузка) | 10–20 мс | 2–10 мс | 1–5 мс (и менее) |
| Поддержка Motion Control | Базовая (до 2 осей) | Расширенная (до 8–16 осей) | Полная (десятки осей, синхронизация) |
| Языки программирования | LD, FBD, ST | LD, FBD, ST, SFC | ST, C/C++, IEC 61131-3 |
Время цикла сканирования (Scan Time) — ключевой параметр. Для скалярного управления асинхронным двигателем достаточно 10–20 мс. Векторное управление и сервоприводы требуют 1–5 мс, чтобы контуры регулирования тока и скорости работали стабильно. Примечание: при проектировании систем с высокоскоростными приводами учитывайте задержки на чтение и запись модулей ввода-вывода и коммуникационных портов, а не только время выполнения пользовательской программы.
Типы электродвигателей и методы управления
Основной тип двигателя в промышленности — асинхронный двигатель с короткозамкнутым ротором. Управляют им через частотный преобразователь (ЧП), которому командует ПЛК. Применяют три основных метода.
Скалярное управление (U/f)
Метод поддерживает постоянное соотношение напряжения к частоте ($U/f = const$), что удерживает магнитный поток двигателя примерно на одном уровне. Он прост и не требует датчика скорости, но на низких частотах точность регулирования момента падает.
Где $U$ — напряжение статора, $f$ — частота, $R_s$ — активное сопротивление статора, $I_s$ — ток статора. Компенсация падения напряжения на сопротивлении статора ($R_s \cdot I_s$) нужна, чтобы сохранить момент на низких скоростях.
Векторное управление (FOC)
Позволяет раздельно управлять магнитным потоком и электромагнитным моментом. Требует энкодера для определения положения ротора. Даёт высокую точность (до ±0.01%) и полный момент при нулевой скорости. Существует также бездатчиковое векторное управление (Sensorless Vector Control), которое оценивает скорость по математической модели двигателя.
Где $T_e$ — электромагнитный момент, $p$ — число пар полюсов, $\psi$ — потокосцепления, $i$ — токи по осям $d$ и $q$.
Скалярное управление
Точность скорости: ±2–5%
Быстродействие: 50–100 мс
Применение: Вентиляторы, насосы, простые конвейеры.
Векторное управление
Точность скорости: ±0.1–0.5%
Быстродействие: 5–20 мс
Применение: Точные позиционеры, экструдеры, краны.
Прямое управление моментом (DTC)
В этом методе исключены ШИМ-модулятор и контур регулирования тока; инвертор коммутируется напрямую, ориентируясь на ошибку момента и потока. Отклик занимает менее 2 мс, но требуется мощный процессор ПЛК или специализированный контроллер привода.
Интеграция ПЛК и частотных преобразователей
ПЛК и ЧП связывают аналоговыми сигналами (0–10 В, 4–20 мА) или цифровыми промышленными сетями. В новых системах приоритет отдается цифровой связи: она передаёт не только задание частоты, но и параметры настройки, статус, коды ошибок и диагностические данные.
Промышленные протоколы связи
- Modbus RTU/TCP: Modbus RTU (по RS-485) прост, но скорость ограничена, задержки составляют 10–50 мс. Modbus TCP даёт большую пропускную способность, но не гарантирует жёсткого времени отклика.
- PROFINET: Протокол на базе Ethernet с классами производительности (Class A, B, C). Для управления приводами берут Class B (цикличный обмен с периодом до 1 мс) или Class C (с синхронизацией тактового сигнала).
- EtherCAT: Промышленный Ethernet с циклом обновления до 100 мкс. Подходит для многоосевых систем синхронного движения.
Программирование логики управления
Программирование ПЛК для управления приводами строится по стандарту ГОСТ Р МЭК 61131-3. Для сложных математических вычислений (векторное управление, ПИД-регуляторы) удобнее язык ST (Structured Text).
Пример: Логика разгона двигателя (ST)
Ниже приведён пример функционального блока, который плавно разгоняет двигатель до заданной частоты, ограничивая ускорение. Для дискретизации процесса используется таймер TON.
FUNCTION_BLOCK "MotorRampControl" VAR_INPUT Start : BOOL; // Сигнал пуска Stop : BOOL; // Сигнал стопа SetFreq : REAL; // Заданная частота (Гц) MaxAccel : REAL; // Максимальное ускорение (Гц/с) END_VAR VAR_OUTPUT ActFreq : REAL; // Текущая частота Running : BOOL; // Статус работы END_VAR VAR CurrentFreq : REAL := 0.0; Timer : TON; // Таймер для расчета шага Step : REAL; END_VAR // Таймер с периодом 10 мс для дискретизации Timer(IN := TRUE, PT := T#10MS); IF Start AND NOT Stop THEN Running := TRUE; IF CurrentFreq < SetFreq THEN // Расчет прироста частоты за шаг таймера Step := MaxAccel * 0.01; IF (CurrentFreq + Step) < SetFreq THEN CurrentFreq := CurrentFreq + Step; ELSE CurrentFreq := SetFreq; END_IF; ELSIF CurrentFreq > SetFreq THEN // Торможение Step := MaxAccel * 0.01; IF (CurrentFreq - Step) > SetFreq THEN CurrentFreq := CurrentFreq - Step; ELSE CurrentFreq := SetFreq; END_IF; END_IF; ELSIF Stop THEN Running := FALSE; CurrentFreq := 0.0; END_IF; ActFreq := CurrentFreq; END_FUNCTION_BLOCKПИД-регулирование скорости
Чтобы удерживать постоянную скорость при меняющейся нагрузке, ПЛК применяет ПИД-регулятор. Векторные ЧП часто имеют встроенный ПИД, но ПЛК может вести и внешний контур, например давление в трубопроводе или натяжение материала.
| Параметр ПИД | Назначение | Влияние на систему |
|---|---|---|
| Kp (Коэффициент пропорциональный) | Реакция на текущую ошибку | Рост Kp ускоряет отклик, но может вызвать колебания (перерегулирование) |
| Ki (Интегральная составляющая) | Устранение статической ошибки | Убирает рассогласование в установившемся режиме, но замедляет реакцию |
| Kd (Дифференциальная составляющая) | Учёт скорости изменения ошибки | Подавляет колебания, но чувствительно к шумам датчиков |
Технические расчёты и параметры
При проектировании считают инерционные моменты и токи. Для векторного управления критически важна корректная настройка наблюдателя скорости, особенно в бездатчиковых схемах.
Момент инерции системы:
Для расчёта времени разгона суммируют момент инерции двигателя ($J_m$) и момент инерции нагрузки ($J_L$), приведённый к валу двигателя:
Где $n_L$ и $n_m$ — скорости нагрузки и двигателя. Полное время разгона $t_{acc}$:
Расчёт времени торможения (рекуперация):
При рекуперативном торможении энергия возвращается в сеть или рассеивается на тормозном резисторе. Время торможения зависит от ёмкости конденсатора шины постоянного тока ($C_{bus}$) и напряжения:
Где $P_{brake}$ — мощность торможения, $U_{max}$ — максимальное допустимое напряжение шины.
Диагностика и отказоустойчивость
ПЛК постоянно мониторит состояние привода. Типичные ошибки (OC, Overcurrent; OV, Overvoltage; OH, Overheat) обрабатываются логикой контроллера. Ниже приведён пример обработки ошибок на ST:
CASE DriveError OF 0: // No Error AlarmActive := FALSE; 1: // Overcurrent AlarmActive := TRUE; EmergencyStop := TRUE; 2: // Overvoltage AlarmActive := TRUE; DecelerationTime := T#5s; // Ускоренное торможение ELSE AlarmActive := TRUE; GeneralFault := TRUE; END_CASEТакже применяются безопасные функции ПЛК, например Safe Torque Off (STO), которые аппаратно снимают управляющие сигналы с инвертора и предотвращают случайный пуск двигателя.
FAQ
Какое время цикла ПЛК необходимо для сервопривода?
Для сервоприводов время цикла сканирования ПЛК должно составлять 1–5 мс. Это обеспечивает стабильность контуров регулирования тока и скорости.
Чем векторное управление отличается от DTC?
Векторное управление (FOC) использует ШИМ и контур регулирования тока, обеспечивая плавность. DTC (прямое управление моментом) коммутирует инвертор напрямую, обеспечивая более быстрое изменение момента, но с более высоким уровнем шумов тока.
Можно ли управлять асинхронным двигателем без энкодера?
Современные ЧП поддерживают бездатчиковое векторное управление (Sensorless Vector Control), используя математическую модель двигателя. Точность ниже, чем с энкодером, но для многих применений достаточно.
