МЭК 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 →