fixik_papus: (Default)
[personal profile] fixik_papus
Очередной кусочек из повседневной-фабричной жизни.
Такие кусочки - самые веселые - всегда случаются при тестовых запусках оборудования после завершения ППР. Два раза в год, то бишь.
Потому что тут поковырялись, тут добавили, тут убавили - и понеслось...

Итак, при попытке тестового запуска цеха вылезла проблема, какой раньше ни разу за много лет не было:
Не запускается в работу осушитель второго холодильного туннеля формовки.
Контроллер его не воспринимает сигналы управления по Profinet (суть специфический протокол поверх обычного Ethernet) с главного контроллера, не ставит сигнал готовности, и так далее...
При этом контроллер выдает про осушитель какие-то странные цифры вместо параметров. И какой-то код ошибки, какого раньше никто не видел и в мануале не описан.

Без осушителя работать нельзя: печенюшки в тоннеле покроются сперва конденсатом, а потом плесенью.

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

Задачи:
1) БЫСТРО устранить проблему и запустить линию
2) (можно уже не так быстро) понять причины возникновения проблемы и дать рекомендации по ее недопущению в следующий раз.
Куда полезем? Что делать будем?

Чтобы дать намек на тему "куда копать" - предлагаю ознакомиться с прекрасным, но почему-то малоизвестным текстом на похожую тему от [personal profile] krylov
Поскольку блог тот объявлен закрытым и может пропасть - скопирую сюда целиком.



//repost begin

Читая блог[personal profile] golosptic, наткнулся на статью, которая меня, как бы это сказать… Не то чтобы заинтересовала. Скорее – «заскрипели ржавые скрепы в голове».
Статейка с Хабра про почтовые адреса. Перечисляющие проблемы, которые я решал в году 96-м примерно. Ну то есть до нашей эры.
А именно. Я занимался системами поддержки принятия решений (СППР). Технология, по которой тогда мы это делали, была – на тот момент – довольно-таки передовой. Сейчас всё это перестало быть актуальным: удавили как всё русское. Однако, повторяю, на тот момент это была не просто работающая, но и продаваемая система.
Так вот, мне пришлось строить классификатор по адресам. Классификатор в тех системах был устроен как древовидная структура, листьями которой являлись карточки со стандартной структурой полей, в которых значились реквизиты. Можно было делать множественные реквизиты двух уровней вложения (множественные внутри множественного) и ещё всякие штуки.
Так вот. Мне поручили простую вроде бы вещь: создать карточку для внутрироссийского (sic!) адреса. Не почтового – просто адреса. Но – для ВСЕХ вариантов. Заказчиками был ЧОП, которого интересовало, чтобы адрес можно было найти, скажем, по надписи на конверте. Или по внятному разъяснению. Или по нескольким невнятным. Но найти. А также учесть уже имеющийся адрес, с пониманием того, что это за строение такое, это им было тоже важно. И чтобы было известно, как этот адрес звучал раньше.
В общем, дали мне в помощники знающего человека и пару справочников, и я сел разбираться.
В принципе, многие вещи, связанные с почтовыми адресами, я знал – поскольку имел опыт массовой рассылки открыток в системе католожной книготорговли (т.н. «Книга-почтой»).
Соответственно, я знал, насколько важен индекс, что номера домов бывают невероятно причудливыми, что р-н указывать ну очень желательно, а также в чём разница между с., д., п. и п.г.т. (не удивляйтесь, из этих мест в некоторых случаях можно было выписать обратно в Москву довольно редкие книжки).

Так что тот факт, что номер дома – это ни в коем случае не число, а текстовая строчка, мне было понятно с самого начала. Правда, я-то знал, что бывают номера домов через дефис (типа д. 1-3), о чём авторы статьи на хабрахабре, похоже, не ведают. Равно как и о том, что адрес типа д. 11/1 может означать очень разные вещи – например, что это дом 11 строение 1, или что это корпус 1, или что это дом на пересечении улиц, и по одной из них он 11, а по другой – первый, а также и то, что этот дом ПРОСТО имеет номер 11/1, вот так его назвали он один как перст, а почему так называется – лишь один Бог ведает.

Равно как и то, что адрес типа 5-я ул. 70-летия Октября д. 13А корп. 5/1 стр. 7 кв. 12Б – это не бред сумасшедшего, а нормальный такой адрес. Как и тот факт, что физически этот дом может находиться совсем даже не на 5-й улице 70-летия Октября (так его нет, сколько по этой улице не бегай), а где-то в районе 2-го Старомаломолозивного переулка, который не дай бог перепутать со 2-м Старомаломолозивным проездом, который вообще на другом конце города. Этим меня уже удивить было сложно.

Как и тем, что бывают дома без улиц, например. Или что, пишучи в какую-нибудь отдалённое село, в некоторых случаях совершенно бессмысленно указывать дом (хотя формально он есть), а надо писать «село Верхняя Щельга, Кузьмичёву Василию Петровичу (агроному)». Потому что бывшего агронома, а ныне продавца в книжно-газетном ларьке при станции Василь-Петровича все знают, а то, что он проживает в доме 10, не помнит никто. Включая, может быть, и самого Василь-Петровича.
Но опытный товарищ, с которым я работал, раскрыл мне глаза на всю глубину моего невежества. Выяснилось, что реально я не знают ни-че-го. Потому что даже в жилфонде скрывались бездны. Например, всякие ужасы с номерами квартир – особенно в домах, где сохранились остатки коридорной системы, в общежитиях (особенно старых) и прочих таких местах. Или – что дом может иметь не только подвалы и чердаки (это-то я знал отлично, но что они ещё и нумерованы – нет, не догадывался), а также многочисленные пристройки, хозстроения, и все они имеют адреса, вплоть до трансформаторной какой-нибудь будки. Или, скажем, голубятни. У вас где ближайшая голубятня? У меня – рядом с домом.
Но это всё цветочки-лютики по сравнению со строениями неопределённого статуса. Например, бывшая армейская казарма, ныне общежитие. Она может вообще не иметь легальных реквизитов, потому что она и существовать-то не должна. А там, между прочим, живут живые люди, да и само строение представляет некую ценность. И вот такого всякого по России больше, чем мы можем себе представить. Причём всё это вроде бы даже кому-то принадлежит и по каким-то документам проходит, «но, чёрт возьми, как?!»
Но всё это меркло по сравнению с проблемой переименований. Реально любой адрес существует во времени, от такого-то числа по такое-то. Потом он может быть изменён, по миллиону причин, из которых переименование улицы – далеко не самая распространённая. Был дом 11/7, а стал 9Б. Почему? А вот так. Мой собственный дом превратился в результате какой-то химии из 4/6 в 4а. Хорошо хоть корпус не поменялся… Но это я имел в виду, так что с самого начала делал не карточку, а множественный связанный реквизит, завязанный на поле «промежуток времени». У меня хватило ума не встраивать проверку по временной шкале, а давать шкалам пересекаться, при этом вешая на них табличку с экспертными оценками достоверности.
Дальше я учёл, что изменения в официальных бумагах и почтовые адреса – разные вещи: одни бумаги поменялись, другие нет, а письма-то ещё долгонько ходить будут. И ввёл окошко «адрес по версии» с мультиокраской связи.
Тут дело пошло веселее, так как появилась возможность вводить неформальные адреса – то есть те, по которым дома реально ищутся. Добавив несколько полей, включая такие, как «цвет» и «этажность», я сделал возможным ввод адреса вида или «жёлтая девятиэтажка на Кислопрудной». Товарищ, с которым я работал, эти новведения чрезвычайно одобрил со словами «вот теперь я вижу, что от вас толк есть». Я обрадовался и ввёл реквизит связи «поблизости от» с возможностью протянуть его к какому-нибудь известному адресу. Реквизит связи тут же расцвёл красками: «за», «перед», «справа», «слева», «вверх» и «вниз». Небольшая доработка позволила вводить данные вида «по Хитроклювской третий дом вверх от магазина «Весна» (предполагалось, что адрес «Весны» известен).
Отдельной песней были наименования строений. Их оказалось ну очень много. Особенный ад разверзся вне городских пределов. Например: я и раньше знал, что дача, садовый домик и дом в деревне – это разные типы строений с разным правовым статусом, но опытный товарищ и здесь явил мне какие-то пропасти, недра и хиатусы, особенно связанные с хозяйственными строениями. Словарь рос как на дрожжах. Не помню, вводил ли я определение «халупа», но был близок к этому. Учитывая же, что тип строения мог меняться в зависимости от разного рода махинаций и манипуляций, получалось нечто монструозное. Но и это наша системка перемалывала.
То, что некоторые здания имели что-то вроде названий или личных имён – в том числе официально, особенно которые памятники архитектуры – тоже было ясно с самого начала, как и то, что имён может быть несколько. Я сразу вклеил атрибут «по версии», что позволило учитывать и неофициальные названия типа «старая химчистка» или «ну это, ну где была раньше шашлычная». Всё это было снабжено атрибутами времени и прочей обвеской.
Я ещё там что-то подклеивал и подпиливал, а под конец, учтя вроде бы уже всё мыслимое, всё-таки оставил большое текстовое поле, привязанное к идентификатору – для описания тех подробностей, которые моя тщательно выстроенная сетка не отлавливала.
Когда началась тестовая загрузка адресов, это поле понадобилось на втором же объекте. То был охраняемое данным ЧОПом помещение в подвале бывшего завода – древнее советское бомбоубежище, по неизвестным причинам замурованное, заново открытое в ходе приватизации этого самого завода и в итоге превращённое в склад. Ни о каком сколько-нибудь вменяемом адресе этого объекта речи и не шло, так как его вроде бы даже и не существовало в официальной природе. Можно было только объяснить, как до него добраться, причём все мои заранее заготовленные наработки были мимо кассы, ибо добираться до него нужно было по каким-то адовым подземным коридорам.
Так живая административно-хозяйственная жизнь в очередной раз посрамила интеллигентскую рефлексию, тщащуюся всё по полочкам разложить.

//repost end


Смею заверить, что если ограничиться только формальными почтовыми адресами (куда может доставить Почта России) - ситуация сильно легче не станет.
Если интересно кому - могу еще написать, и своих материалов "на тему", и переводных.

Но вернемся на производство, к неработающему осушителю. Полагаю, все уже поняли, что осушитель ни в чем не виноват? Как это "не поняли"?

У всяких-разных железяк на фабрике полным-полно адресов. В смысле, IP адресов.
Количество их на фабрике, наверно, больше 10000 (точно никто не считал, да оно еще и меняется). IP адреса есть у серверов, контроллеров, панелей, компьютеров в операторских и офисе, разнообразного железа от сервоприводов до особо умных датчиков, виртуальных машин для телесервиса, трубок внутренней WiFi телефонии, многих выключателей освещения (они у нас чипом в пропуске управляются), станков с ЧПУ в мехмастерской и так далее до касс в столовой и шлагбаума на проходной. Все это раскидано по сотням разнообразных подсетей (несколько из них класса B) с хитрозамороченной маршрутизацией и разнообразными правами доступа.

Как ни странно, в целом все это вполне хорошо и надежно работает.
Заведают всем этим хозяйством айтишники. Внутренняя структура и адресация сети относится к "красному уровню" промбезопасности и направо-налево не раздается.

Но в ППР подрядчики ставили в конце линии новый паллетайзер (раньше руками складывали).
У паллетайзера есть свой контроллер, однотипный с контроллером осушителя. (зачем однотипный? а затем, чтобы зоопарк контроллеров на складе и софта на программаторах не плодить)
Для интеграции в линию подрядчики, недолго думая, нашли первый попавшийся свободный IP адрес в подсети линии.
Как определили, что свободный? Не пингуется - значит, свободный.
Вот только осушитель во время "процедуры поиска свободного адреса" был физически обесточен, потому что там цеолитовый барабан меняли.

Паллетайзер получил тот же IP адрес, что и осушитель.
При включении питания линии он установил соединение быстрее (ну так вот получилось) и "забрал себе" адрес осушителя.
Осушитель, соответственно, отвалился от сетки.

Наладчик с программатором подцепился к сетке через коммутатор в главном шкафу управления.
Что видим? У главного контроллера все хорошо, с данным адресом он связывается.
У контроллера паллетайзера тоже все хорошо.
У контроллера осушителя все плохо, но чтобы это увидеть - нужно физически залезть с программатором по трапу на чердак, где живет осушитель, и подключиться там к контроллеру мимо коммутатора.
Контроллер линии считает сетевые телеграммы от паллетайзера - телеграммами от осушителя - и, разумеется, выдает про осушитель полный бред.
А про паллетайзер контроллер вообще не знает, потому что общение с паллетайзером по сети в него еще не прописали, не успели и отложили "на потом"...

На самом деле это все дольше писАть, чем делать.
Выдергиваем сетевой хвост из паллетайзера. Дергаем в распредщите питание осушителя (это не очень хорошо, зато быстрее, чем лезть на чердак с программатором и перезагружать оттуда), связь с ним восстанавливается, все ошибки исчезают и линию можно запускать.
Теперь, пока продукт не доехал до паллетайзера, есть полчаса чтобы связаться с айтишниками и получить от них РЕАЛЬНО свободный IP адрес (да, я в курсе что ты в столовой. Но мне надо вот прям сейчаc. Сильно надо, очень сильно.). Прописать его в настройки контроллера паллетайзера и перезагрузить контроллер его. Все, инцидент исчерпан.

А на будущее - во все шаблоны договоров подряда и техзаданий с подачи технической службы внесли пункт "категорически запрещается подключение каких-либо устройств любыми способами к фабричной сети без письменного согласования со службой IT".

Посему - в точности такой проблемы больше не будет. Что никак не исключает проблем других, не менее "веселых"...
From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

fixik_papus: (Default)
fixik_papus

September 2017

M T W T F S S
    123
45678910
11 121314151617
18 192021222324
252627282930 

Style Credit

Expand Cut Tags

No cut tags
Page generated 24 Sep 2017 22:59
Powered by Dreamwidth Studios