[WIKI] FAQ по EMC2 LinuxCNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

[WIKI] FAQ по EMC2 LinuxCNC

Сообщение Nick »

FAQ переехал в wiki: FAQ по LinuxCNC
Вы можете помочь нам в оформлении статьи. Для внесения изменений надо залогинится в вики (логин и пароль такие же, как на форуме).
Как внести изменения в статью в wiki
(для просмотра содержимого нажмите на ссылку)
Q: EMC2 выдает такую ошибку: "Unexpected realtime delay: chek dmesg for details.". Что делать?
A: Это означает, что один из интервалов задержки стал больше Base period. Нужно увеличить base period в настройках EMC2. Запустите Приложения -> EMC2 -> Latеncy Test, попробуйте нагрузить компьютер, откройте несколько окон веб-браузера, запустите фильм, поставьте копироваться большой файл, по-перемещайте окна по экрану. После всего этого смотрим в окно Latency Test и запоминаем параметр Max Jitter для Base thread (если вы используете серво двигатели, Вам понадобятся оба параметра). Запускаем Приложения -> EMC2 -> Stepconf и в окне настройки конфигурации указываем Base period Maximum Jitter.

Q: При выполнении поиска начал осей (homing) EMC2 выдает ошибку "joint limit error"
A: Наверняка Вы используете в качестве датчика начала (home) один из концевых переключателей оси. Для корректного выполнения поиска в этом случае нужно:
  • Чтобы Home Location не было равно Home Switch Location. Т.к. после процедуры поиска начала станок остановится в положении Home Location, и оно не должно вызывать срабатывания концевого датчика оси.
  • Чтобы в конфигурационном файле в разделе описания оси присутствовала строчка "HOME_IGNORE_LIMITS = YES".
Q: Как запустить станок избегая процедуру поиска начал (homing)? Возникает ошибка: "Не могу исполнить программу если не найдены начала" ("Can't run a program when not homed").
A: EMC2 отказывается выполнять программы до тех пор пока не найдены начала осей потому, что EMC2 должен точно знать в каком положении находится станок, чтобы не дать ему выехать за пределы осей. Настоятельно рекомендую установить концевики и делать поиск нулей при каждом запуске EMC2 (при наличии концевиков это делается нажатием одной клавиши). Если концевиков нет, начала оси можно выставлять вручную.

Если совсем не хочется выставлять начала, то можно в файле конфигурации в раздел [TRAJ] нужно добавить строчку: "NO_FORCE_HOMING = 1" и EMC2 не будет выдавать эту ошибку. Но в этом случае нужно быть особенно внимательным следя за работой станка, т.к. EMC2 не сможет контролировать пределы осей и появится вероятность их превышения, что может привести к поломке станка :attention:!

Q: LinuxCNC не запускается, выдает ошибку RTAI[hal]: ERROR, LOCAL APIC CONFIGURED BUT NOT AVAILABLE/ENABLED.
A: Проблема с установкой EMC2 #48
Это незавершенный раздел, Вы можете помочь в его оформлении.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение nkp »

в соседней теме коснулся команд EMCMOT...
вопрос по пункту 7.21 :
команды JOG_CONT и JOG_INCR используем , а вот JOG_ABS ???
перемещение в ручном режиме в указанную координату ...
подобие mdi команды в G91 ??
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

ИМХО не совсем...
тут двигается joint, а не ось... в mdi двигаются оси, я так понимаю в режиме world...

А что тебя в этом так заинтересовало?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение nkp »

Nick писал(а):тут двигается joint, а не ось... в mdi двигаются оси, я так понимаю в режиме world
да , конечно world...
как я понимаю - joint или axis - разница в расчетах в кинематике...
а ручной или mdi режим -это free и teleop (coord)...
free - "раздельный" расчет по осям...
Nick писал(а):А что тебя в этом так заинтересовало?
просто узнать - используется это в емс или существует как потенциальная возможность... ;)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

Я так понимаю, что joints - это вывод на оси без учета кинематики, а world - это координаты с учетом кинематики.
Jog можно делать в обоих режимах. А все остальное только в world...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Ворон226 »

Nick писал(а):Я так понимаю, что joints - это вывод на оси без учета кинематики
Т.о. если у меня движение по оси формируется так (последняя строка):

Код: Выделить всё

net    multout1      mult2.1.out           halui.jog.0.analog 
,
то движение может быть рывками, без учета установленных ускорений?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

Не, рывками не выйдет - у stepgen свое ускорение... а может и halui также через motion общается...
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: FAQ по EMC2 LinuxCNC

Сообщение aegis »

ребята, а токарно-фрезерный вариант настройки главного шпинделя (серва) не проскакивал на мессе? есть некоторые идеи, кфлоп такое умеет делать, но мне месса интересней как-то
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

aegis писал(а): а токарно-фрезерный вариант настройки главного шпинделя (серва) не проскакивал на мессе?
Хочешь одну ось как шпиндель использвать? Или шпиндель токарного как ось для фрезера?
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение NightV »

aegis писал(а):ребята, а токарно-фрезерный вариант настройки главного шпинделя (серва) не проскакивал на мессе?
тоже интересует эта тема
наверно он имел ввиду вариант испонения токарно-фрезернргр станка на месе.
тоесть если работаем в токарнам решиме то основной шпиндель идет как шпиндель (режим скорости) и юлозим по нему резцами или фрезами
переключаемся во фрезерный режим
теперь главный шпиндель работает в режиме "положение" (типа 4 ось) и теперь выступают только фрезы, сверла и т.д.
Всё просто! если знаешь КАК!
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: FAQ по EMC2 LinuxCNC

Сообщение aegis »

интересна реализация токарно-фрезерного станка. точим резцами, потом не снимая детали фрезеруем что нам надо. немного поковыряв инфы понял, что сам контроллер должен уметь перекидывать усилок в другой режим. ну или же управлять все время в режиме положение, но при точении на высоких скоростях что там будет со скоростью обмена...
нікому нічого не нав'язую.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение nkp »

граф из файлов HAL :
ложим файл :
net2dot.py.tar
(10 КБ) 488 скачиваний
в папку с конфигурацией...
из нее же запускаем терминал:
python net2dot.py core_stepper.hal standard_pinout.hal | dot -Tpng > mill.png
(core_stepper.hal standard_pinout.hal - файлы HAL , возможно подправить имена)
получаем :
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Сергей Саныч »

Здорово! :good:
Еще бы обратную задачу решить - построить hal по схеме.
А что означают линии/стрелочки, которые подходят точно к границам ячеек?
Чудес не бывает. Бывают фокусы.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение nkp »

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

Re: FAQ по EMC2 LinuxCNC

Сообщение Serg »

Serg-tmn писал(а):Еще бы обратную задачу решить - построить hal по схеме.
В рукопашную получается проще, да и в процессе "перевода" появляются идеи как упростить и/или улучшить.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Сергей Саныч »

nkp писал(а):наткнулся на скриптик только что - всех тонкостей не знаю)))
а я думал - твое авторство...
Судя по контексту - линии ведут к центрам ячеек. Иногда по диагонали.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

aegis писал(а):интересна реализация токарно-фрезерного станка. точим резцами, потом не снимая детали фрезеруем что нам надо. немного поковыряв инфы понял, что сам контроллер должен уметь перекидывать усилок в другой режим. ну или же управлять все время в режиме положение, но при точении на высоких скоростях что там будет со скоростью обмена...
Со скоростью все будет нормально.... Проблема с переходом из одного режима в другой... Но и она решается.

Как все это можно сделать:
1. Сделать пин переключатель между режимами шпинделя. Когда в режиме токарки команда шпинделя выдается на сумматор integ, (а в режиме фрезера - просто на шпиндель).
2. Команду приводу подаем по положению. При этом на привод выдаем сумму pid.command = integ.out + axis.3.motor-pos-cmd.
3. Из обратной связи для motion автоматически вычитаем, то, что мы набегали в режиме шпинделя axis.3.motor-pos-fb = encoder.position - integ.out.
4. Может потребуется доехать до целого оборота при переходе от шпинделя к фрезеру...

Можно еще и другие схемф придумать... Главное формализовать алгоритм, в терминах пинов, а hal для этого потом напишем - не вопрос.

ЗЫ А какие будут двигатели, какое управление? И будет ли обратная связь?
nkp писал(а):граф из файлов HAL :
Вроде уже что-то подобное проскакивало... только всеравно на этих графах тяжело что-то понять, особенно если hal большой...
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение NightV »

Nick писал(а):И будет ли обратная связь?
думаю это обязательно, у меня в окуме просто токарка без фрезера даже стоит
20131015_115734.jpg (4426 просмотров) <a class='original' href='./download/file.php?id=19660&sid=88e0b12c29186f77ca3d1909ba64a092&mode=view' target=_blank>Загрузить оригинал (84.31 КБ)</a>
когда его выпустили мне было 9 лет :hehehe:
дата выпуска 1984\12 :wtf: и работает досих пор... тьфу.. тьфу
кстате когда крутиш шпиндель руками то на экране вижу с какими оборотами и положение в градусах :cheesy:
зачем в станке без фрезерной опции показывает положение шпинделя я недопер :problem:
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

NightV писал(а):зачем в станке без фрезерной опции показывает положение шпинделя я недопер
А как без этого резьбу резать? А если многозаходная? А если в несколько проходов резать? Поэтому в токарке энкодер на шпинделе нужен!

Если поставить (!чисто теоретически!) на шпиндель шаговик и он будет нормально работать, то можно обойтись без обратной связи :)
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение NightV »

а! точно! нарезание резьбы :hehehe: хотя мне кажется хватило бы просто индекса
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

А если многозаходная?
Ответить

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