Часть 1: CRM для ERP

Часть 2: Роботизация бизнес-процессов

Часть 3: Волшебные интерфейсы и оживление железа

Часть 4: Автоматические личные кабинеты и чат-боты

Часть 5: Автоматизация на производстве

Часть 6: Траблшутинг на предприятии

Часть 7: Цифровой помощник оператора

Часть 8: Автоматическая MES-система (в этой публикации)

Напомню, что год назад мы разработали цифровой помощник оператора сырьевого отделения и успешно запустили в эксплуатацию на заводе. Система интегрирована с двумя ХRF‑анализаторами и АСУТП Siemens, позволяет автоматически рассчитывать оптимальные дозировки сырьевых материалов для получения клинкерной муки с заданными параметрами качества, в условиях отсутствия актуальных входных данных (с задержкой от 1,5 до 6 часов, т. е. неактуальные на момент их обработки системой).

Промышленная эксплуатация системы АЦТЕК в виде цифрового помощника (режим рекомендаций оператору) в течение 3-х месяцев показала свои достоинства и недостатки. Отмечу только недостатки, которые перечеркивают все достоинства системы.

Недостатки цифрового помощника оператора (ЦПО)

Главный недостаток цифрового помощника оператора - это человеческий фактор:

1. Ошибки в наборах данных

Ошибки в данных не связаны с программной интеграцией, а исключительно с ошибочными изменениями хим. состава лаборантами. Например, когда на XRF‑анализаторе выбрана одна программа измерений, а выполняется другое измерение. Ошибочные наборы данных загружаются в систему и влекут за собой не верные расчеты алгоритмов. О таких ошибках лаборанты обычно сообщают по электронной почте постфактум.

Примеры писем с ошибками лабораторных изменений на XRF-анализаторах
Примеры писем с ошибками лабораторных изменений на XRF-анализаторах

2. Оператор не согласен с рекомендацией системы

Это самый распространенный случай, когда оператор не согласен с очередной рекомендацией системы и игнорирует ее. Практически невозможно проверить корректность работы алгоритмов системы, так как для полноценной проверки требуется непрерывное следование рекомендациям и ввод расчетных дозировок в АСУТП каждые 15 минут на протяжении нескольких часов подряд.

Оператор не согласен с новой рекомендацией, игнорирует ее и не меняет дозировки в АСУТП
Оператор не согласен с новой рекомендацией, игнорирует ее и не меняет дозировки в АСУТП

3. Оператор пропускает рекомендацию системы

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

4. Оператор допускает ошибки при вводе рекомендаций

Опечатки или ошибки ручного ввода данных также искажают результат работы системы и не позволяют достоверно оценить результат. Например, рекомендация системы 56, а оператор вводит 65 (или рекомендация 58, а оператор вводит 59, что существенно влияет на результат).

5. Оператор не своевременно вводит рекомендации системы

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

Наличие периодических аномалий и отклонений в качестве сырьевой муки, невозможность локализации проблемы при наличии человеческого и других факторов не оставили шанса, кроме разработки собственной MES-системы.

Разработка автоматической MES-системы взамен цифрового помощника оператора

Что такое МES-система?

MES (от англ. manufacturing execution system), система управления производственными процессами — специализированное прикладное программное обеспечение, предназначенное для решения задач синхронизации, координации, анализа и оптимизации выпуска продукции в рамках какого-либо производства. MES-системы относятся к классу систем управления уровня цеха, но могут использоваться и для интегрированного управления производством на предприятии в целом.

Источник https://ru.wikipedia.org/wiki/MES

В этой статье ранее я рассказывал, что мы разработали собственный OPC‑клиент для интеграции 1С с АСУТП Siemens. Сначала обмен данными работал по протоколу OPC UA, затем перешли на OPC DA (более стабильный).

Также мы увеличили период опроса OPC‑сервера для получения пакетных данных до 8–10 секунд, чтобы снизить общую нагрузку на сервер.

Период получения пакетных данных от OPC-сервера 1 раз в 6-8 секунд
Период получения пакетных данных от OPC-сервера 1 раз в 6-8 секунд

Период опроса некоторых тэгов OPC увеличен до 1 минуты, исключение для сторожевого таймера (watchdog) — каждые 5 секунд.

Что такое watchdog?

Сторожевой таймер, реже контрольный таймер (англ. watchdog timer букв. «таймер — сторожевой пёс») — аппаратно реализованная схема контроля над зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой.

Источник https://ru.wikipedia.org/wiki/Сторожевой_таймер

Разные тэги OPC имеют разные интервалы опроса, watchdog - каждые 5 секунд
Разные тэги OPC имеют разные интервалы опроса, watchdog - каждые 5 секунд

Отличия "цифрового помощника оператора" от автоматической MES-системы (субъективно)

Критерий

Цифр. помощник оператора

Автомат. MES-система

Интерфейс

Обязательно

(место получения оператором рекомендаций)

Обязательно

(общий визуальный контроль работы системы оператором)

Событийный динамический интерфейс

Не обязательно

(текущий режим работы системы оператор может оценить в момент обращения к интерфейсу)

Обязательно

(боковым зрением оператор видит смену режимов работы системы, реагирует на измение цветов и мигание элементов интерфейса)

Режим "одного окна" интерфейса

Не обязательно

(оператор может посмотреть данные, переключаясь между окнами/вкладками/экранами)

Обязательно

(все ключевые параметры и данные должны быть на одном экране, без переключений)

Заданы пределы, ограничения, пороговые значения

Не обязательно

(оператор может игнорировать аномалии и отклонения, так как принимает решение сам)

Обязательно

(аномалии и отклонения могут создавать ошибки вычислений с запредельными значениями)

Алгоритмы системы охватывают все возможные сценарии

Не обязательно

(оператор может игнорировать не учтенные режимы работы системы, так как принимает решение сам)

Обязательно

(важно запрограммировать максимально возможные сценарии, даже самые редкие, включая потенциальные отказы)

Авто. переход в аварийный (ручной) режим

Желательно

(но не критично, так как оператор может принимать решение сам)

Обязательно

(нет данных вообще/нет ожидаемых данных, нет связи с источниками/получателями данных, исключительные ситуации)

Логирование событий

Желательно

(для анализ данных и оценки следования оператора рекомендациям системы)

Обязательно

(для анализа аномалий и отклонений, времени возникновения событий, истории переключения режимов работы)

Итак, какие задачи были решены, чтобы реализовать полноценнyю MES‑систему, которая автоматически управляет качеством сырьевой муки на заводе с производительностью 380 тонн в час.

Задача №1: перевод интерфейса в событийный динамический

Что такое событийный динамический интерфейс?

Событийный динамический интерфейс (англ. event-driven dynamic interface) - это когда изменения в интерфейсе системы возникают в момент наступления событий. Когда элементы интерфейса не только изменяют цвет (например, с зеленого на красный), а изменение происходит в динамике (например, мигание в течение 3-5 секунд) при наступлении определенных событий (смена режимов работы, получение данных, изменение параметров, ошибка).

Переработка интерфейса в событийный динамический заняла не меньше времени, чем реализация автоматического режима работы система. В большей степени это было связано с рефакторингом программного кода, когда к алгоритмам добавились различные события и их визуализация. Каждое такое событие влияет на динамическое изменение в интерфейсе. Например, в системе появился новый анализ сырьевой муки или произошло очередное изменение дозировки сырьевых материалов.

Слева панель - появилась новая рекомендация, фон начал мигать. Справа - новая рекомендация успешно установлена, фон перестал мигать
Слева панель - появилась новая рекомендация, фон начал мигать. Справа - новая рекомендация успешно установлена, фон перестал мигать

Задача №2: автоматическая отбраковка ошибочных анализов

Сложность заключалась в том, что по хим. составу анализы материалов очень похожи между собой: мел и мергель, сырьевая мука и клинкер. Все они содержат 4 основных вещества: Al2O3, Fe2O3, SiO2, CaO. И каждое вещество имеет плавающий диапазон значений — от и до.

Если пару мел и мергель получилось взаимно исключать по содержанию CaO, то с парой сырьевой муки и клинкера этот трюк уже не подходил (клинкер получают из сырьевой муки путем спекания при высокой температуре). Поэтому для некоторых случаев исключение задавалось по модулям Кн, n и p — одновременно.

Мел можно отличить от мергеля по содержанию CaO
Мел можно отличить от мергеля по содержанию CaO
Сырьевую муку от клинкера можно отличить по модулям Кн, n и p - одновременно
Сырьевую муку от клинкера можно отличить по модулям Кн, n и p - одновременно

В обоих случаях предварительно анализировались табличные данные для выявления закономерностей и мин/мак пределов. История анализов за последний год выгружалась с XRF‑анализаторов в Excel.

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

Ошибочный анализ деактивирован автоматически по заданным пределам модуля Кн
Ошибочный анализ деактивирован автоматически по заданным пределам модуля Кн

Задача №3: задать все возможные пределы и ограничения

Ограничения и пределы крайне важны для автоматического режима работы, так как оператор уже не контролирует процесс и цена ошибки может быть слишком высока (производительность двух линий 380 тонн в час). Точнее, контроль оператора сводится к периодической оценке состояния, а не постоянному мониторингу. Это может быть 1 раз в час и реже.

Часть пределов и ограничений были заданы на этапе разработки ЦПО, остальные были дополнены в процессе отладки автоматического режима. Пример хранимых значений в системе, которые могут быть переопределены в любой момент (константы и периодически изменяемые значения).

Пример задания в системе пределов и ограничений в системе
Пример задания в системе пределов и ограничений в системе

Некоторые пределы нужны для исключения потенциальных ошибок в алгоритмах системы, другие — отражают техническое/технологические ограничения. Например, минимальные доли бокситов и огарков не должны быть меньше 1% и 0,8% соответственно, иначе дозаторы их «не понимают» и может сбоить оборудование.

Некоторые пределы отражают технические ограничения промышленного оборудования
Некоторые пределы отражают технические ограничения промышленного оборудования

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

Дозировка бокситов достигла максимально возможного значения и система не может его обойти
Дозировка бокситов достигла максимально возможного значения и система не может его обойти

Задача №4: автоматический переход в ручной режим управления

С одной стороны, оператор может перейти в ручной режим самостоятельно и это допустимо при определенных обстоятельствах или регламентированно.

С другой стороны, в случае нештатных ситуаций система должна переходить в ручной режим с одновременным уведомлением оператора о причине. Например, когда в ожидаемое время (сверх допустимого лимита t ожидания) отсутствует очередной анализ из лаборатории, который используется в расчетах системы.

Истекло ожидаемое время для очередного анализа - система переходит в ручной режим
Истекло ожидаемое время для очередного анализа - система переходит в ручной режим

Каждый подобный случай анализируется и выявляется реальная причина, которая впоследствии устраняется.

Задача №5: показать оператору, почему система приняла такое решение

То, что понятно системе, не всегда очевидно для оператора. Оператору важно понимать, почему это происходит, так как он не видит всех данных для расчетов. Наглядный пример, когда при хорошем качестве сырьевой муки, система принимает решение об изменении дозировки мела, мергеля и бокситов.

При хорошем качестве сырьевой муки система принимает решение изменить дозировку на новую
При хорошем качестве сырьевой муки система принимает решение изменить дозировку на новую

В таком случае, оператор может расшифровать «двойным кликом», сначала увидеть график подачи материалов и качества муки за последние 4 часа, и если потребуется - расшифровку вычислений системы в нужной точке графика.

Оператору доступны расшифровки в виде графиков и детализацией расчетов системы
Оператору доступны расшифровки в виде графиков и детализацией расчетов системы

Пример расшифровки вычислений системы в выбранной оператором точке на графике.

Расшифровка логики вычислений системы доступна оператору с комментариями
Расшифровка логики вычислений системы доступна оператору с комментариями

Ключевое отличие системы от оператора заключается в том что она оценивает динамику изменений, а не цифры в моменте, как это свойственно оператору.

Первые 2 месяца эксплуатации системы АЦТЕК в автоматическом режиме оказались довольно успешные. В пик летнего сезона были выявлены некоторые аномалии в алгоритмах определения дозировок. А именно, верные с точки зрения системы вычисления иногда не соответствовали ожидаемому качеству, которое фактически получалось по хим. составу сырьевой муки.

Причиной стал пик летнего сезона, которому сопутствует увеличение добычи мела и мергеля в карьере и увеличение подачи бокситов и огарков со склада. В своих алгоритмах мы использовали в том числе усредняемые по хим. составу анализы мела и мергеля за последние 6 часов и последние 4 анализа по входному контролю бокситов и огарков. Следовательно, при увеличении добычи мела и мергеля, усреднение иногда не соответствовало реальной картине. Фактические изменения в хим. составе сырьевых материалов иногда были противоположные и расходились с расчетами. Это стало проблемой.

Новый алгоритм определения дозировок материалов и отказ от 80% данных в расчетах

Попытки использования в расчетах других периодов усреднения (последний анализ, за последние 2–4 часа или за последние 12–24 часов) данных о хим. составе мела и мергеля - не привели к существенным улучшениям. Аномалии с качеством сырьевой муки проявлялись до нескольких раз в сутки. Пример некорректного расчета, когда Кн (1) находится в верхней границе качества, а дозировка мела ошибочно увеличена (2) вместо уменьшения.

Кн в верхней границе (1), вместо снижения дозировки мела - дозировка мела ошибочно растет (2)
Кн в верхней границе (1), вместо снижения дозировки мела - дозировка мела ошибочно растет (2)

Принято решение отказаться от использования в расчетах усредненных анализов мела, мергеля, бокситов и огарков (т. е. 80% данных, которые использовались в алгоритмах), а использовать только данные о хим. составе сырьевой муки, которые мы получаем в системе каждый час с данными за прошедшие в 1,5 часа (т. е. не актуальные на момент обработки системой).

Из логики старого алгоритма мы оставили такты (время производственных циклов), паттерны (оценка тренда качества по Кн) и выборочное усреднение данных о хим. составе сырьевой муки (только Кн «хорошего» качества).

А вместо оценки качества муки только по модулям Кн, n и p — дополнительно оценивать содержание оксидов железа и алюминия.

Почему ещё потребовалось оценивать содержание оксидов железа в клинкерной муке?

Дело в том, что осенью 2022 года в эксплуатацию на заводе был введён цех альтернативного топливо (утилизация шин, путем сжигания в печи при очень высокой температуре). Побочным продуктом сжигания является железо от корда покрышек, которое также добавляется в смесь вместе с огарками.

Поэтому нельзя просто оценивать содержание оксидов железа (Fe2O3) только в огарках и полагаться в расчётах лишь на усреднённый хим. состав по входному контролю огарков.

Более полную картину в таком случае даёт именно оценка содержания Fe2O3 по хим. составу клинкерной муки, с последующей корректировкой дозировки огарков в ту или иную сторону.

Для проверки на каждой линии производства в течение недели параллельно использовались разные алгоритмы — старый и новый. Новый алгоритм расчета дозировок материалов только по хим. составу сырьевой муки с одновременной корректировкой содержания оксидов алюминия и железа оказался более точным и верным.

Также решен вопрос с колебаниями подачи сырьевых материалов, когда факт не соответствует заданию по дозировке. Наглядный пример колебаний подачи мела на линию производства в течение 1,5 часов.

Фактическая средняя подача мела отличается от задания и опорной рекомендации
Фактическая средняя подача мела отличается от задания и опорной рекомендации

Такие колебания вызывают диспропорцию материалов и влияют на качество клинкерной муки. Для исключения «ложных» пересчетов дозировок, не связанных с реальным изменением хим. состава, мы учитываем исполнение факта и задания. Когда отклонение подачи материалов лежит в заданных пределах (исполнено), то дозировка может быть изменена в соответствии с общей логикой. В противном случае (не исполнено), исходная дозировка остается неизменной. Примеры:

Отклонение факт. подачи по мелу лежит за допустимыми пределами (не исполнено) - дозировка не меняется
Отклонение факт. подачи по мелу лежит за допустимыми пределами (не исполнено) - дозировка не меняется
Отклонение факт. подачи по мелу лежит в допустимых пределах (исполнено) - дозировка меняется
Отклонение факт. подачи по мелу лежит в допустимых пределах (исполнено) - дозировка меняется

В действительности, колебания факт. подачи материалов могут иметь совершенно разный вид. Примеры таких колебаний наглядно видно на суточных графиках (24 часа подряд).

Довольно ровная подача сырьевых материалов (кроме бокситов - показаны зеленым) и соответствует заданию на дозаторах
Довольно ровная подача сырьевых материалов (кроме бокситов - показаны зеленым) и соответствует заданию на дозаторах
Временами очень нестабильная подача сырьевых материалов (огарки - всегда не ровная подача), вплоть до "заторов" на линии
Временами очень нестабильная подача сырьевых материалов (огарки - всегда не ровная подача), вплоть до "заторов" на линии

Понятно, чем стабильнее подача материалов на линию производства, тем стабильнее качество. На стабильность подачи влияет множество факторов — от погодных условий и работы оборудования, до наличия/отстутствия материалов в бункерах/на линии.

Тем не менее, разницу в работе оператора и автоматической MES‑системы наглядно видно на суточном графике (24 часа подряд). Линия 1- оператор, линия 2 — АЦТЕК.

Линия 1 (оператор) - диапазон колебаний качества муки по отношению к заданному качеству по Кн
Линия 1 (оператор) - диапазон колебаний качества муки по отношению к заданному качеству по Кн
Линия 2 (АЦТЕК) - диапазон колебаний качества муки по отношению к заданному качеству по Кн
Линия 2 (АЦТЕК) - диапазон колебаний качества муки по отношению к заданному качеству по Кн

Для понимания графика, коридор качества по Кн составляет всего 4-5 сотых. Заданное на производстве качество лежит в гораздо более узких границах, чем требования ГОСТ Р.

На этом, пожалуй, всё! В следующей статье расскажу о новой системе «Вивальди», которая успешно корректирует качество сырьевой муки и в своих расчетах использует еще меньше входных данных.

Комментарии (2)


  1. Elon_space
    00.00.0000 00:00
    +1

    @E_BEREZIN спасибо за подробный анализ. Плюсанул бы, но кармы не хватает ))


    1. E_BEREZIN Автор
      00.00.0000 00:00

      Пожалуйста:)