Зачем
Аппаратная конфигурация ПЛК: как модули адресуются (слот, канал, %I/%Q) и что такое резервирование. Связывает клемму, сигнал и адрес в программе воедино.
Ментальная модель: ПЛК как модульный конструктор
ПЛК редко бывает «монолитом». Обычно это базовый блок (процессор + блок питания) и набор модулей в слотах: модуль дискретного ввода, дискретного вывода, аналогового ввода, аналогового вывода. Ты собираешь ПЛК под задачу, как конструктор: столько каналов каждого типа, сколько насчитал в перечне сигналов.
Адресация модулей
Каждый физический канал имеет адрес, по которому к нему обращается программа. Нотация зависит от вендора, но идея общая:
| Обозначение | Что это |
|---|---|
%I0.0 |
дискретный вход (Input), бит |
%Q0.0 |
дискретный выход (Output), бит |
%IW |
аналоговый вход, слово (16 бит) |
%QW |
аналоговый выход, слово |
Разобранный пример
Кнопка ПУСК подключена к каналу 0 модуля дискретного ввода в слоте 1 → её адрес %I0.0. Датчик уровня 4–20 мА заведён на канал 2 модуля аналогового ввода → адрес, например, %IW34. В программе ты привязываешь к этим адресам переменные: start_btn AT %I0.0, level_raw AT %IW34. Вот полная цепочка пути сигнала «в железе»: клемма → канал модуля → адрес → переменная → тег SCADA. Адресация — это и есть тот «клей», что соединяет провод в шкафу с числом в программе.
Аппаратная конфигурация в среде
В среде разработки (TIA Portal, CODESYS) ты сначала объявляешь состав железа: какой процессор, какие модули и в каких слотах стоят. Это и есть аппаратная конфигурация.
Важно
Конфигурация в проекте обязана точно совпадать с реальным шкафом — тип модуля и его слот. Поставил физически модуль AI туда, где в проекте записан DI, — ПЛК уйдёт в ошибку конфигурации или будет читать мусор вместо сигнала. При пусконаладке сверка «проект ↔ реальные модули в корзине» — обязательный шаг.
Резервирование ПЛК
На непрерывных и опасных производствах отказ ПЛК = остановка процесса или авария. Чтобы этого не случилось, систему резервируют — дублируют так, чтобы при отказе одного элемента работу мгновенно подхватил второй.
Что обычно резервируют:
| Элемент | Как |
|---|---|
| Процессор (CPU) | два CPU, горячий резерв (hot standby) — один активен, второй синхронно дублирует |
| Питание | два независимых блока питания |
| Сеть | кольцевая топология или два канала связи |
| Каналы ввода-вывода | дублирование критичных сигналов |
Когда нужно: нефтехимия, энергетика, металлургия, непрерывные процессы — там, где остановка очень дорога или опасна. На простой насосной или в вентиляции резервирование обычно избыточно — это инженерное и экономическое решение.
Важно
Не путай резервирование с противоаварийной защитой (ПАЗ). Резервирование повышает доступность — «чтобы процесс не остановился при отказе железа». ПАЗ обеспечивает безопасность — «чтобы при опасном отклонении процесс безопасно остановился». Это разные задачи: можно иметь резервированный ПЛК без ПАЗ и наоборот (подробнее — в разделе про функциональную безопасность).
Проверь себя
- Кнопка на канале 0 модуля дискретного ввода в слоте 1 — какой у неё адрес в нотации
%I? - Что произойдёт, если аппаратная конфигурация в проекте не совпадёт с реальными модулями в корзине?
- Чем по задаче резервирование ПЛК отличается от ПАЗ?
Документы и ресурсы
Обязательные
- Книга ОВЕН. Конфигурирование области ввода/вывода ПЛК100/ПЛК150/ПЛК154 (руководство пользователя CODESYS) живой пример объявления модулей и адресов ввода-вывода в CODESYS на контроллерах ОВЕН
Рекомендуемые
Практическое задание
Для своей насосной станции (используй перечень сигналов из урока «Что такое ПЛК») собери аппаратную конфигурацию:
- посчитай, сколько каналов каждого типа нужно — DI, DO, AI, AO;
- подбери модули (например, модуль на 8 DI, на 4 DO и т. д.) и разнеси их по слотам корзины;
- назначь каждому сигналу из перечня адрес (
%I0.0,%IW…и т. п.) и сведи в таблицу «сигнал → модуль/слот → адрес → переменная».
Затем рассуди: нужно ли резервирование для этой насосной? Обоснуй (скорее нет — почему?), и приведи пример объекта, где горячий резерв был бы обязателен.
Критерий самопроверки: по твоей таблице адресов монтажник смог бы подключить провода, а программист — привязать переменные, не задавая вопросов.
Отмечайте прогресс — заведите бесплатный аккаунт. Уже есть? Войти.