fixik_papus: (Default)
fixik_papus ([personal profile] fixik_papus) wrote2016-02-16 12:11 pm

Я полагал, что меня уже ничем не удивить...

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

На фото - "инструкция для оператора", прилепленная скотчем ВНУТРИ шкафа котельной автоматики.

reset.jpg

Крупнее можно посмотреть тут, а по листочкам - раз два.

Для не-специалистов: это инструкция по перезагрузке контроллера, при помощи переключателя на нем.
Зачем операторам его перезагружать? А затем, что контроллер у них там "виснет" несколько раз на дню.

До-перезагружались до того, что... (прошу крепче держаться за стул)
... что сломали переключатель.
Который совершенно не предназначен для постоянного-ежедневного использования.
(шепну на ушко по секрету: переключатель этот, при наличии мозгов, вообще не нужен. Я даже не помню, где и когда им пользовался крайний раз, хотя с трехсотым Сименсом имею дело постоянно-ежедневно)

switch.jpg

Выступ слева от переключателя предназначен, чтобы случайно его не переключить.
Потому что не-плановый останов контроллера, мягко говоря, это ЧП.


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

После чего эксплуатирующая организация впала в полное отчаяние от безысходности, и обратилась за помощью для починки переключателя сброса наведения хоть какого-нибудь порядка в автоматике....

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

Я сунулся в программу. (Выгруженную из контроллера. Исходников, разумеется, нет).
Обнаруженное там быстро привело меня к однозначному вердикту:

Этот мир эту программу уже не спасти отлаживать бесполезно. Господь, жги! Нужно сделать заново.

Что я, собственно, и сделал.
(На текущий момент отработали уже полгода. Как говорится, без замечаний.)

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

Технические подробности, кому интересно:
- обработчики исключений отсутствуют в принципе. Даже в виде "заглушек". Да и в самом деле, зачем с ними заморачиваться?
- что-то зачем-то делится на уличную температуру. Что и зачем - я так и не понял (старый стал, мозги не варят уже). Конечно, уличная температура бывает и нулевой... но ведь далеко не всегда!
- минимум для четырех (дальше лень было искать) команд выделения фронтов FP, FN используется один общий меркер. Память же нужно экономить, в 315 контроллере всего-то 2048 меркеров!
Update: это байт 2048, а меркеров 16384. Спасибо muzzy0 за уточнение.

Возможно, там было еще много чудесатых чудес.
Но разбираться дальше и тратить свое время зря я уже не стал....

Как все это сдавалось (и принималось!) в эксплуатацию в таком виде?
Не спрашивайте. Не знаю.

P.S. Одно я знаю точно: работать, скажем, инспектором по газу, мне категорически противопоказано.
Очень скоро подрядчики - прибьют прямо где-нито в темном углу объекта.
Я ж буду требовать, чтобы все было по уму сделано...

[identity profile] 185800.livejournal.com 2016-02-16 09:17 am (UTC)(link)
Делить на забортную температуру - это любопытно :)

[identity profile] fixik-papus.livejournal.com 2016-02-16 09:19 am (UTC)(link)
У кого-нибудь есть идеи, ЗАЧЕМ это вообще может потребоваться?
Там что-то насчет расчета погодозависимого графика... но он совсем не так считается!

[identity profile] lazy-flyer.livejournal.com 2016-02-16 09:24 am (UTC)(link)
Слова-синонимы:
- инженер
- программист
- журналист
- проститутка
- дебил.

На основании чтения ЖЖ и комментариев.

[identity profile] gray-bird.livejournal.com 2016-02-16 09:24 am (UTC)(link)
Я с полгода назад отколупывал кусочек пластика, который был приклеен на суперклей, чтоб удерживать кнопку "сброс ошибки" в нажатом положении. :)
Долго не мог понять, почему контроллер не реагирует на ошибки приходящие с датчиков и вообще, странно работает. :)

[identity profile] antontsau.livejournal.com 2016-02-16 09:25 am (UTC)(link)
ну, афтырь наверное пытался сделать какой-то аппроксиматор. Типа отношение температуры в помещении к температуре на улице с некоторым коэффициентом вводит поправку на скорость качания насосами... бывает, когда поциенты вообще не соображают что они творят.

[identity profile] gray-bird.livejournal.com 2016-02-16 09:26 am (UTC)(link)
Интересно, там арифметика по модулю или в Кельвинах?
Потому как если что-то делить на +1 и -1 оно совсем разное получится, а по сути одна фигня.

[identity profile] kamikadze1993.livejournal.com 2016-02-16 09:33 am (UTC)(link)

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

[identity profile] fixik-papus.livejournal.com 2016-02-16 09:36 am (UTC)(link)
Клей - это неправильное решение проблемы

Нужно врезать в шкаф спец. переключалку для этой цели!

Перенимайте опыт!



http://fixik-papus.livejournal.com/11126.html
Edited 2016-02-16 09:37 (UTC)

[identity profile] fixik-papus.livejournal.com 2016-02-16 09:37 am (UTC)(link)
четвертый пункт, кажется, лишний :)

[identity profile] 185800.livejournal.com 2016-02-16 09:38 am (UTC)(link)
А если за бортом - такой себе НОЛЬ?! ;)

[identity profile] gray-bird.livejournal.com 2016-02-16 09:38 am (UTC)(link)
Не-е, переключалка - требует персонала, а клей работает автономно, даже в полностью безлюдном состоянии!

[identity profile] gray-bird.livejournal.com 2016-02-16 09:39 am (UTC)(link)
Для этого в шкафу висит бумажка, как действовать персоналу, если контроллер упал. :)

[identity profile] lazy-flyer.livejournal.com 2016-02-16 09:40 am (UTC)(link)
Не. Очень на месте. Кратко демонстрирует этическую сторону и отношение к финансам.

[identity profile] klapaucy.livejournal.com 2016-02-16 09:40 am (UTC)(link)
Напоминает анекдот, в котором русский с двумя железными шарами, один сломал, а второй потерял :)))

[identity profile] 1500py470.livejournal.com 2016-02-16 09:41 am (UTC)(link)
http://1500py470.livejournal.com/35287.html У меня некое дитя гор слоиало, увидев как я переводил S7-300 в STOP перед тем как разблокировать застрявший сварочный штамп в упаковочной машине. Это действие он не понял с чем связано, н решил видимо, что это страшная военная русская тайна про которую ему не говорят (это дитя задало в параметрах на панели оператора длину упаковоемого предмета 0 мм! и сварочный штамп усиленно лупил коробки пока не застрял) В следующий раз очевидно когда меняли размер изделия он полез в шкаф и сломал переключатель. Потом когда панель оператора по причине кривого немецкого монтажа (Швабские Альпы., они такие швабские…) потеряла связь по профибас и контролер повис для меня это было большим сюрпризом.

[identity profile] lazy-flyer.livejournal.com 2016-02-16 09:42 am (UTC)(link)
Это был поляк.

[identity profile] fixik-papus.livejournal.com 2016-02-16 09:45 am (UTC)(link)
Ничего страшного
Если используется кусочно-линейная аппроксимация - то забортная температура фигурирует в операции вычитания, а если полиномиальная - то умножения.
no problems

[identity profile] fixik-papus.livejournal.com 2016-02-16 09:47 am (UTC)(link)
Опытные, специально обученные операторы - перед тем как идти к шкафу, смотрят на градусник и дожидаются, пока на улице слегка потеплеет или похолодает :)

[identity profile] 1500py470.livejournal.com 2016-02-16 09:47 am (UTC)(link)
Ну тебе повезло не отковыривать винты посаженные на суперклей английскими джентельменами на ВШРА дабы студенты и/или индусы не меняли настроек. Да они один раз в неделю четыре года подряд делали свои брошюрки все одного размера, но вот на Русси захотелось странного, размер поменять :(( Ежей мучает вопрос, может по этой причине её так дёшево продавали?

[identity profile] dennis_chikin.livejournal.com 2016-02-16 09:48 am (UTC)(link)
Вот теперь я понял, для чего нужен тип inf !
Осталось еще понять назначение типа no data.
Edited 2016-02-16 09:48 (UTC)

[identity profile] 185800.livejournal.com 2016-02-16 09:51 am (UTC)(link)
Вы же сами пишете "что-то зачем-то делится на уличную температуру". За бортом ноль - делим на ноль, не так ли?

[identity profile] fixik-papus.livejournal.com 2016-02-16 09:52 am (UTC)(link)
Что-то какая-то чудная у Вас машина...

Обычно перед влезанием-ковырянием внутри нужно нажать аварийку и открыть дверь.
Любое из этих действий вырубает все нафих по цепям безопасности.
Контроллер-то в стоп зачем?

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

А уж останов контроллера по потери связи с панелью - это вообще непонятно зачем.

Если гарантия кончилась - нужно поковыряться - пофиксить все это.
(затраченное время на багфиксы - с лихвой окупается экономией времени на "пару раз в день сбегать в цех, завести машину и объяснить новому оператору что вот так делать не надо")

Я вот прям сейчас подобным мероприятием занимаюсь... но это будет отдельный рассказ с техническими подробностями

PS
а переключатель этот чинить вообще незачем ибо он вообще не нужен при эксплуатации

[identity profile] 185800.livejournal.com 2016-02-16 09:52 am (UTC)(link)
Или аккуратно подносят к градуснику/датчику зажигалку :-)))))))

[identity profile] fixik-papus.livejournal.com 2016-02-16 09:53 am (UTC)(link)
Первое правило при пуско-наладке систем жизнеобеспечения:
всегда держите в уме ситуацию "сброс нажать некому"...

[identity profile] fixik-papus.livejournal.com 2016-02-16 09:54 am (UTC)(link)
Это в той чудо-программе делится
И я ума не приложу, ЗАЧЕМ

Page 1 of 6