Часть 2: Роботизация бизнес-процессов
Часть 3: Волшебные интерфейсы и оживление железа
Часть 4: Автоматические личные кабинеты и чат-боты
Часть 5: Автоматизация на производстве
Часть 6: Траблшутинг на предприятии (в этой публикации)
Что такое "траблшубинг" (определение из Википедии)
Траблшутинг (англ. troubleshooting — устранение неполадок, работа над проблемой) — форма решения проблем, часто применяемая к ремонту неработающих устройств или процессов. Представляет собой систематический, опосредованный определённой логикой поиск источника проблемы с целью её решения.
Какие у вас возникают ассоциации, когда слышите фразу "при зависании весов сотрудник КИПиА идет на участок автоотгрузки и перезагружает весовой терминал"?
Старая проблема с "зависанием" весовых терминалов Mettler Toledo на участке автоотгрузки цемента
Участок отгрузки навального цемента на заводе представляет собой 2 силоса, под каждым из которых установлены статические автомобильные весы Mettler Toledo для взвешивания цементовозов - до начала и после окончения отгрузки. В третьей части я уже рассказывал об этом.
Периодически я слышал, что на заводе иногда "зависают" автомобильные весы, из-за чего приостанавливается отгрузка. И возобновляется после того, как на место приходит сотрудник КИПиА и "перезагружает" весы.
Слышал я об этом потому что, как правило, звонки или письма от автодиспетчеров сначала поступали в мое подразделение к консультанту 1С. Тот диагностировал проблему, понимал, что "зависание" весов не связано с ERP-системой и передавал задачу в смежное подразделение - отдел автоматизации производства, сотрудники которого находятся непосредственно на заводе. Начальник отдела автоматизации производства считал, что весы "зависают" из-за некорректной интеграции с ERP-системой.
Но многократные проверки контура программной интеграции весов с ERP-системой показывали, что в 1С проблем не возникает и "зависание" происходит на стороне весовых терминалов.
Надоедливые письма и диагностика одного дня
Недавно я получил очередное письмо от начальника отдела автоматизации производства, что из-за ERP ночью "зависли" весы, отгрузка была приостановлена на полчаса, мы не устраняем проблему на стороне 1С, а сотрудникам КИПиА приходится ходить на участок автоотгрузки и "перезагружать" весы. В письме он сослался на то, что "зависания" начались с 2020 года, когда нами была выполнена интеграция весов с ERP.
Мне было лень переписываться и я решил досконально разобраться в проблеме:
От консультанта 1С я узнал, что в момент "зависания" весов у насыпщика на экране выводится сообщение "Нет связи с сервером".
От программиста 1С я узнал, ч то в момент "зависания" в базе данных MSSQL весов (подключена к ERP, как внешний источник данных) появляется запись с отрицательным значением взвешивания порожней машины. А после "перезагрузки" весов создается новая запись с корректным весов и отгрузка продолжается в обычном режиме.
Чтобы исключить возможные ошибки в данных на стороне 1C ERP, я проверил записи в базе данных MSSQL - при "зависании" весов появляется запись с отрицательным значением, а после "перезагрузки" создается новая запись с корректным весом.
Чтобы убедиться, что запись с отрицательным значением веса при "зависании" весов это не случайность, я проверил наличие подобных занисей в базе данных MSSQL, оказалось, что они были и раньше. Вероятно, в это время также "зависали" весы.
Дальнейший анализ восстановленной из архива базы данных MSSQL показал, что проблема возникает в самого начала эксплуатации весов - с 2015 года.
От программиста 1С я получил описание логики интеграции весов с ERP и фрагмент кода (каждые 5 секунд он получает текущее значение веса и отображает в его интерфейсе 1C на рабочем месте автодиспетчера). Маловероятно, что это может быть причиной "зависания" весов. Учитывая, что процедура выполняется каждые 5 секунд, а весы "зависают" всего пару раз в месяц.
Фрагмент кода 1С для получения текущего веса
&НаКлиенте
Процедура ЗаполнитьВесВесов()
попытка
document = элементы.адресвесы1.Документ;
п = document.getElementsByTagName("frameset")[0].getElementsByTagName("frame")[0].contentWindow.document.getElementById("cu1") ;
Вес =Число(Стрзаменить(п.innerHTML, " kg", ""));
ТекущийВесБрутто1 =Вес;
Исключение
КонецПопытки;
Попытка
document = элементы.адресвесы2.Документ;
п = document.getElementsByTagName("frameset")[0].getElementsByTagName("frame")[0].contentWindow.document.getElementById("cu1") ;
Вес =Число(Стрзаменить(п.innerHTML, " kg", ""));
ТекущийВесБрутто2 =Вес;
Исключение
КонецПопытки;
КонецПроцедуры
Процедура вызывается 1 раз в 5 секунд и выполняется команда на javascript для получения значения текущего веса, которое отображается в рабочем месте автодиспетчера в ERP.
До интеграции весов Mettler Toledo с 1C, текущее значение веса выводилось на монитор автодиспетчеру через открытую страницу браузера.
От системного администратора я узнал, что в помещении насыпщика нет компьютера, а значит, есть какой-то неопознанный экран куда выводится сообщение "Нет связи с сервером".
В телефоне я нашел фотографию экрана монитора автодиспетчера, когда данные с весов выводились через веб-интерфейс на странице в браузера. Эта фотография была сделана во время обследования процесса работы автодиспетчера, еще до начала интеграции весов с ERP.
После диагностики я написал письмо начальнику отдела автоматизации производства о результатах (отсутствие проблем на стороне 1С или интеграции весов с ERP) и попросил проверить кабели, датчики и подключения. На что в ответном письме получил смайлик, который означал, что я написал глупости.
И краткий комментарий, что "Mettler Toledo это промышленные весы, очень надежные, а проблему надо искать на стороне 1С".
Неопознанный экран у насыпщика, отсутствие проблем на стороне 1С и поход в гемба
Неопознанный экран в помещении у насыпщика с надписью "Нет связи с сервером" не давал мне покоя, и я попросил системного администратора сходить на участок автоотгрузки и сфотографировать, как же выглядит помещение насыпщика и какие там установленные экраны.
Удивительные фотографии из гемба
Это может показаться банальным, но факт остается фактом. Вот такую картину я увидел, когда системный администратор прислал мне фотографии в вайбер из помещения насыпщика.
Что такое "гемба" (определение из Википедии)
Гэмба (яп. 現場 гэмба), гэнти гэмбуцу (яп. 現地現物, «наличный товар на местах») — обозначения подхода, характерного для японской управленческой практики кайдзен, согласно которому для полноценного понимания ситуации считается необходимым прийти на гэмба — место выполнения рабочего процесса, собрать факты и непосредственно на месте принять решение. В русскоязычной литературе обычно используются написания «гемба» и «генти генбуцу».
Меня заинтересовала стоимость этих интерфейсов и я нашел спецификацию на приобретение - 2800 евро за 1 настольный терминал.
Каким бы дорогим, качественным и надежным не было промышленное оборудование, все его преимущества обнуляются после вмешательства рукож@пых специалистов.
Стало понятно, что проблема "зависания" терминалов Mettler Toledo может быть связана проводами, которые держались на соплях и изоленте.
Чтобы подтвердить это предположение, на следующий день утром мы смоделировали ситуацию: машина заехала на весы, а системный администратор пошевелил провода. На экране появилось сообщение "Нет связи с сервером", а весы сразу "зависли".
Я попросил системного администратора вызвать дежурного сотрудника КИПиА и посмотреть, что именно тот делает для "перезагрузки" весы. Все оказалось намного банальнее, чем я представлял.
Примерно через 30 минут на весовую пришел сотрудник КИПиА, посмотрел на экран весов. Определил кабель, который идет от экрана к бесперебойнику. Подошел к бесперебойнику, вытащил кабель питания и вставил его обратно. "Перезагрузка" весов выполнена, и он ушел. Вот такую важную задачу годами выполнял "киповец".
Так какие у вас возникают ассоциации, когда слышите фразу "при зависании весов сотрудник КИПиА идет на участок автоотгрузки и перезагружает весовой терминал"?
На следующий день с директором завода была согласована остановка автоотгрузки на несколько часов для приведения в порядок проводов и подключений на весовой. Заодно в помещении у насыпщика начался косметический ремонт.
Еще пара фоток терминалов в процессе взвешивания
Проблема 2015 года с периодическим "зависанием" автомобильных весов Mettler Toledo решилась за 2 дня.
Мораль сей басни такова
Когда вы слышите проблему - словам не верьте, господа. Идите в гемба и смотрите, что происходит на местах.
Спасибо, что дочитали до конца!
В одной из следующих публикаций я расскажу про обследование процесса производства цемента и исследование данных, и какие системные ошибки (в технологии производства) удалось выявить и исправить.
Satyricon
Вай как у меня полыхнуло сейчас. Классика жанра - это у вас всё не работает. Начинаешь разбираться, а там на местах полный пипец.