Открыть сервис

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). Каждая цепь завершается катушкой или функциональным блоком.
  • Перемычки — параллельные соединения для реализации логических операций ИЛИ.

Принцип работы

Цикл сканирования

Контроллер последовательно обрабатывает каждую цепь сверху вниз. За один цикл:

  1. Считываются входные сигналы (датчики, кнопки).
  2. Вычисляются логические выражения на основе текущих значений.
  3. Обновляются выходы (катушки, исполнительные механизмы).

В отличие от релейных схем, где ток течёт непрерывно, в 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 →