Цель компании "АЛГОРИТМ" - предложение широкого ассортимента промышленного оборудования, материалов и услуг наряду с постоянно высоким качеством обслуживания.

Программирование ПЛК

Превращаем технологические требования в надёжную логику работы оборудования — пишем, дорабатываем и отлаживаем ПО для ПЛК так, чтобы система работала предсказуемо даже в жёстких промышленных условиях.

Реализуем логику управления клапанами, моторами, ТЭНами, рецептурными шагами и аварийными сценариями — с учётом реальных особенностей вашего процесса: задержек, импульсных режимов, авто/ручного управления, контроля обратной связи. Работаем на CODESYS и других средах, строго по стандарту МЭК 61131‑3.

Разработка и модернизация

Разработка программ для ПЛК «под задачу»

  • Функциональные блоки (FB) для типовых узлов: клапаны (fc_VLV), моторы (fc_MTR), рецептурные шаги (fc_RCPm) — с полной логикой состояний, флагами, обработкой аварий и сохранением контекста.
  • Логика пошаговых рецептов: синхронизация ITR_NextStep/ITR_PrevStep, принудительные переходы, обработка пустых шагов, контроль флагов (например, RDT.IFR_Run), исключение «мёртвых» переменных.
  • Управление режимами (авто/ручной, импульсный): корректные сбросы (например, HTE_Man при смене HTE_Mode или ST_Service), понятная логика переходов и защита от ложных срабатываний.
  • Работа с задержками и таймингами: настройка SP_TimeDelayOFF (в том числе значение 0 для мгновенного срабатывания), выдержка закрытия/открытия клапанов, контроль длительности циклов.
  • Аварийная логика и обработка ошибок: принцип сброса аварий, использование флагов (inEXTalm), задержки выхода из аварии, сохранение кодов (IFR_FaultCode → IFR_Info) для последующего анализа.
  • Учёт моточасов и энергопотребления: накопление времени наработки с типом LREAL, ступенчатое включение ТЭНов, контроль по каждому элементу, защита от переполнения типа TIME.
  • Работа со структурами и типами данных: оптимизация структур (ed_MTRp, VLVg), замена INT_↔ USINT, добавление полей с префиксом INT_, корректное обнуление массивов (например, G.arCIPsts), использование VAR_GLOBAL PERSISTENT RETAIN и PersistentVars.

Доработка и рефакторинг существующего кода

  • Анализ и устранение ошибок: поиск причин, почему правки не применяются после перезагрузки, диагностика зависаний при частых загрузках в CODESYS.
  • Оптимизация CASE-конструкций: замена на циклы при управлении группой клапанов, повышение читаемости и масштабируемости кода.
  • Защита от некорректных типов и исключений: механизмы валидации, try/expect-подобная логика, обработка исключительных ситуаций на уровне ПЛК.
  • Чистка и структурирование: удаление избыточных переменных (например, inAu в ed_VLVg), приведение именования к единому стилю, понятные комментарии для поддержки кода.
  • Миграция и адаптация: перенос логики между платформами, адаптация под конкретный контроллер (в т. ч. Weintek cMT-FHDX-820 в связке с CODESYS), сохранение накопленных архивов и настроек.

Особенности реализации с учётом промышленных задач

Учитывая специфику АСУ ТП и работу с CODESYS, панелями и рецептурными системами, мы обеспечиваем:

Задача Решение
Надёжность при частых загрузках кода Использование PERSISTENT/RETAIN-переменных, проверка атрибутов (qualified_only), минимизация влияния изменений на состояние процесса.
Синхронизация рецептурной логики Интеграция fc_RCPm с флагами шагов, обработка bEmptyStep, корректные переходы между шагами без потери состояния.
Работа с часами реального времени и накоплением данных Функции работы с датой/временем в CODESYS, накопление моточасов в LREAL, контроль переполнений и граничных значений.
Управление исполнительными устройствами Логика клапанов и моторов с учётом задержек, обратной связи, импульсного режима и аварийных блокировок.
Стабильность при перезагрузках и сбоях питания Сохранение критических состояний в RETAIN, защита от «слетания» настроек, предсказуемое поведение после рестарта.

С какими платформами и задачами работаем

Мы программируем под широкий спектр оборудования и технологических процессов:

ПЛК: CODESYS-совместимые (OBEH, Weintek и др.) Delta Electronics Omron Hitachi EATON EKF VIPA Языки МЭК 61131-3 (ST, LD, FBD, SFC, IL) STEP 5 STEP 7 TIA Portal Управление клапанами/моторами Рецептурные системы Нагрев/ТЭНы/моточасы

Этапы выполнения проекта

  1. 1 Сбор требований и анализ текущей логики: описание шагов, режимов, аварий, задержек; выявление проблемных мест (зависания, «слетающие» правки, некорректные сбросы).
  2. 2 Проектирование архитектуры ПО: выбор структур данных, определение FB, распределение флагов и состояний, планирование использования PERSISTENT/RETAIN.
  3. 3 Разработка и прототипирование логики: написание FB, отладка на симуляторе или стенде, проверка аварийных сценариев и переходов.
  4. 4 Интеграция на объекте и пусконаладка: загрузка в ПЛК, проверка работы с реальным оборудованием, корректировка задержек и порогов.
  5. 5 Обучение персонала и передача документации: инструкции по работе с рецептами и шагами, описание флагов, логика аварий, порядок внесения изменений без потери настроек.
  6. 6 Сопровождение и доработки: гарантийная поддержка, исправление скрытых ошибок, адаптация логики под изменения технологии.

Результаты для заказчика

  • Рабочая логика без «сюрпризов»: переходы между шагами, сбросы и аварии ведут себя предсказуемо.
  • Код, понятный для поддержки: чёткие имена переменных, комментарии, структурированные FB, отсутствие избыточности.
  • Стабильность после перезагрузки: критические данные сохраняются, настройки не теряются.
  • Прозрачная диагностика: коды аварий (IFR_Info), логирование причин остановок, удобные подсказки для оператора.
  • Готовность к масштабированию: добавление новых шагов, клапанов, моторов без переписывания всей логики.
  • Полная документация: описание структур, флагов, алгоритмов и правил внесения правок.

Для каких задач особенно полезно

  • Рецептурные процессы (мойка, дозирование, нагрев): пошаговая логика, контроль стадий, принудительные переходы и обработка пустых шагов.
  • Управление исполнительными механизмами: точная работа с клапанами и моторами, задержки, импульсные сигналы, обратная связь.
  • Энергоэффективные режимы и учёт моточасов: ступенчатое включение ТЭНов, контроль наработки, аварийные сигналы по каждому элементу.
  • Водоподготовка и умягчение: интеграция с клапанами Runxin, контроль ресурса смолы, стадий регенерации, уровня соли.
  • Участки с частыми переключениями режимов: авто/ручной, защита от ошибочных действий, корректные сбросы при смене режима.

Готовы автоматизировать ваш процесс?

Опишите задачу: техпроцесс, оборудование, что уже есть и какие проблемы возникают (зависания, «слетающие» правки, аварии). Мы предложим архитектуру, план работ и оценку сроков.

Связаться с нами

Вернуться к списку