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

МЭК 61131-3: стандарт языков программирования ПЛК

МЭК 61131-3 — международный стандарт, устанавливающий требования к языкам программирования промышленных контроллеров (ПЛК). Является третьей частью серии стандартов МЭК 61131, посвящённой программируемым логическим контроллерам. Документ определяет синтаксис, семантику и базовые программные элементы, обеспечивая переносимость прикладных программ между контроллерами разных производителей.

История

Работа над стандартом велась Международной электротехнической комиссией (МЭК) с середины 1970-х годов. Первая редакция была опубликована в 1993 году. Вторая редакция вышла в 2003 году, третья — в 2013 году. Стандарт входит в серию МЭК 61131, куда также входят части, посвящённые общим требованиям, требованиям к оборудованию, правилам пользователя и коммуникациям.

Языки программирования

Стандарт описывает пять языков, из которых два текстовые и три графические.

ЯзыкТипАббревиатура
Instruction ListтекстовыйIL
Structured TextтекстовыйST
Ladder DiagramграфическийLD
Function Block DiagramграфическийFBD
Sequential Function ChartграфическийSFC

IL — ассемблероподобный язык со списком инструкций. ST напоминает Паскаль и применяется для сложных вычислений. LD воспроизводит релейно-контактные схемы. FBD оперирует функциональными блоками и связями между ними. SFC описывает последовательность состояний и переходов, часто используется как каркас для остальных языков.

Программная модель

Стандарт вводит единую программную модель. Основные элементы:

  • Программный блок (POU) — программа, функциональный блок или функция.
  • Типы данных — элементарные (BOOL, INT, REAL и др.) и производные (структуры, массивы, перечисления).
  • Переменные — локальные, глобальные, входные, выходные, а также с атрибутами (RETAIN, CONSTANT).
  • Конфигурация, ресурс, задача — уровни организации выполнения программы.

Такая модель позволяет описывать многозадачные системы с разными периодами исполнения.

Применение

Стандарт применяется в промышленной автоматизации: управление конвейерами, станками, технологическими линиями, энергетическими объектами. Большинство современных сред разработки (CODESYS, TIA Portal, TwinCAT, RSLogix) поддерживают языки МЭК 61131-3 полностью или частично.

Значение и критика

Стандарт обеспечил единую терминологию и снизил зависимость разработчиков от конкретного вендора. Однако полной переносимости программ достичь не удалось: производители расширяют языки собственными библиотеками и конструкциями. Кроме того, стандарт не регламентирует среду разработки и формат обмена проектами, что затрудняет миграцию между платформами.

Расширения

В 2013 году в третью редакцию добавили объектно-ориентированные возможности: классы, методы, интерфейсы, наследование. Это сблизило языки ПЛК с языками общего назначения и упростило создание крупных проектов.

IRONLIVE — база данных и аналитика по компаниям России.

На главную IRONLIVE →