Ladder Diagram
Ladder Diagram (с англ. — «релейно-контактная схема»), также известная как LD или РКС, — это графический язык программирования промышленных логических контроллеров (PLC), стандартизированный в рамках МЭК 61131-3. Визуально напоминает электрические схемы релейной автоматики, где логические операции представлены в виде цепей между двумя вертикальными шинами питания («лестница»). Является одним из пяти языков стандарта МЭК 61131-3 и наиболее распространённым в промышленной автоматизации благодаря наглядности для специалистов по электротехнике.
История
Происхождение
Ladder Diagram возник в конце 1960-х годов как замена громоздким релейным шкафам. Первые программируемые логические контроллеры (Modicon 084, 1968 год) использовали именно этот язык, поскольку он позволял инженерам-электрикам, не знакомым с программированием, быстро осваивать новое оборудование. Схема переносила логику релейных схем в цифровую среду: вместо физических контактов и катушек использовались виртуальные элементы.
Стандартизация
До 1993 года каждый производитель PLC (Allen-Bradley, Siemens, Mitsubishi) имел собственные диалекты LD, что затрудняло перенос программ. В 1993 году Международная электротехническая комиссия (МЭК) выпустила стандарт IEC 61131-3, унифицировавший синтаксис и семантику LD. Последняя редакция (2013 год) закрепила поддержку структур данных, пользовательских функций и объектно-ориентированных расширений.
Основные элементы
Контакты (Contacts)
- Нормально разомкнутый (Normally Open, NO) — пропускает ток, если соответствующая переменная равна TRUE (1). Обозначается как
| |или--| |--. - Нормально замкнутый (Normally Closed, NC) — пропускает ток, если переменная равна FALSE (0). Обозначается как
|/|или--|/|--. - Переключающий контакт (Transitional) — срабатывает только при изменении состояния (например, по фронту сигнала).
Катушки (Coils)
- Катушка выхода (Output Coil) — устанавливает переменную в TRUE, когда цепь замкнута. Обозначается как
( )или--( )--. - Катушка с памятью (Set/Reset) —
(S)для установки и(R)для сброса. Сохраняет состояние даже после размыкания цепи. - Инвертированная катушка — устанавливает FALSE при замкнутой цепи.
Соединения
- Вертикальные шины — левая (фаза) и правая (нейтраль) задают направление «тока».
- Горизонтальные линии — логические цепи (Rungs). Каждая цепь завершается катушкой или функциональным блоком.
- Перемычки — параллельные соединения для реализации логических операций ИЛИ.
Принцип работы
Цикл сканирования
Контроллер последовательно обрабатывает каждую цепь сверху вниз. За один цикл:
- Считываются входные сигналы (датчики, кнопки).
- Вычисляются логические выражения на основе текущих значений.
- Обновляются выходы (катушки, исполнительные механизмы).
В отличие от релейных схем, где ток течёт непрерывно, в LD «ток» — это логическая единица, распространяющаяся по цепям за один проход. Это исключает гонки сигналов и дребезг контактов.
Логические операции
- И (AND) — последовательное соединение контактов.
- ИЛИ (OR) — параллельное соединение контактов.
- НЕ (NOT) — использование нормально замкнутого контакта.
- Память (Set/Reset) — две катушки, управляющие одной переменной.
Преимущества и недостатки
Преимущества
- Наглядность — схема легко читается электриками и технологами без навыков программирования.
- Простота отладки — визуализация цепей позволяет быстро находить ошибки.
- Стандартизация — переносимость между PLC разных производителей (Siemens, Rockwell, Schneider Electric).
- Безопасность — отсутствие плавающих контактов и дребезга, характерных для реле.
Недостатки
- Ограниченность — сложные алгоритмы (математические вычисления, обработка массивов) на LD громоздки. Для них предпочтительнее языки ST (Structured Text) или FBD (Function Block Diagram).
- Размер кода — каждая логическая операция требует отдельной цепи, что увеличивает объём программы.
- Сложность с таймерами и счётчиками — требуют дополнительных блоков, неочевидных для новичков.
Применение
Промышленная автоматизация
LD доминирует в:
- Управлении конвейерами — последовательность включения/выключения двигателей.
- Системах безопасности — аварийные остановки (E-stop) с приоритетом размыкания.
- Управлении насосами и вентиляцией — логика включения по датчикам уровня/температуры.
- Станках с ЧПУ — простая логика блокировок и реверса.
Обучение
Ladder Diagram используется в учебных заведениях для изучения основ релейной автоматики и программирования PLC. Симуляторы (например, Siemens LOGO! Soft Comfort или Factory I/O) позволяют моделировать схемы без реального оборудования.
Примеры
Простейшая схема «Пуск-Стоп»
`` [NO_Start]--[NC_Stop]--[Coil_Motor] [NO_Motor]--| ``
- При нажатии кнопки «Пуск» (NO_Start) замыкается цепь, включается катушка Motor.
- Параллельный контакт Motor (NO) самоблокирует цепь, удерживая её замкнутой после отпускания кнопки.
- Кнопка «Стоп» (NC_Stop) размыкает цепь при нажатии, отключая двигатель.
Таймер задержки включения
`` [NO_Sensor]--[TON_Timer(PT:=5s)]--[Coil_Light] ``
- При срабатывании датчика (NO_Sensor) запускается таймер TON с уставкой 5 секунд.
- Через 5 секунд катушка Light включается, если датчик всё ещё активен.
Связь с другими языками МЭК 61131-3
- Structured Text (ST) — текстовый язык для сложных вычислений. LD может вызывать функции, написанные на ST.
- Function Block Diagram (FBD) — графический язык с блоками. LD и FBD часто комбинируют: LD для дискретной логики, FBD для аналоговых сигналов.
- Sequential Function Chart (SFC) — язык для пошаговых процессов. LD используется внутри шагов SFC.
- Instruction List (IL) — низкоуровневый ассемблер. В современных PLC IL вытеснен LD и ST.
Интересные факты
- Первый PLC (Modicon 084) программировался исключительно на LD через специальный терминал с перфолентой.
- В СССР в 1970-х годах разрабатывались аналоги LD для контроллеров серии «Ремиконт», но они не были стандартизированы.
- Современные среды разработки (CODESYS, TIA Portal) позволяют автоматически конвертировать LD в ST и обратно.
- В 2020-х годах LD начали использовать в системах «Интернета вещей» (IoT) для простых логических контроллеров на базе Arduino и ESP32.
Критика
Основные претензии к LD:
- Устаревшая парадигма — язык не поддерживает современные концепции (многозадачность, объекты, асинхронность).
- Сложность с отладкой — при большом количестве цепей (сотни) визуальный поиск ошибок затруднён.
- Отсутствие модульности — код часто получается монолитным, что усложняет повторное использование.
Тем не менее, LD остаётся стандартом де-факто в автоматизации благодаря инерции промышленности и низкому порогу входа для специалистов.
Источники
- IEC 61131-3:2013 — Programmable controllers — Part 3: Programming languages.
- Lewis R. W. Programming Industrial Control Systems Using IEC 1131-3. — IEE, 1995.
- Parr E. A. Programmable Controllers: An Engineer's Guide. — Newnes, 2003.
- Siemens AG. SIMATIC STEP 7 Basic V16 — Ladder Logic Programming Manual, 2020.
- Modicon. 984 Programmable Controller — Ladder Diagram Reference Guide, 1985.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →