fixik_papus: (Default)
[personal profile] fixik_papus
Взято отсюда с разешения автора
Справедливости ради отметим, что это - этап R&D, альфа-тестирование, но тем не менее
Орфография и пунктуация сохранены авторские, посему положено поставить значок "18+"

---------------
Меняют танкисты гусеницу у танка.
А тут к ним подлетает фея и спрашивает:
-А, что это вы тут делаете?
-Е-ся.
-А по настоящему хотите? - спрашивает фея.
-Конечно хотим!- закричали танкисты.
Взмахнула фея своей палочкой и... у танка отвалилась башня.


Поступило предложение от поставщиков, сменить серво-драйверы, на драйвера следующего поколения. Они типа лучше, дешевле, и в них полно всяческих фитчеров и самое главное полностью совместимы со старыми.
Я конечно не был в восторге такого предложения, на кой мне такой головняк, менять что-то проверенное, на что-то не проверенное, но и чётких аргументов, почему нет, у меня не было. И хоть моя интуиция не сулила мне ничего хорошего, но интуицию к делу не пришьёшь.

Для не специалистов, серво-драйвер - это такая штуковина которая умеет крутить серво-мотор.
Дарайвер сидит на шине EtherCat, по нему он получает от компьютера каждую миллисекунду команду куда ему ехать, и возвращает в компьютер реальное положение мотора и состояние его периферии цифровых и аналоговых входов и выходов, и ещё к нему можно подсоединить второй энкодер со входом заморозки.
Всё, это самая минимальная конфигурациям, самый, что ни на есть стандарт, никакими наворотами я там пользоваться не собирался, а посему решил, что всяческих баги в навороченных фитчерах (которых там должно быть как мух в навозной куче), мне не помешают. И тут начался 3.14-здец, причём 3.14-здец много ступенчатый.

3.14-здец N1. Кабели.
В новом драйвере, есть новая система подключения энкодера. Она очень навороченная, она поддерживает десятки вариантов подключения, различных типов энкодеров, даже таких о которых я никогда не слышал.
Нет только одного варианта подключения - так как на старом драйвере. Блядь драйвер предназначенный для замены старого и требует переделки всех кабелей. Это дравйвер относительно легко меняется в шкафу, а вот кабели, они проложены внутри машины, их вытащить, перепаять и проложить наново - это ещё та задача.

3.14-здец N 2. Скорость.
Выяснилось, что с новым драйвером мотор работающий на 1000 [RPM], начинает сходить с ума на 460.
Причём 3.14-доры из технической поддержки долго заявляли, что у них всё работает.
Твою мать, это что, какой-то хитрый наворот. Просто берешь любой мотор с таким же энкодером и смотришь на 460 он работает, а на 470 уже сходит с ума.
В конце-концов я уже допёр, что криворукие уроды не могут работать с энкодерами высокой резолюции, просто потому, что кто-то в коде под дельту выделил 16 бит, вместо 32 и на 463 [RPM] происходило переполнение. Уже когда я им написал, что и где искать, мне прислали новую версию для прожига.

3.14-здец N 3. Температура.
Карточка EtherCar начала греться и вылетать при работе сообщая, что у неё "Over tempature".
После долгой переписки мне прислали новую версию для карточки, где они подняли уровень определения ошибки. После этого карточки конечно падать не перестали, но зато вместе сообщена "Over tempеrature", появилось сообщение "Communication failure".

3.14-здец N 5.Communication failure.
Даже после нескольких версий карточки, периодические крешы не прекратились, хотя и стали реже.
Очередной маил расставил всё точки над i.
Фирма обещала 4 PDO (пакетов даты отправляемой по EtherCat) по 12 переменных, и один на 32 переменных, фактические работал только один PDO на 12 переменных. Остальные пока не поддерживаются, но всё бы ничего, если бы мне не сказали, что ни в коем случае нельзя передавать положение экодера и аналогового входа в одном PDO, блядь он у меня всего один.
Т.е. аналоговый вход есть, его можно откалибровать, прочитать, но нельзя передать его значение в компьютер.

3.14-здец N 6. Encoder freeze.
Разобравшись с 3.14-здецом N 5, путём использования внешнего АЦП другого производителя, я столкнулся со следующей проблемой.
Вход заморозки энкодера (Эта такая штука которая при подаче не неё сигнала должна "заморозить" значение энкодера в специальном регистре) с точностью 40 нано секунд, на самом деле работает с точностью +-500микро секунд, т.е. в 12,5 тысяч раз хуже обещанного.
Для тех кто не понимает, что это такое объясняю на примере.
Если объект двигается со скоростью 5[м/сек], то его положение можно зафиксировать с точностью 0.2 микрона, при точности заморозки 40 нано секунд, а если точность 500 микро, то ошибка составляет 2.5 миллиметра.
Твою мать - это единственная функция этой карточки. Как вы её проверяли. Теперь пишут, что мол подожди новой версии которая возможно выйдет в конце марта.

3.14-здец N 7. Ethernet failure.
Это вообще самый 3.14-здецовый 3.14 -здец. Просто потому, что он вообще ломает всю картину мира и золотой принцип - не трогай г-но, вонять не будет.
Нет я понимаю, что в драйвере есть итернет соединение, но я им не пользуюсь, от слова совсем, там даже кабелей нет.
Во время работы вдруг посыпались сообщения о проблемах с итернетом.
Очередная версия от фирмы производителя, которая должна решить проблему с девайсом который мне вообще нафиг не нужен.

Update.
3.14-здец N6. Продолжение.
Прислали новую карточку энкодера.
Баг починили, латч работает правильно и с заданной точностью, но зато вернулсяй 3.14-здец N5 .Communication failure.
У меня непроходящее желание взять ихнего программисте и бить его ногами, до тех пор пока он не поймёт, что в прерывании от энкодера, только копируют регистры, а обработку данных делают в свободное время или в прерывании более низкого преоретета чем EtherCat.

И это, только очень серьёзные косяки, которые не возможно объехать никакими ухищрениями.
В общем, знакомьтесь

Date: 17 Dec 2015 15:51 (UTC)

From: [identity profile] muzzy0.livejournal.com
А, вот кто хозяин велосипеда :)

Разумное решение. Хотя, после таких какашек я бы вообще подумал - а не сменить ли поставщика :)
Date: 17 Dec 2015 16:53 (UTC)

From: [identity profile] aviator9298.livejournal.com
Мы это http://m.landanano.com/
Имя производителя драйвера видно на картинке CT / Emerson.

А вот поведение дистрибьютера оправдано, чем дольше мы протрахаемся с их железом, тем меньше вероятность того, что захотим его сменить, а-ля призывая игра, но это конечно если оно в конце-концов заработает как надо.
Date: 17 Dec 2015 19:00 (UTC)

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

PS Я правильно понимаю, что это на Земле Обетованной? :)
Date: 17 Dec 2015 19:50 (UTC)

From: [identity profile] aviator9298.livejournal.com
1. Рискуют, конечно, но у них иначе вообще никаких шансов не было.
2. Ага. :)
Date: 17 Dec 2015 20:02 (UTC)

From: [identity profile] muzzy0.livejournal.com
Или я что-то не понимаю, или такое качество и есть отсутствие шансов. Или, что называется, "на фоне общей тупости"? :) В смысле - другие ещё хуже?
Date: 17 Dec 2015 20:51 (UTC)

From: [identity profile] fixik-papus.livejournal.com
В мире есть вполне нормальные сервосистемы, в том числе и с EtherCAT/SERCOS-3 что суть одно и то же
Date: 19 Dec 2015 06:19 (UTC)

From: [identity profile] aviator9298.livejournal.com
Там была своя история.

Первый протоип был построен на драйверах СТ, но без центрального PLC, вся ппрогамма бежала на самих драйверах. (Код написан на языке SYPT и драйвера связаны сетью CT-Net, что тоже изобретение CT, ни с чем более не совместимое).
Такая архитектура подходит для простых аппликаций: одна ось, полторы (master-slave), ну или максимум две, при условии, что нет большой различиной переферии.


В первуй очередь мне проишлось менять архитектуру, минимально трогая железо и при этом оставляя возможность отктиться назад (это уже требование начальства).
Т.е. самое очевидное решение это было добавить к каждому драйверу карточку EtherCat и PLC, и перетащить всю логику на центральный PLC.

После этого католичиеский брак с СТ был расторгнут, и встал вопрос о том, что можно бы и сами драйвера сменить на более современные, тут поставщики CT и заявились со своим новейшим чудом техники, если бы они не рискнули, то я бы уже давно поставил, что-то другое: или Yaskawa Sigma-7, или Beckhoff или Шнайдер.
Date: 19 Dec 2015 06:34 (UTC)

From: [identity profile] fixik-papus.livejournal.com
Только не Elau!
(это тоже Шнайдер!)
Date: 19 Dec 2015 08:16 (UTC)

From: [identity profile] aviator9298.livejournal.com
Частотники, у нас шнайдеровские, никаких нареканий на них нет, но там всё очень примитивно.
А, что с Elau не то?

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 17 Jun 2025 01:20
Powered by Dreamwidth Studios