fixik_papus: (Default)
[personal profile] fixik_papus
Вот прям свеженькое, только из цеха пришел...

Есть некая машина. У машины есть инструмент, а у него вертикальный привод с сервомотором, редуктором и зубчатым ремнем.
Чтобы не поломать инструмент при всяких нештатных ситуациях - на инструменте есть специальный датчик "перегрузки".

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

А вот дальше...

Ремень поменяли. Инструмент вручную вывели вверх. А ошибка - не скидывается. Никак. Хоть застрелись.

Лезу в "мозги". И что у нас там наблюдается?
Условие сброса "ошибки перегрузки инструмента" - освободить датчик И поднять привод в позицию базовую или выше
(по виртуальному кулачку).
В процессе ремонта питание машины отключали -> сервомодуль актуальную координату инструмента потерял.
Соответственно, виртуальные кулачки не работают.

При включении - "потерявшийся" сервопривод ищет свою позицию (и находит по специальному датчику.)

Но! "Ошибка перегрузки инструмента" - блокирует перемещение сервопривода, и "найти себя" он не может.
А без поиска начальной точки "ошибка перегрузки инструмента" не снимается.

Ну и чего прикажете делать? Отправлять машину в сборе на завод-изготовитель?
Изготовитель этот - данную ошибку хоть раз тестировал?

Ладно, придется применить к контроллеру "жесткие репрессивные меры".
Скинуть меркер ошибки с программатора. Все завелось, нашлось и заработало.
Но без программатора-то как быть? Сервис вызывать?

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

P.S. отдельная порция лучей поноса отправляется итальянским погромистам за то, что контроллер они сделали в Step7, а панель в TIAportal
Совершенно разные системы, вообще говоря.
Из-за чего в сторону этой машины - нужно ходить с ДВУМЯ программаторами...
И так вот запросто это не исправишь.
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>
Date: 14 Feb 2016 13:39 (UTC)

From: [identity profile] aviator9298.livejournal.com
Кстати проблемма классическая. Когда при включении система просыпается с ошибкой.
Как правило, требуется очень хитрая rocovery процедура с инициализацией внутри самой процедуры. Программист может этот баг и видел, но вот как победить не придумал.
Абсолютные энкодеры рулят, тем более, что стоят они всего-то на три копейки дороже.

Date: 14 Feb 2016 13:42 (UTC)

From: [identity profile] gray-bird.livejournal.com
Сымитировать путем подачи на датчики правильной последовательной картинки из ступора мозги бы не вывело?
Типа в момент пуска датчик говорит, что инструмент стоит на точке ноль, значит все хорошо.
Date: 14 Feb 2016 13:47 (UTC)

From: [identity profile] fixik-papus.livejournal.com
В случае обрыва ремня или иного повреждения механики - абсолютный энкодер тоже ничем не поможет. Положение "в мозгах" будет отличаться от актуального.

Обойти же данную конкретную ошибку в данном конкретном случае элементарно.
При наличии ошибки, но физическом освобождении датчика - запрещать рабочее перемещение привода (то бишь запуск машины), но разрешить инициализацию и поиск референсной позиции.

В более сложных случаях (несколько приводов хитро завязаны друг на друга, и могут друг друга поломать) - разрешить ручное референсирование на малой скорости.
(то бишь - движение привода вручную, пока позиция не найдется).
Date: 14 Feb 2016 13:48 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Нет
Там проверяется фронт сигнала с датчика референсной позиции, и только при движении в одну сторону

Что, вообще говоря, совершенно правильно.
Иначе можно ошибиться с позицией на несколько мм.

Date: 14 Feb 2016 13:54 (UTC)

From: [identity profile] gray-bird.livejournal.com
Ошибки в долговременную память пишем, а положение инструмента в оперативную?
Прикольно.
Интересно, по логике в положении "ошибка по перегрузу" он продолжает читать датчик перегруза?
Тогда решение очень простое. При поднятом инструменте, подаем на привод питание, чтоб инструмент поехал вниз и поймал клина для срабатывания датчика. После чего по штатной схеме вывести мозги из ступора.
Date: 14 Feb 2016 13:57 (UTC)

From: [identity profile] fixik-papus.livejournal.com
В трехсотом Сименсе - ВСЯ память долговременная, если не принять специальных мер (в настройках железа либо в программе) для ее обнуления (ну или замусоривания, если очень хочется)

А положение привода живет в сервоконтроллере и долговременным быть не может по определению, т.к. энкодер инкрементальный.
Date: 14 Feb 2016 14:02 (UTC)

From: [identity profile] lazy-flyer.livejournal.com
Да, сэкономили на стартовой калибровке позиции. Известная проблема, не только в станках. :))
Date: 14 Feb 2016 14:07 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Как раз не сэкономили.
Там и процедура соответствующая имеется в программе, и датчик - в наличии.

А вот про обработку аварийных ситуаций - недодумали.
Date: 14 Feb 2016 14:11 (UTC)

From: [identity profile] lazy-flyer.livejournal.com
Там и процедура соответствующая имеется в программе
Прогон по оси в крайние положения при старте?
Date: 14 Feb 2016 14:16 (UTC)

From: [identity profile] wehrw0lf.livejournal.com
Итальянцы они такие, жгучие.
У меня были на итальянском оборудовании PLC Siemens, а панели оператора B&D. И софт для этих панелей (Zenon) вообще не такой как WinCC (.
И ситуации были разные. Както начал выделываться палетайзер - недокладывать слои на паллету, иногда. На входном конвейере у него есть счетчик зашедших паков, количество паков в паллете известно, ит.д. Я, соотвественно, первым делом полез проверять все ли в порядке с этим счетчиком, ибо в моем понимании полная паллета- это заданное количество паков= вошедшему количеству паков.
Оказалось в итоге что данные с этого счетчика только выводились на панель оператора,в программе, в роли условия, вообще не используясь.
Это было неожиданно o_O.
Что оказалось по итогу:
Паллета заполняется в несколько слоев. Каждый слой формируется на ковейере и толкателем перемещается на паллету. Количество слоев задано в рецепте для каждого формата тары.
В роли признака формирования слоя был взят датчика кулачка толкателя слоя- при возврате кулачка датчик срабатывал и счетчик слоев инкрементировался .
В какой-то момент механики полезли в механизм толкателя , чего то там порегулировали, и в итоге каким то образом, датчик кулачка иногда давал вместо одного импульса целых 2. И соответсвенно счетчик слоев тоже увеличивался на 2, при фактически уложенном одном слое.
Date: 14 Feb 2016 14:56 (UTC)

From: [identity profile] greycygnet.livejournal.com
Есть мнение, что ситуация с HMI случилась по вине сумрачного немецкого гения. Если мне не изменяет склероз, то Siemens пару лет назад закрыл линейку на WinCC flexible.
Date: 14 Feb 2016 15:05 (UTC)

From: [identity profile] konst90.livejournal.com
Итальянские программисты забавные.
Работаю с разрывной машиной от Galdabini, например. Полбеды, что в комплекте нет никакого языка программирования, и настраивать приходится через ужасный интерфейс. Хуже, что датчик силы запаздывает от датчика перемещения, и на малых амплитудах он дает огромные относительные забросы. Но вот то, что они не прописали порядок арифметических действий, и 2+2*2 для него будет 8 - это за гранью просто.
Date: 14 Feb 2016 15:09 (UTC)

From: [identity profile] wormball.livejournal.com
> по виртуальному кулачку

В более сложных алгоритмах, видимо, должны быть виртуальные мальчики на побегушках.
Date: 14 Feb 2016 15:20 (UTC)

From: [identity profile] mef-.livejournal.com
А два программатора-то зачем ? Портал и классика прекрасно уживаются на одной машине.
Date: 14 Feb 2016 15:46 (UTC)

From: [identity profile] kyodza.livejournal.com
Как то работал с системами NC-200 от БалтСистем. Она тоже, оказывается, копия какой то итальянской системы. Так наши программисты прописали некий режим, который можно выбрать при загрузке системы. И в этом режиме можно было двигать оси не смотря на любые сигналы. Это было как раз сделано для того, чтобы оси снимать с концевиков.

На тех станках стояло по два кулачка на осях - нулевой и аварийный, и еще несколько десятков мм для выбега свободный ход. Иногда с размаху проскакивали оба при ускоренной подаче на G00. Причина - Заказчик сэкономил деньги и заказал дешевые чебоксарские приводы, а они отчего то не очень подружились с югославскими моторами и тахогенераторами...
Edited Date: 14 Feb 2016 15:57 (UTC)
Date: 14 Feb 2016 15:49 (UTC)

From: [identity profile] vlkamov.livejournal.com
Датчики перемещать или обманку какую подсунуть ?

А вообще, бывают же наверное и приятные случаи, когда налаживать/ремонтировать удобно. Как это устроено и что предусмотрено.
Date: 14 Feb 2016 16:00 (UTC)

From: [identity profile] nemez-06.livejournal.com
Купил знакомый обыкновеную циркулярку у итальянцев. Сэконмить решил. Скупой платит дважды. Никогда не видел столько мелких недоработок. В первую очередь на лгических нестыковках. Типа описаных вами. сказал никогда больше не пойду к ним покупать технику. Пицу они готовить умеют но технику нафик нафик.
Date: 14 Feb 2016 16:09 (UTC)

From: [identity profile] modest-so-zvezd.livejournal.com

Теперь жди джобофера из Италии!

Date: 14 Feb 2016 16:43 (UTC)

From: [identity profile] aviator9298.livejournal.com
От обрыва не спасёт, а от процедуры инициализации на раз. А потом придётся выставить ноль на ново.
Date: 14 Feb 2016 17:10 (UTC)

From: [identity profile] fixik-papus.livejournal.com
В ручном режиме в сторону "прочь от концевика" приводы обычно можно двигать без каких-либо извращений

Но да, сколько программистов - столько и способов че-нито изобрести :)
Date: 14 Feb 2016 17:12 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Да, по старту машины или кнопочкой в ручном режиме
Только не в крайние положения, а до референсного датчика
(аварийные концевики обычно слишком грубы для референсирования, у индуктивного датчика воспроизводимость позиции срабатывания куда лучше)
Edited Date: 14 Feb 2016 17:13 (UTC)
Date: 14 Feb 2016 17:14 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Вы совершенно правы

Однако ж - что мешало сделать все на TIAPortal?
Мне бы было тупо лень ручками таскать тэги из проекта в проект :)
Date: 14 Feb 2016 17:16 (UTC)

From: [identity profile] lazy-flyer.livejournal.com
Тем более непонятно, почему одно с другим не связали. В очередной раз подтверждается аксиома: прогеры - косорукие дебилы.
Date: 14 Feb 2016 17:17 (UTC)

From: [identity profile] fixik-papus.livejournal.com
обратная польская нотация, ничего удивительного
часто встречается на процессорах со стеком аккумуляторов

вот такой кусочек в STL/IL точно так же даст 8
L 2
L 2
+I
L 2
*I
Date: 14 Feb 2016 17:18 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Не совсем

prosave от Step7 и TIAP на одной машине не живут.

А также с flex проблемы непонятного рода

Впрочем, наверняка все это можно пофиксить, но нам привезли 2 программатора чисто с TIAP
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

Profile

fixik_papus: (Default)
fixik_papus

January 2023

M T W T F S S
      1
2345678
9101112131415
16171819202122
232425262728 29
3031     

Style Credit

Expand Cut Tags

No cut tags
Page generated 5 Mar 2026 00:33
Powered by Dreamwidth Studios