Загрузка уп большого объёма на Linuxcnc с интерфейсом AXIS

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение evgenymcp »

Не может быть связано с использованием ноутбука? У меня был ноут с LPT Fujitsu core duo. Отличный джиттер, но стоило только погаснуть экрану или нажать на любую дополнительную клавишу (громкость, яркость и т. д) как джиттер взлетал до огромных значений. Может связь не с количеством строк, а с временем исполнения уп? Хотя это не объясняет почему именно Z накапливает ошибку.
zaxlex
Новичок
Сообщения: 38
Зарегистрирован: 20 окт 2015, 23:09
Репутация: 0
Настоящее имя: Alex
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение zaxlex »

до ноутбука работало все это щастя через LPT на интеловском атоме, специально заточеном под маленький джитер, если честно никаких маленьких джитеров мне там увидеть так и не удалось, а вот все эти симптомы плавно перетекли в наследство на ноутбук с мессой, сколько помню этот станок с этим линуксцнц, столько и танцую с бубном вокруг халов конфигов драйверов напряжений заземлений и тд, идиго мать, зато софтина на реалтайм линуксе и ни разу ни глючная как тот же мач:))) АГА
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение Serg »

Координаты в AXIS отображаются правильные?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
zaxlex
Новичок
Сообщения: 38
Зарегистрирован: 20 окт 2015, 23:09
Репутация: 0
Настоящее имя: Alex
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение zaxlex »

да, я останавливаю и подымаю шпиндель на верх он до конца не доезжает, писал всевозможные тесты, чтоб гонять зэтку, там тесты конечно минут на 15 но тесты отрабатуют без проблем и зэтка возвращается на датчик, я понимаю что происходит пропуск, но этот пропуск делает сам мозг этой linuxcnc как я понимаю, потому что тест по зэтам я оставлял на ночь и он приезжал на датчик штатно после него, тоесть я всю ночь его гонял как швейную машинку и все хорошо, а когда миллион строк, то получаю глюк
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1418
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 326
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение evgenymcp »

Z самая нагруженная ось. Если попробовать снизить скорость и ускорения в два раза и повторить УП?
zaxlex
Новичок
Сообщения: 38
Зарегистрирован: 20 окт 2015, 23:09
Репутация: 0
Настоящее имя: Alex
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение zaxlex »

была у меня изначально скорость 6 метров в минуту, теперь 3 и все равно результат тот же, плюс последний положительный результат с разбитием чистовой обработки на семь отдельных файлов, запущенных без каких либо перерывов и тд, говорит мне что проблема где то в самих кишках этой софтины
Все отличие приводящее от отрицательного результата к положительному, это то что вместо одного большого целого файла было ручками запущено семь маленьких файлов, то-есть просто кусок выделить вырезать и вставить в отдельный файлик. и каждый этот отдельный файлик запускаю ручками и все работает, механика режимы параметры, это все я уже вымучал на шести запоротых досках.
на что влияет меньшее количество строк - на прорисовку этих строк в бэкплоте, на количество занятой памяти под этот G-code, вроде бы все, по идее заменить строчку DISPLAY = axis на DISPLAY = tkemc допустим и вся история, но вроде как пробовал, давно правда точно уже не припомню, но не помогало, читал есть мордочки в которых прорисовка, выделена в отдельный процесс вроде как так говорят, но поможет ли мне это? да и как так, стандартная мордочка, раз файлик съела будь добра исполни, а не теряй зэтки не понятно в какую сторону, тем более что именно только зетки, я тут давлю на то что это проблема программная и к тому же не моя, а не механическая и если так то чем зетки не угодили больше чем игрики или иксы?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение Serg »

zaxlex писал(а):там тесты конечно минут на 15
Попробуй мой тест, чуть выше по теме - он бесконечный.
zaxlex писал(а):а когда миллион строк, то получаю глюк
В случае программного генератора шагов имеется слишком много факторов, влияющих на стабильность, например количество памяти, неправильное определение latency, ...
zaxlex писал(а):была у меня изначально скорость 6 метров в минуту, теперь 3 и все равно результат тот же
На подобных работах Z не успевает разогнаться ни до 6, ни 3 м/мин. Надо пробовать уменьшать ускорение.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
zaxlex
Новичок
Сообщения: 38
Зарегистрирован: 20 окт 2015, 23:09
Репутация: 0
Настоящее имя: Alex
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение zaxlex »

Ваш тест я обязательно попробую, спасибо, правда не очень понимаю, что это мне даст, но попробую обязательно
по поводу не успевает разогнаться, я конечно не настаиваю, но у меня там в конфиге ускорение на зэтах стоит большое:)), и когда мои тесты бегали вижу я 3 метра в минуту моментально как меняется направление движения
И как на счет моего железного аргумента - по 250 тысяч строк отработало то без сбоев, да за семь раз но отработало, уж больно меня это возмущает, как так несправедливость вселенского масштаба, цельный файл не проходит, а по кускам да, как тут может этот факт относиться к настройкам, они же одинаковые что при первом случае что при втором, разница то, только в количестве строк
неужели никто не отрабатывал рельефы по пару миллионов строк и не сталкивался с таким щастям.
кстати тесты свои привожу, может полезно кому будет:
Вложения
tests.zip
(2.59 КБ) 272 скачивания
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение Serg »

zaxlex писал(а):Ваш тест я обязательно попробую, спасибо, правда не очень понимаю, что это мне даст, но попробую обязательно
Если он будет работать без сбоев достаточно долго (час, два), то можно предположить, что проблема в компе (памяти мало), если сбои будут, от проверять механику.
zaxlex писал(а):И как на счет моего железного аргумента - по 250 тысяч строк отработало то без сбоев
Памяти мало...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
zaxlex
Новичок
Сообщения: 38
Зарегистрирован: 20 окт 2015, 23:09
Репутация: 0
Настоящее имя: Alex
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение zaxlex »

ну так что же это за недософтина такая, я что всегда должен методом тыка определять - ага на 2 миллиона строк нужно 4 гига и минус фреза заготовка и тд, таак теперь файлик на 4 миллиона строк ну наверно надо 8 гигабайт, старт опа опять минус заготовка и фреза не угадал, надо 9 гиг, хорошо работаем дальше
Я правильно понял ситуацию? так выглядит работа с нашей супер программой,
уж очень у меня ручки чешутся добраться до тех строчек кода, которые отвечают за это дело.
ну даже и хорошо, ну не хватило ей памяти во время исполнения, неужели это прям такая неординарная ситуация, что нельзя корректно как то остановиться или переназначить память, ну елки ж палки не кидать же фрезу об заготовку:))
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение Serg »

zaxlex писал(а):уж очень у меня ручки чешутся добраться до тех строчек кода, которые отвечают за это дело.
ну даже и хорошо, ну не хватило ей памяти во время исполнения, неужели это прям такая неординарная ситуация, что нельзя корректно как то остановиться или переназначить память, ну елки ж палки не кидать же фрезу об заготовку:))
Исходники доступны, ждём суперпатча! :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Prav
Мастер
Сообщения: 827
Зарегистрирован: 14 июл 2015, 05:10
Репутация: 138
Настоящее имя: Петр Раввинский
Откуда: Москва
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение Prav »

Зато бесплатно! :D
zaxlex
Новичок
Сообщения: 38
Зарегистрирован: 20 окт 2015, 23:09
Репутация: 0
Настоящее имя: Alex
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение zaxlex »

это конечно все очень смешно и весело, но я так понимаю стоит стучаться куда то типа в баг репорт что ли, у них есть такая возможность или все на форум
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение iMaks-RS »

zaxlex писал(а):/0/28 memory 3GiB System Memory
/0/28/0 memory 2GiB SODIMM DDR3 Synchronous 1333 MHz (0.8 ns)
/0/28/1 memory 1GiB SODIMM DDR3 Synchronous 1333 MHz (0.8 ns)
может здесь проблема? "я только учусь", но уже шишек об память набил.. на GA-945/E6750 много разной памяти побывало... но стабильные показания только если две плашки одного бренда, объёма и таймингов.. сейчас две по 512Мб.. Patriot... Было и 1.5Гб (1+0,5), и 2Гб разных производителей и параметров... но только после установки одинаковых плашек удалось получить джиттер менее 10к на RTAI и 30k на rt_preempt (если запускать 3 сеанса glxgears + пара видосов в 720p в vlc + видос с ютуба в 480р... если только 3 сеанса glxgears, то выше 11054 не поднимается) на Али можно б.у рабочую взять...и не дорого.. я заказал DDR2 2*2Gb 667... 550 руб с доставкой )
zaxlex писал(а):system K52De
в комплекте 3Гб, но максимальный объём - 8Гб.. На али в пределах 2к рублей можно комлект взять памяти.. всяко дешевле сломанных фрез и испорченных заготовок..
MaksSavchuk
Опытный
Сообщения: 156
Зарегистрирован: 17 май 2019, 09:56
Репутация: 13
Настоящее имя: Максим Савчук
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение MaksSavchuk »

UAVpilot писал(а):В случае программного генератора шагов имеется слишком много факторов, влияющих на стабильность, например количество памяти, неправильное определение latency, ...
ну уж заданное количество шагов степген точно выдаст, понятно что тайминги могут поплыть и движение не такое плавное будет, но они же все в рамках одного потока генерят. IMHO нет там никакой связи с объемом программы если при этом она не валится на этапе открытия и выполняется корректно для остальных осей. скорее драйвер\механика, может тупо перегрев чего-нить, который нивелируется остановками при выполнении более коротких фрагментов и т.п.
Аватара пользователя
sima8520
Почётный участник
Почётный участник
Сообщения: 4501
Зарегистрирован: 24 ноя 2016, 23:35
Репутация: 1615
Настоящее имя: Илья
Откуда: Беларусь, Гомель
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение sima8520 »

вот что-что, а ОЗУ с али тянуть - вообще не советую. Потеряете время, а иногда и деньги.
zaxlex
Новичок
Сообщения: 38
Зарегистрирован: 20 окт 2015, 23:09
Репутация: 0
Настоящее имя: Alex
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение zaxlex »

MaksSavchuk писал(а): ну уж заданное количество шагов степген точно выдаст, понятно что тайминги могут поплыть и движение не такое плавное будет, но они же все в рамках одного потока генерят. IMHO нет там никакой связи с объемом программы если при этом она не валится на этапе открытия и выполняется корректно для остальных осей. скорее драйвер\механика, может тупо перегрев чего-нить, который нивелируется остановками при выполнении более коротких фрагментов и т.п.
Да последнее что я проверял, перед тем как выйти сюда с вопросами, так это перегрев ШВП и тд,(я же кстати описал это в своем первом посте) - проверка заключалась в том, что я в одном большом файле на полтора миллионах строк, через каждые 250 тысяч строк вставил команды - выключал шпиндель, включал паузу на час, потом опять включал шпиндель и продолжал ехать.
Итого доехал я таким способом до тех же 500 тысяч строк, потом фреза ушла по счастливой случайности вверх а не вниз.
А когда я запускал по частям, я это делал специально без перерывов и все сработало.
то-есть механике я давал задания в два раза меньшие, но это не помогло, соответственно дело не в механике.

вот ссылка на главном форуме - https://forum.linuxcnc.org/20-g-code/63 ... size-limit

Theoretically the amount of memory limits the file size.

The interpreter and task are carefully written so that the only limit on part program size is disk capacity. tkemc and axis both load the program text to display it to the user, though, so RAM becomes a limiting factor. In AXIS, because the preview plot is drawn by default, the redraw time also becomes a practical limit on program size.

Practically it is about 500k lines on P4 2.8Ghz, 1GB ram, geforce 2

And you can turn off the preview in AXIS.

то-есть в сухом остатке получается, что на одном гектаре оперативной памяти можно проехать около 500 тысяч строк, уж очень похожая ситуация учитывая, что у меня в нотике стоит одна планка как раз на гигабайт, а вторая на два, вот наверно как раз в момент того как идет чтение между планками происходят эти глюки, теперь вопрос в студию, какие будут идеи полечить ситуйовину, куда протягивать свои шупальца:)), в сторону скрипта, который будет по частям подгружать в аксис выбранный файл или все-таки в сторону корректной работы с памятью, если это она конечно, а не все-таки какой-то программный недопил
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение Serg »

iMaks-RS писал(а):но только после установки одинаковых плашек удалось получить джиттер менее 10к
Да, работа с памятью - это один из главных факторов, разные тайминги, даже при одной частоте, очень сильно влияют на производительность.
MaksSavchuk писал(а):ну уж заданное количество шагов степген точно выдаст, понятно что тайминги могут поплыть и движение не такое плавное будет, но они же все в рамках одного потока генерят. IMHO нет там никакой связи с объемом программы если при этом она не валится на этапе открытия и выполняется корректно для остальных осей. скорее драйвер\механика, может тупо перегрев чего-нить, который нивелируется остановками при выполнении более коротких фрагментов и т.п.
Как думаешь, что будет, если в момент вращения шаговика с некоторой скоростью импульсы step вдруг перестанут поступать, а спустя некоторое время появятся с прежней частотой?..
zaxlex писал(а):теперь вопрос в студию, какие будут идеи полечить ситуйовину, куда протягивать свои шупальца:)), в сторону скрипта, который будет по частям подгружать в аксис выбранный файл или все-таки в сторону корректной работы с памятью
Я б просто на этапе создания сгруппировал бы все операции в несколько отдельных УП..
zaxlex писал(а):а не все-таки какой-то программный недопил
Думаешь за почти 2 десятка лет существования LinuxCNC/EMC2 ты первый с этим столкнулся?.. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение iMaks-RS »

UAVpilot писал(а):ты первый с этим столкнулся
Учитывая объём/стоимость памяти 15 лет назад , эта проблема решалась только разбиением УП на несколько файлов? Т.е. так, как сделал zaxalex? И связано это с тормозным, по отношении к памяти интерфейсом IDE? Сейчас, при наличии NVMe интерфейса... эта проблема может быть закрыта... ведь скорость на уровне DDR2-400... :thinking: Или я не прав?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Загрузка уп большого объёма на Linuxcnc с интерфейсом AX

Сообщение Serg »

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

Вернуться в «LinuxCNC»