RUBICON engineering center

Язык ПЛК IL — список инструкций

Аббревиатура: IL
Синонимы: IL, Instruction List, список инструкций, STL, Statement List
IL (Instruction List) — низкоуровневый текстовый язык ПЛК по IEC 61131-3, похожий на ассемблер. Каждая строка — одна инструкция (LD, AND, OR, ST). Исторически первый язык ПЛК. С 2013 года считается устаревшим, в новых IEC-редакциях заменён на ST.

IL (Instruction List, список инструкций) — текстовый язык программирования ПЛК, похожий по стилю на ассемблер. Один из пяти языков IEC 61131-3 (в редакции 2003 года). В IEC 61131-3:2013 обозначен как «deprecated» — не рекомендуется для новых разработок.

Как выглядит IL

Каждая строка — одна инструкция, формат:

**` LD Start // Загрузить Start в аккумулятор AND NOT Stop // AND с инверсией Stop ST Motor // Сохранить результат в Motor **`

Работает через аккумулятор — результат текущей операции хранится в неявном регистре и используется в следующей инструкции.

Основные инструкции

  • LD / LDN — загрузить значение (с инверсией)
  • ST / STN — сохранить значение
  • S / R — установить / сбросить
  • AND / OR / XOR — логические операции (с модификатором N для инверсии)
  • ADD / SUB / MUL / DIV — арифметические
  • GT / LT / EQ / NE — сравнение
  • JMP — переход по метке
  • CAL — вызов функции/блока
  • RET — возврат

Исторический контекст

IL был первым текстовым языком ПЛК в 1970-80-х, когда память и производительность были критичны. Он близок к ассемблеру процессора ПЛК и компилируется очень эффективно. По мере роста производительности нужда в низкоуровневом коде отпала.

Siemens имеет собственный диалект STL (Statement List) — концептуально похож на IL, применялся в SIMATIC S5 и ранних S7. В TIA Portal STL сохранён для совместимости.

Почему deprecated

  • Нечитаемость для современных инженеров (поколение привыкло к структурному программированию)
  • Легко внести трудноуловимые ошибки (путаница с аккумулятором)
  • ST (Structured Text) даёт то же самое + понятные конструкции (IF/CASE/FOR)
  • Производительность современных ПЛК такова, что оптимизация низкоуровневых инструкций не нужна

Где ещё встречается

  • Legacy-код на объектах 1990-2010-х — многие шкафы автоматики написаны на IL/STL, при модернизации его часто сохраняют или переводят на ST
  • Образование — IL преподают для понимания низкого уровня (как ассемблер в курсах CS)
  • ПЛК с ограниченной памятью — некоторые микро-ПЛК по-прежнему эффективнее работают на IL

Поддержка средами

  • CODESYS — поддержка IL сохранена, но в CODESYS 3.5 помечена как устаревшая
  • Siemens TIA Portal — STL доступен для S7-300/400/1500 (не 1200)
  • Rockwell — IL не поддерживается (вместо — Ladder/FBD/ST/SFC)
  • ОВЕН CODESYS — IL есть, но используется редко

Рекомендация

Для новых проектов — ST вместо IL. Для сопровождения legacy — освоить чтение IL/STL, но не писать новый код на нём.

Частые вопросы

  • Нужно ли учить IL в 2026 году?
    Для новых проектов — нет. Для сопровождения существующих объектов (многие работают на STL/IL с 2000-х) — пригодится умение читать и вносить мелкие правки. В курсах ПЛК чаще обучают LD, FBD, SFC, ST — а IL дают в общих чертах как исторический контекст. Если вы начинаете карьеру — потратьте время на ST, он даст и производительность и читаемость.
  • STL Siemens и IL — это одно и то же?
    Концептуально похожи — оба текстовые, оба похожи на ассемблер, оба работают с аккумулятором RLO (Result of Logic Operation). Но синтаксис отличается: Siemens STL имеет собственные инструкции (U, UN, O, ON, =, S, R и т.д.). При портировании кода между Siemens и CODESYS прямого переноса не получится — проще переписать на ST.

Источники

  1. IEC 61131-3:2013 — Programmable controllers. Part 3: Programming languages — IEC
Автор: Sergey
Опубликовано: 28.10.2026
Обновлено: 27.10.2026
Язык ПЛК IL — список инструкций (deprecated) | РУБИКОН