АСУ ТП: датчики, контроллеры, SCADA
Структура АСУ ТП по уровням, типы датчиков и исполнительных механизмов, токовая петля 4-20 мА, программирование ПЛК на языках МЭК 61131-3, промышленные сети и SCADA.
АСУ ТП — это иерархия: датчики измеряют, контроллер решает, исполнительные механизмы действуют, SCADA показывает человеку. Курсовая обычно требует спроектировать такую систему для конкретного технологического процесса.
Уровни автоматизации
| Уровень | Название | Оборудование | Задача |
|---|---|---|---|
| 0 | Полевой | Датчики, клапаны, приводы | Измерение и воздействие |
| 1 | Контроллерный | ПЛК, модули ввода-вывода | Автоматическое регулирование, блокировки |
| 2 | Диспетчерский | SCADA, АРМ оператора | Визуализация, архив, управление |
| 3 | Производственный | MES | Планирование производства |
| 4 | Управленческий | ERP | Экономика предприятия |
В курсовой обычно проектируют уровни 0-2. Важное свойство иерархии: нижние уровни должны работать автономно. При отказе SCADA контроллер продолжает поддерживать процесс — это требование безопасности, которое стоит явно отметить в пояснительной записке.
Датчики
| Величина | Тип датчика | Выходной сигнал |
|---|---|---|
| Температура | Термопара (ТХА, ТХК) | мВ, нелинейная характеристика |
| Температура | Термосопротивление Pt100, Pt1000 | Ом, почти линейно |
| Давление | Тензорезистивный, ёмкостный | 4-20 мА, 0-10 В |
| Расход | Электромагнитный, вихревой, ультразвуковой | 4-20 мА, импульсы |
| Уровень | Поплавковый, ультразвуковой, радарный | 4-20 мА, дискретный |
| Положение | Энкодер, потенциометр, концевик | Импульсы, дискретный |
| Наличие объекта | Индуктивный, ёмкостный, оптический | Дискретный NPN/PNP |
Токовая петля 4-20 мА — стандарт аналоговой передачи: I = 4 + 16·(X − X_min)/(X_max − X_min) [мА] Пересчёт обратно: X = X_min + (I − 4)·(X_max − X_min)/16 Пример: датчик давления 0-10 бар показывает 12 мА p = 0 + (12 − 4)·10/16 = 5 бар Преобразование в код АЦП (12 разрядов, 4-20 мА → 0-4095): X = X_min + (код − код_4мА)·(X_max − X_min)/(код_20мА − код_4мА)
Программируемые логические контроллеры
- Работают циклически: чтение входов → выполнение программы → запись выходов. Время цикла 1-100 мс.
- Модули ввода-вывода: дискретные (DI/DO), аналоговые (AI/AO), специальные (счётчики, термопарные).
- Гальваническая развязка входов защищает контроллер от наводок и импульсов в силовых цепях.
- Резервирование применяют для ответственных процессов: два контроллера с автоматическим переключением.
- Сторожевой таймер перезапускает контроллер при зависании программы.
Языки МЭК 61131-3
| Язык | Тип | Для чего удобен |
|---|---|---|
| LD (Ladder) | Графический | Релейная логика, блокировки — понятен электрикам |
| FBD | Графический | Регуляторы, обработка сигналов |
| SFC | Графический | Пошаговые технологические циклы |
| ST (Structured Text) | Текстовый | Расчёты, сложные алгоритмы |
| IL | Текстовый | Устаревший, ассемблероподобный |
(* Structured Text: регулирование температуры с гистерезисом *)
PROGRAM TempControl
VAR
rTemp : REAL; (* текущая температура, °C *)
rSetpoint : REAL := 75.0; (* задание *)
rHyst : REAL := 2.0; (* гистерезис *)
xHeater : BOOL; (* выход на нагреватель *)
xAlarm : BOOL; (* авария *)
tonDelay : TON; (* таймер задержки аварии *)
END_VAR
(* Масштабирование сигнала 4-20 мА, диапазон 0-150 °C *)
rTemp := 0.0 + (rCurrent - 4.0) * 150.0 / 16.0;
(* Двухпозиционное регулирование *)
IF rTemp < rSetpoint - rHyst THEN
xHeater := TRUE;
ELSIF rTemp > rSetpoint + rHyst THEN
xHeater := FALSE;
END_IF;
(* Авария при перегреве с задержкой 5 с — защита от помех *)
tonDelay(IN := rTemp > 95.0, PT := T#5S);
IF tonDelay.Q THEN
xAlarm := TRUE;
xHeater := FALSE; (* безусловное отключение нагрева *)
END_IF;
(* Обрыв датчика: ток ниже 3,6 мА *)
IF rCurrent < 3.6 THEN
xAlarm := TRUE;
xHeater := FALSE;
END_IF;
END_PROGRAM
Промышленные сети
| Протокол | Среда | Особенности |
|---|---|---|
| Modbus RTU | RS-485 | Простой, распространённый, до 32 устройств, до 1200 м |
| Modbus TCP | Ethernet | Тот же протокол поверх TCP/IP |
| Profibus DP | RS-485 | Скоростной, для распределённой периферии |
| Profinet | Ethernet | Реальное время, промышленный стандарт Siemens |
| HART | Токовая петля | Цифровые данные поверх 4-20 мА, настройка датчика |
| OPC UA | Ethernet | Обмен между уровнями, платформонезависимый |
Modbus остаётся самым частым выбором для курсовой: открытый, простой, поддерживается почти всем оборудованием. Достаточно описать карту регистров — какой адрес какому параметру соответствует.
SCADA
- Мнемосхема технологического процесса с отображением текущих значений и состояний.
- Тренды — графики параметров в реальном времени и из архива.
- Журнал аварий и событий с квитированием оператором.
- Архивирование в базу данных для последующего анализа и отчётности.
- Разграничение прав: оператор, технолог, наладчик, администратор.
- Отчёты за смену, сутки, месяц.
Состав курсового проекта по АСУ ТП
- Описание технологического процесса и обоснование необходимости автоматизации.
- Функциональная схема автоматизации по ГОСТ 21.408 — основной чертёж проекта.
- Перечень входных и выходных сигналов с указанием типа и диапазона.
- Выбор датчиков и исполнительных механизмов с обоснованием по точности и условиям.
- Выбор контроллера: расчёт требуемого числа каналов с запасом 15-20 %.
- Схема электрическая принципиальная щита автоматизации.
- Алгоритмы управления: блок-схемы, диаграммы состояний, листинги программы ПЛК.
- Расчёт настроек регулятора, если есть контур регулирования.
- Экраны SCADA и описание работы оператора.
- Спецификация оборудования с ценами.
Расчёт числа каналов ввода-вывода: N_модулей = ⌈N_сигналов · 1,2 / N_каналов_в_модуле⌉ Коэффициент 1,2 — резерв на развитие системы Пример: 34 дискретных входа, модуль на 16 каналов N = ⌈34·1,2/16⌉ = ⌈2,55⌉ = 3 модуля
Частые вопросы
Чем ПЛК отличается от обычного компьютера?
Циклическим детерминированным выполнением программы, промышленным исполнением (вибрация, температура, помехи), гальванически развязанными входами и наличием сторожевого таймера. Надёжность здесь важнее вычислительной мощности.
Почему для передачи применяют ток, а не напряжение?
Ток одинаков по всей длине петли, поэтому падение напряжения на проводах не искажает сигнал. Линию 4-20 мА можно тянуть на сотни метров без потери точности, чего не позволяет сигнал 0-10 В.
Нужно ли писать программу ПЛК полностью?
Для курсовой достаточно ключевых алгоритмов: регулирования, блокировок, обработки аварий. Полный листинг выносят в приложение. Важнее показать логику и обработку нештатных ситуаций, чем объём кода.