SyncTwinTECHNOLOGIES
Стандарт · МЭК 61131-3

МЭК 61131-3 — логика, которую читает наладчик

Международный стандарт языков программирования контроллеров. Программа на нём понятна любому инженеру АСУ ТП, знакомому со стандартом.

SFC: шаги, переходы и действия Схема последовательной функциональной диаграммы: начальный шаг, переход по условию, шаг с действием — блок движения PLCopen, переход по флагу «цель достигнута», конечный шаг; рядом тот же переход в виде текста ST. Init start AND part_ok Move MC_MoveAbsolute (ось) Done Complete ST:IF start AND part_ok THENstep := 1;END_IF;
Что это

Языки программ контроллера

МЭК 61131-3 — третья часть стандарта на программируемые контроллеры. Она задаёт языки, на которых пишется логика, и устройство программы: какие бывают программные единицы, типы данных, как вызывать блоки.

Для заказчика это значит одно: программу, написанную по стандарту, читает и правит инженер, знакомый с любой средой, которая стандарт поддерживает. Логика не заперта в языке одного поставщика.

В SyncTwin стандарт — единственный язык логики узла: прежний собственный язык узлов снят, рабочие программы переведены на ST и SFC. Узел не исполняет G-code — программу реза он вызывает блоком.

  • SFC — последовательностьШаги, переходы по условиям, действия в шагах: цикл узла читается как схема.
  • ST — структурированный текстРасчёты и условия — текстом, похожим на привычные языки.
  • Функциональные блокиПовторно используемые блоки с входами и выходами; PLCopen добавляет блоки движения осей.
  • Обмен программамиPLCopen XML — формат переноса программ между средами.
Из чего состоит

Языки и программные единицы

Элемент стандартаЧто этоУ нас
SFCПоследовательная функциональная схема: шаги, переходы, действияработает — логика узла и процедура ячейки, плеер в лаборатории
STСтруктурированный текстработает — логика узла, условия переходов
LD, FBDРелейная и функционально-блочная диаграммыПрограммы приносятся в ST или SFC
ПрограммаВерхняя единица, которую исполняет задача контроллераПрограмма узла; язык — её свойство
Функциональный блокЕдиница с памятью, входами и выходамиБлоки движения PLCopen, приёмы движения
Переменные с диапазономВходные переменные программыРучки узла: диапазон и единицы, значения хранятся у узла

Текст проверяется компилятором целиком по стандарту, затем — привязка к узлу. Ошибки показываются как есть, с местом в тексте.

Как используем

Один язык для логики узла и ячейки

  • Логика узла — SFC или STПроцедура ячейки — тоже SFC: шаг ячейки — узел, команда фазы и условие завершения.
  • Движение — блоки PLCopenПеремещение, сброс, чтение ошибки оси — стандартными блоками.
  • Проверка компиляторомТекст проверяется целиком по стандарту; ошибка — с местом в тексте.
  • ИмпортФайлы .st и PLCopen XML; при нескольких программах в файле — выбор нужной.
  • Работает на стендеПрограммы узлов исполняются на стенде как программы МЭК 61131-3.
Движение

Логика — в SFC, движение — в блоке

Таймеры, ожидания, условия на сигналы, блокировки, счётчики и состояния PackML живут в SFC. Движение — в функциональном блоке: программа говорит «перенеси», а путь считает блок.

Блок PLCopenЧто делает
MC_PowerРазрешение оси; в «И» с питанием узла; выключено — ось снята
MC_MoveAbsolute и другиеПеремещение оси; у блока есть Active, ускорение и торможение
MC_ResetСброс аварии оси
MC_ReadAxisErrorЧтение ошибки оси
MC_SetPositionСдвиг координаты без движения

Глагол — тоже блок

Перенос, переворот, постановка доступны программе узла как функциональные блоки. Программа реза станка вызывается блоком запуска.

Интерфейс как у PLCopen

Цель платформы — каждый глагол движения с интерфейсом «Execute → Busy → Done или Error», входы — параметры глагола.

Программа не знает исполнителя

Имя блока одно; какое оборудование его исполнит, решается при пуске. Пересечения нет — отказ с причиной.

Цикл узла

Как стандарт выглядит в программе узла

Шаг SFCДействиеПереход
исходнаяОбе оси позиционера в 0° — MC_MoveAbsolute на каждойОба блока Done
наклонНаклон стола на 45°Done
оборотВращение планшайбы на 360°Done
обратный наклонОбе оси в 0° одновременноОба блока Done
паузаВыдержка по таймеруТаймер → «исходная»

Конечный шаг SFC — состояние PackML Complete узла. Разбор примера и пороги аварии — «Программы ПЛК».

Проверка программы

Четыре ступени до движения оси

  1. КомпиляторТекст целиком по стандарту, затем привязка к узлу: оси, роли, имена входов и выходов.
  2. ЛабораторияТаблица входов %IX и выходов %QX, форсировка входа, плеер SFC, состояние PackML.
  3. Виртуальные осиШаги, время и переходы — на стенде, приводы стоят.
  4. ПриводыОшибка слежения и нагрузка — только на реальной оси.

Форсировка — инструмент отладки по правилам сред программирования контроллеров: гаснет при аварийном стопе и на производство не идёт.

Вопросы

Вопросы о языке

Можно принести готовую программу из нашей среды?

Да, текстом ST или файлом PLCopen XML. Если в файле несколько программных единиц, платформа спросит, какую взять; компилятор покажет, что не прошло, с местом в тексте.

Сможет ли наш наладчик править программу без вас?

Программа написана на языке стандарта, шаги и переходы SFC читаются как схема. Состав передачи результатов вашей команде фиксируется в техзадании внедрения.

Где видно, что программа делает сейчас?

Плеер SFC в лаборатории подсвечивает шаг, панель «Узел» показывает входы, выходы и состояние PackML, журнал прогонов — чем кончился запуск.

А релейная диаграмма?

Логика узла пишется на SFC или ST. Ваша программа на другом языке стандарта переносится в них в рамках внедрения.

Где хранятся скорости и выдержки?

В ручках узла — входных переменных с диапазоном и единицами. Вид «Визуально» показывает их для любого языка, значения хранятся у узла, а не в тексте.

Статус

Что работает и что готовится

  • РаботаетST и SFC, импорт .st и PLCopen XML, компилятор, лаборатория, исполнение на стенде на виртуальных осях и на приводах.
  • ГотовитсяБлок переноса с точками таблицей, сторож подтверждений выходов.
  • Канон и цельВсе глаголы движения — функциональными блоками с интерфейсом PLCopen.

Обсудить внедрение

Пришлите программу узла в ST или PLCopen XML — проверим её компилятором и в лаборатории и предложим этап НИОКР.

Запросить доступ
Следующий шаг

Обсудить внедрение

Опишите узел или линию — ответим, что проверим и в какой срок. Целевые показатели фиксируются в техзадании внедрения.

Запросить доступ

Внедрение →

Запросить доступ