Цифровая трансформация цементного завода (ч.8): автоматическая MES-система

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Часть 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-систему, которая автоматически управляет качеством сырьевой муки на производстве.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Относительно ровная подача сырьевых материалов и соответствует заданию на дозаторах
Относительно ровная подача сырьевых материалов и соответствует заданию на дозаторах
Очень нестабильная подача сырьевых материалов, впроть до "заторов" на линии
Очень нестабильная подача сырьевых материалов, впроть до "заторов" на линии

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

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

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

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

Источник: https://habr.com/ru/post/712796/


Интересные статьи

Интересные статьи

Привет! Меня зовут Татьяна Рыжкова. Я руководитель направления в блоке Сбера «Управление благосостоянием», лидер компетенции «Тестирование», участник команды DevOps и релизной мастер-команды. Возможно...
В ИТ-сообществе слово «аутсорсинг» часто воспринимается как обидное. Руководители компаний и команд, которые занимаются заказной разработкой ПО или электроники, и сами ра...
Не секрет, что мы живем в эпоху, когда знания устаревают ежеминутно. Наступила пора перманентного самообразования. Причин несколько: рост продолжительности жизни, скорость появления н...
Первая часть Пример на Github В этой статье расскажу о том, как решал проблемы, с которыми столкнулся в предыдущей части при реализации проекта. Во-первых, при анализе трансформируемого...
Основанная в 1998 году компания «Битрикс» заявила о себе в 2001 году, запустив первый в России интернет-магазин программного обеспечения Softkey.ru.