Совместная разработка системы ЧПУ.

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение MX_Master »

aftaev писал(а): 01 янв 2023, 19:01
MX_Master писал(а): На панели управления - обычный LinuxCNC c интерфейсом gmocappy. Импортозамещение идёт полным ходом
Платы, сервопривод который кушает многое из датчиков видел? Ты наверно не в курсе что делает DP Lab.
Платы, драйвера и сервоприводы делать гораздо проще, чем системы управления. Поэтому платы могут быть свои (ещё не факт, что не китайские), а система управления, неожиданно, не своя. И я не удивлюсь, если исходники будут закрыты (несмотря на лицензию). Прямо как в недавнем полностью отечественном проекте с GRBL на борту. Вырезали корпус из дюрали и напечатали пару кнопок на принтере, ну, молодцы, похвально. Для прототипа пойдёт. Тачскрин на экране станка без дублирования кнопок физически - сомнительное решение. Для ЧПУ гиков? Судя по всему, и цена в итоге будет космической, не для простых роботяг. Но, в любом случае, желаю ребятам удачи и успехов в работе.
гражданинъ писал(а): Ну ты дунул ! А плащи с капюшонами и геральдикой на спине не в счёт? Тут совсем другие силы действуют !
Да-да, сразу в глаза бросилось, но я решил остановится только на технической части. Кто там, в каких плащах и с какими волшебными палками ходит, неважно. Магия сразу пропала, стоило только обнаружить на "отечественной" панели "LinuxCNC, которая постепенно дорабатывается".
AuDin
Новичок
Сообщения: 15
Зарегистрирован: 22 мар 2023, 01:33
Репутация: 1
Настоящее имя: Дмитрий
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение AuDin »

Добрый.

Хочу попробовать свои силы в написании своей CNC панели/программы (как бы пафосно это не звучало :) )
И да - огромный объем работ я себе представляю.

Но привязаться хочу не к конкретному контролеру - а к протоколу EtherCAT.
В последнее время идет взрывное появление новых контроллеров под него.
И цены опустились до вполне приемлемых значений.
И если год назад контроллеры были только от именитых игроков за невменяемые деньги - то сейчас, например:
Например плата Вода-Вывода на 16 in /16 out по EtherCAT можно найти за 7000 руб.
Плату управления шаговыми драйверами по EtherCAT (к которой можно подключить обычные драйверы шаговиков) на 6 осей - 16000 руб.
Драйвер на шаговик с экодером сразу по протоколу EtherCAT - 8000 руб.
Т.е. цены вполне реальными для недорогих станков становятся.
И я уверен что они еще больше опустятся.

И собственно сам вопрос:
Может кто у кого есть и кто может поделится информацией/документацией по протоколам:
- EtherCAT (файл "EtherCAT_Communication_EN.pdf" который лежит на ethercat.org)
- и документацию на "CiA 402" (управление сервоприводами через CAN_open)
Или кто знает где ее можно взять?
В свободном доступе ее как понимаю нет :(

Ну и кто сможет проконсультировать по управлению серводрайверами через CAN_open - буду благодарен, и даже могу оплатить консультацию.
Duhas
Мастер
Сообщения: 1949
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 284
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Duhas »

Сколько платите ? ))

ПС дома архив лежит, я думаю есть все что нужно, хотя все в свое время вытянуло из сети, осталось не забыть заглянуть сюда из дома.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение MX_Master »

На руси всегда был один порядок - кто-то один рулит, остальные выполняют. Так что, совместная разработка отдыхает
Duhas
Мастер
Сообщения: 1949
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 284
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Duhas »

Да Дмитрий вроде не просит участвовать в разработке, а помочь советом и доками.. это в целом можно.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение MX_Master »

И как это всё относится к совместной разработке, не совсем понятно :)

Про идею с EtherCAT в данное время могу сказать только одно, оно сейчас совсем не про Россию. Отечественные компании, которые производят движки (и сейчас, и в будущем) не будут использовать эту западную технологию. Потому что.. а кому её на внутреннем рынке продавать? Российские производители чипов не будут это технологии у себя внедрять, ибо лицензию им никто не продаст.
AuDin
Новичок
Сообщения: 15
Зарегистрирован: 22 мар 2023, 01:33
Репутация: 1
Настоящее имя: Дмитрий
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение AuDin »

Да я ни разу не против совместной разработки.
Ровно напротив - хотелось бы найти единомышленника и разрабатывать командой….и немного стесняюсь...

Но Как я понял Те люди - которые "Отцы основатели" этой темы нацелены строго на две вещи:
- CNC на Линукс
- и на С++
Мне это к сожалению не подходит :(.
А местные боюсь не пойдут на такую смену платформы.

У меня задумка такая:

Средненький ценовой диапазон.
Бороться с ценами на Матч-3 и на цены на его контроллеры мне не по силам. Даже и пытаться не буду.
И продавать не контроллеры и прочее железо – а ПО.

Я хочу попробовать написать CNC так - чтобы она работала не только под Win и Linux - Но и на планшетах - Андроид и iOS.
И планшеты - самое главное - и Андрюша - фаворит.
И Планшет по задумке должен висеть на какой-то присоске у станка - а все остальное в электро-ящике.
Чем и удобен планшет - не нужна клавиатура - тачскрин встроенный и дешевый, клава на экране - если нужна - для станка на мой взгляд самое-то - особенно если станок не за 10 лямов.
И именно планшет - основной козырь - иначе боюсь это ни кому не будет нужно и проект заглохнет как и другие проекты.

Далее:
Планшет подключен к контроллеру на Orange Pi или Raspberry Pi предыдущего поколения (из за цены на них) - но можно и на новых.
Почему Pi:
1. На Pi - с CNC передавать буфер уже рассчитанных в CNC перемещений - там крутится быстрый цикл написанный на С++ - который просто шлет по EtherCAT координаты и пр. данные для перемещений в серво-драйвер.
2. На Pi можно не ограничивать себя по оперативки - 4 гБт - минимум - за глаза!!
3. Ни каких сложных расчетов на Pi - максимум расчет аварийной остановки по заданным ускорениям и остановка по датчику по G31 - все остальное рассчитывать в CNC.
4. И т.к. основной расчет управления серво-двигателем берет на себя серво-драйвер по EtherCAT с "управлением по позиционированию" - я надеюсь что производительности Pi хватит за глаза.
И из за этого-же и код на Pi не должен быть сложным (ну про крайней мере я на это надеюсь)
По идее и дешевого контроллера на какой-нибудь STM32 хватило бы за глаза на это, но:
- Я нашел библиотеку EtherCAT только под Linux, и которая работает на нелюбимом почему-то здесь RTLinux.
- Я не уверен что справлюсь с написанием нативной прошивки. А вот пользовательская программа на Linux - это знакомо и понятно.
5. Сетевая карта на Pi может работать в режиме EtherCAT-мастер. Не требуется ни каких специфичных драйверов.
Вот если бы был нужен EtherCAT-slave – тогда да, нужна сетевая карта определенных чипах и спец. драйвер для нее (slave устройства должны 'на лету' подменять байтики в сетевом кадре - а это умеют не многие сетевые чипы)
А для Мастер устройств EtherCAT - сетевые карты Pi вполне подходят - уже проконтролировал этот вопрос у разработчиков библиотеки.

К Планшету или ПК Pi планирую подключать по USB через g_ether модуль - т.е. на Планшете или ПК будет эмулироваться сетевая карта - по идее везде должно работать - и на Андрюше и на ПК и на Linux ПК, и на iOS.
И заодно питание на планшет по этому-же кабелю USB - чтобы на станке не было кучи проводов к планшету.
Но и по Ethernet должно обязательно работать.

Не планирую пользователей ограничивать в выборе Pi, пусть какой хотят – такой и покупают – на этом точно не заработать.
Для облегчения настройки контроллера планирую что настройка будет проходить так:
1. Пользователь должен подключить Pi локальную сеть и прописать его IP в настройку на CNC.
2. CNC соединяется с ним по SSH протоколу (встрою его прямо в CNC - недостатка таких библиотек слава богу нет)
и устанавливает RTLinux и g_ether модуль на выбранный USB порт в Pi по SSH.
3. далее отключаем Pi от локалки (сетевой порт на Pi нужен строго для EtherCAT) и подключаем к CNC по USB – на ПК или планшете должен создастся виртуальный Ethernet интерфейс.
4. CNC подключается по SSH по этому сетевому интерфейсу и заливает и запускает программу-прошивку.
В теории для пользователя минимум телодвижений (многовато всё-таки конечно - но по другому не придумывается что-то ни как).

CNC программа:
Ни какого С++ при написании основного кода CNC
- Это просто нереально в таком большом проекте из за борьбы с утечками, параллельность и контроля всего и вся.
- И я четко понимаю что на С++ мне с этим не справится.

Писать CNC буду на C# - потому что:
Писать код на C# раз в 10/100 быстрее (во всяком случае для меня)
Лучшая на сегодняшний день штатная библиотека - причем на голову лучшая библиотека чем в других языках – и она штатная!
Быстродействие меньше чем на С++ на 20-30% - для меня эта разница не кажется устрашающей.
+ в C# .NET 8 наконец-то завезли АОТ - т.е. там компиляция сразу в машинный код (без работы интерпретатора в Run-time) - а это разница в быстродействии с С++ уже на уровне 15%-20%
+ в C# .NET 6-8 добавили мультипроцессорную работу с SIMD командами - всякие MMX, SSE, SSE2, SSE3, SSEE3, SSE4.1, SSE4.2, AVX и AVX2, Avx 512, NEON!!!(привет андрюша)
Работа с этими командами идет чуть медленнее - чем если было написано спецом для какого-то набора команд (например для SSE3) - но зато C# берет на себя всю разборку с этим зоопарком стандартов.
Так-же в C# может быть проблема со сборщиком мусора (Garbage-Сollector) при продолжительных расчетах, но борьба с этим уже отработана:
- буду его просто временно приостанавливать на время расчетов.
- + в последних версиях Net он стал в разы лучше и в разы дает меньше лагов.
- + в котроллере на PI будет буфер команд - который должен компенсировать возможные лаги даже при работе с планшета
Так что здесь надеюсь проблем не будет.

+ C# есть шикарная 2D библиотека по графическому интерфейсу (Avalonia) - работает на всех платформах без изменения кода вообще.
И работает очень шустро даже на средних по быстродействию планшетах.
И использует встроенные графические ускорители на всех платформах.
И я ее уже обкатал в своем другом проекте.

+ Так-же все это я затеял отчасти из за того что мне нужен TCP.
И не просто TCP - а TCP в реальном времени.
CNC панели с Real/Online TCP нереально дорогие.....А всего лишь нужно несколько раз повернуть координаты по нескольким осям и все...правда в онлайн при работе станка...но сука дорогие!!!!!!!!!!!!!!
Соответственно всякие матрицы вращения, преобразования координат и пр. - вот для них и использовать SIMD команды.
Интерфейс планирую сразу под Тач-скрин (а не под мышь) – т.е. аля всякие CNC панели - мышь по остаточному принципу.
На всякие картинки/иконки нужен художник – по всей видимости эти картинки/иконки придется заказывать на стороне у профессионала – чтобы все было в одном стиле и красиво.
Красиво - обязательно! :)

И пока только на фрезерный станок.
Потому что на токарных не работал и тонкостей и потребностей просто не знаю – наверняка там море тонкостей и отличий от фрезеров.

Линейки пока тоже не планирую поддерживать так как:
– вот их работу как раз придётся программировать в Pi – а пока мне хочется сделать код в Pi как можно более простым.
- Как замену линейкам – сделаю в CNC таблицу компенсаций погрешностей ШВП и налету вносить поправки в координаты – для старта – достаточно.
- Многие Серводрайверы EtherCAT сами могут работать напрямую с отдельно-стоящими от двигателя линейками - и сами по ним корректировать положение серво-двигателя - так зачем это вообще реализовать?

Обязательно добавлю возможность работы с радио-пультом WHB04B-04 - вот таким:
https://aliexpress.ru/item/100500530217 ... 732aTjGoBo
Там ничего сложного - USB-HID интерфейс примитивный.
Но дешево и безумно удобно.
У меня такой сейчас работает вот на такой панели: https://www.chpu.net/chpu/cnc-11-titaniumr-mini-digital
Безумно удобно.

Надеюсь все задуманное получится.
Вон - китайцы же штампуют уже эти EtherCAT платы и панели массово.
Я чем хуже? Я тупее китайцев? Неужели у меня не получится? Я Тварь дрожащая – или право имею?
Наверняка я в чем-то по крупному заблуждаюсь – но ведь пока не влезешь со всем этим с головой – не поймешь как нужно было сразу делать правильно…

Первоначально планирую отработать все вот на таком железе (уже закупил) (для тестового стенда):
Orange Pi 5 Plus (именно такой - из за двух сетевых разъемов на борту – по началу они очень понадобятся для отладки):
https://aliexpress.ru/item/100500560376 ... 4233540959
Вот такой серводрайвер EtherCAT c двигателем:
https://aliexpress.ru/item/100500132496 ... 5697250323
+ У меня есть серводвигатель Delta c разбитой крышкой энкодера – но работает, на станок его конечно нельзя ставить, но я купил себе запасной драйвер Delta ASD-B3-0421-E – вот с ним на стенд пойдет:
https://aliexpress.ru/item/100500195275 ... 8208073181
Вот такая EtherCAT плата входов-выходов:
https://www.alibaba.com/product-detail/ ... 87078.html
Такая плата EtherCAT аналоговых входов-выходов:
https://www.alibaba.com/product-detail/ ... 94885.html
И вот такая EtherCAT плата на 6 осей. Тут я конечно лоханулся и прогнулся на уговоры продавца – когда сказал что беру контроллеры на тесты и разработку – он мне ее всучил за 2000р.
Я посмотрел от нее XML – хоть она и EtherCAT - там явно идет управление не по CiA-402 – а что-то другое – но что сделано – то сделано - хрен с этими 2000 р - может и с этим протоколом разберусь...:
https://www.alibaba.com/product-detail/ ... 60645.html

Как все более менее заработает – тренироваться уже буду на своем хоббийном станке станке – там 5 осей, все на EtherCAT на Delta ASD-B3-0421-E:
https://www.chipmaker.ru/uploads/post/m ... fbec8.jpeg
https://www.chipmaker.ru/uploads/post/m ... e3ed0.jpeg
(картинки с сайта конкурента покажет?)

Самое главное – разобраться в протоколах EtherCAT и CiA-402 (он же CANopen)

Я сам смогу уделять по пол-дня каждый рабочий день на проект (доход у меня с другого моего ПО - свой миллион руб/мес. я имею - мне хватает).
Делать его придется точно не меньше года.
И еще раз - я не против команды - но вот концепцию что CNC должна в первую очередь работать на планшете - не могу поменять - я с этой мыслью хожу два года - и уверен что если не будет работать на планшете - не взлетит.

Монетизировать по началу планировал попрошайничеством:
Поработала панель минут 30 - останавливается - выводит окошко "Подайте 1000 рубликов на 1 год на пропитание бывшему депутату Государственной Думы! "
Нежелающие нажимают на кнопку "я жлоб" и работают дальше без каких бы то ни было ограничений - но только следующие 30 минут - далее по кругу.
Надеюсь такое подойдет многим - и обеспеченным и безденежным хоббийшикам..
За Real/Online TCP уже брать денег поболее.. но тоже не особо много...

MX_Master писал(а): Про идею с EtherCAT в данное время могу сказать только одно, оно сейчас совсем не про Россию.
Отечественные компании, которые производят движки (и сейчас, и в будущем) не будут использовать эту западную технологию.
Не согласен - Вон китайцы - EtherCAT точно так-же не их – но они выкидывают в продажу дешевые контроллеры – пользуйся – не хочу.
Так как за использование EtherCAT никто денег не просит – ни за CNC ни за контроллеры.
Для получения доков и лицензии – нужно просто зарегиться на сайте https://www.ethercat.org/default.htm - и все - производи!
Кстати почти все производители станков наши РУССКИЕ зарегистрированы там - и могут спокойно пользоваться EtherCAT .
Я все хотел свое ИП зарегить там :) … но дотянул до спецоперации :(
MX_Master писал(а): Потому что.. а кому её на внутреннем рынке продавать? Российские производители чипов не будут это технологии у себя внедрять, ибо лицензию им никто не продаст.
Ага, был в прошлом году на выставке станков – на всех новых станках Российских – поголовно серво-драйверы китайцев или корейцев и 80% из них были именно по EtherCAT;
И как-то продавцов станков не волнует эта лицензия.
И реально - EtherCAT захватывает сектор управления серво-драйверами

И всё-таки - есть кто разбирается в CiA-402 (он же CANopen)?
Не в передаче байтиков - с этим все понятно более или мнение - а именно в логике безостановочного управления серво-драйвером?

Блин - как на этом форуме вставлять картинки? Я воде не дурак - но не могу найти как.
Пост без картинок - деньги на ветер!
rry
Мастер
Сообщения: 212
Зарегистрирован: 25 дек 2020, 12:01
Репутация: 35
Настоящее имя: Victor
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение rry »

как-же во многом вы заблуждаетесь, но в главном конечно правы - ethercat щас везде у китайцев, от пылесосов до атомных станций

совет могу дать не обязательно верный но искренний, видя ваше старание) попробуйте сначала загуглит выписать основных производителей станков, пусть фрезерных, кто по этому протоколу работает (т.е. найти все чпу стойки с поддержкой ethercat, их не особо и много будет, ну хоть 3 штуки для начала) и попробуйте проанализировать на каком железе они работаю, какие характеристики самого железа, какие дают возможности станкам и как это связано. А главное как на готовой стойке чпу построить свой кастомный станок с тач панелью. а лучше всего взять кого не самого дорогого и зарутить - в потрохах покопаться и прототип сделать.
в результате поймёте, что у всех примерно так, как у вас описано и сделано, только вместо распбери своя арм архитектура, вместо проги на сишарп у кого кумл с си++, у кого вообще питон, а у некоторых так-же сишарп, но вот уровень сложности и доработанности этой железки арм и софта такой, что его строят пишут и отлаживают целыми институтами и по срокам десятилетия
AuDin
Новичок
Сообщения: 15
Зарегистрирован: 22 мар 2023, 01:33
Репутация: 1
Настоящее имя: Дмитрий
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение AuDin »

rry писал(а): А главное как на готовой стойке чпу построить свой кастомный станок с тач панелью. а лучше всего взять кого не самого дорогого и зарутить
Уже - сам станок у меня покупной - но всю электрику я сразу выкинул и собрал на EtherCAT с покупной CNC - Сам все прописывал и настраивал.
Но копаться в чужих панелях бесполезно - ничего нового я там не увижу.
Вон - свою разбирал не раз - обычная материнка, экран с тачем, обычная сетевуха, твердотельный дешевый диск....
Главное ПО - а вот в нем не покапаешься - ну не изучать же диссасемблированный код - правда?
rry писал(а): что его строят пишут и отлаживают целыми институтами и по срокам десятилетия
А вот братья китайцы постоянно выбрасывают на рынок новые панели.
Как-то же они их делают - пишут для них программы.
MGG
Мастер
Сообщения: 3673
Зарегистрирован: 08 фев 2016, 16:33
Репутация: 1010
Настоящее имя: Манн Геннадий Геннадьевич
Откуда: Москва
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение MGG »

MX_Master писал(а): 02 фев 2024, 15:16 И как это всё относится к совместной разработке, не совсем понятно :)

Про идею с EtherCAT в данное время могу сказать только одно, оно сейчас совсем не про Россию. Отечественные компании, которые производят движки (и сейчас, и в будущем) не будут использовать эту западную технологию. Потому что.. а кому её на внутреннем рынке продавать? Российские производители чипов не будут это технологии у себя внедрять, ибо лицензию им никто не продаст.
На отечественные движки тут денег ни у кого не хватит, они на порядок дороже даже именитых брендов :hehehe:
В ближайшее время все будут сидеть на китае, а там с езеркатом проблем нет.
Кстати отечественные стойки езеркат поддерживают
http://www.cnc-club.ru/forum/viewtopic. ... 76#p304076 Поставки оборудования для ваших станков
https://www.instagram.com/dtw.moscow/
dtw.moscow@gmail.com
LINUX CNC
Новичок
Сообщения: 2
Зарегистрирован: 27 фев 2024, 15:11
Репутация: 0
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение LINUX CNC »

Добрый день. У нас задача по проекту: необходимо разработать индивидуальный интерфейс пользователя для LINUX CNC, формирующий G-CODE на основе введённых параметров для радиального точения в трёх осях. У кого-то может есть инструкции или кто может взять на себя эту оплачиваемую работу?
AuDin
Новичок
Сообщения: 15
Зарегистрирован: 22 мар 2023, 01:33
Репутация: 1
Настоящее имя: Дмитрий
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение AuDin »

Подскажите по синтаксис G кода касающееся каналов:

С каналами в УП сталкивался давно,
Но в память врезалось два подхода:
1 подход: Оси в каналах именуются разными буквами XYZ - 1 канал и UVW - 2 канал
2 подход: Оси в каналах именуются одними и теми-же буквами XYZ - но в зависимости от текущего канала транслируются на физические оси XYZ или UVW

Как я понимаю Достоинства и недостатки
1 подход - Достоинство: по УП сразу видно какие физические оси двигаются, Недостатки - в случае с UVW некоторые путаются в направлении
2 подход - Достоинство: по УП понятно по каким направления будет перемещения, Недостатки - пока не взглянешь на номер канала - непонятно каике именно оси двигаются.

Какой подход более правильный? Какой реализовать?
Ответить

Вернуться в «Windows / Mach»