[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
Это незавершенный раздел, Вы можете помочь в его оформлении.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

UAVpilot писал(а):Я ж дал кусок конфига именно для этой платы.
Неожиданно! +1 :)
рустам
Новичок
Сообщения: 1
Зарегистрирован: 21 янв 2015, 10:35
Репутация: 0
Настоящее имя: Рустам
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение рустам »

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

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение Serg »

рустам писал(а):станок Китайский плазма режущая Микростеп
Оно управляется LinuxCNC?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1645
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение N1X »

Может кто подскажет по ACPI:
В мануале прочел следующее:
The Advanced Configuration and Power Interface (ACPI) has a lot of different functions, most of which interfere with RT performance (for example: power management, CPU power down, CPU frequency scaling, etc). The LinuxCNC kernel (and probably all RTAI-patched kernels) has ACPI disabled. ACPI also takes care of powering down the system after a shutdown has been started, and that’s why you might need to push the power button to completely turn off your computer. The RTAI group has been improving this in recent releases, so your LinuxCNC system may shut off by itself after all.
Пишут что ACPI отключен, поэтому после халта вам на кнопочку выключать комп нужно... У меня выключается сам, так вот думаю может такое быть что ACPI таки не отключен? Или не париться? Latency Test дает так себе результаты, поэтому и думаю откуда ноги... Ну и с пониманием пока туго )
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение Nick »

Раньше так было - надо было кнопку самому жать, а теперь:
N1X писал(а):The RTAI group has been improving this in recent releases, so your LinuxCNC system may shut off by itself after all.
Аватара пользователя
verser
Мастер
Сообщения: 1886
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение verser »

Попробуйте некоторые рекомендации по улучшению Latency test (пп. 4.1.1. - 4.1.6).
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

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

У разных MB ACPI разной степени кривости реализации. У меня выключается сам, хоть все энергосбережение и отключено. Latency меньше 10000. Реально с версией 2.5 ошибку не выдавало при базовой частоте 33 кГц. После замены на 2.7 пришлось снизить до 25.
Хорошие результаты дает выделение отдельного ядра процессора под реалтайм.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение Serg »

ACPI - это несколько разных функций, даже независящих друг от друга. Например тоже выключение питания, снижение напряжения питания некоторых узлов при простое, уменьшение тактовой частоты оных и т.п.
Некоторые из них можно включить или выключить, некоторые нельзя, некоторые можно как-либо настраивать...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
arman
Кандидат
Сообщения: 68
Зарегистрирован: 14 авг 2013, 15:38
Репутация: 0
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение arman »

подскажите пажалуста как настроить чтоб после пуска в эмик 2 начал фрезеровать через 10 секунд, чтобы шпиндель успел набирать обаротый , шпиндель подключен через реле.
Аватара пользователя
nERV
Мастер
Сообщения: 1511
Зарегистрирован: 27 сен 2013, 19:00
Репутация: 621
Настоящее имя: Александр
Откуда: Ульяновск
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение nERV »

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

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение Serg »

Не надо в коде программы.
Надо в HAL написать так, чтобы сигнал motion.spindle-at-speed появлялся через 10 сек после motion.spindle-on.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
verser
Мастер
Сообщения: 1886
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение verser »

arman писал(а):подскажите пажалуста как настроить чтоб после пуска в эмик 2 начал фрезеровать через 10 секунд, чтобы шпиндель успел набирать обаротый , шпиндель подключен через реле.
10 секунд - не совсем правильный подход. Если сделать в .hal так

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

# load a near component and attach it to a thread
loadrt near
addf near.0 servo-thread

# connect one input to the commanded spindle speed
net spindle-cmd => near.0.in1

# connect one input to the encoder-measured spindle speed
net spindle-velocity => near.0.in2

# connect the output to the spindle-at-speed input
net spindle-at-speed motion.spindle-at-speed <= near.0.out

# set the spindle speed inputs to agree if within 1%
setp near.0.scale 1.01
то время на разгон до нужного вращения linuxcnc сам определит, кроме того разгон шпинделя будет производиться даже параллельно с перемещениями на холостом ходу ( G0 ), а вот подача ( G1 ) будет дожидаться разгона.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение Nick »

verser писал(а):# connect one input to the encoder-measured spindle speed
net spindle-velocity => near.0.in2
Только вот не всегда на шпинделе есть энкодер.
Поэтому его ингода заменяют компонентом lowpass,

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

net spindle-cmd => lowpass.0.in 
net spindle-velocity <= lowpass.0.out
setp lowpass.0.gain 0.001
Аватара пользователя
verser
Мастер
Сообщения: 1886
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение verser »

Или, если есть управление частотником по modbus, то в качестве spindle-velocity взять данные с частотника

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

#setp near.0.scale 1.01
net hy-RPM <= spindle-vfd.Rott
net spindle-cmd near.0.in1
net hy-RPM near.0.in2
net spindle-at-speed motion.spindle-at-speed <= near.0.out
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение Serg »

verser писал(а):Или, если есть управление частотником по modbus
arman писал(а):шпиндель подключен через реле.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
arman
Кандидат
Сообщения: 68
Зарегистрирован: 14 авг 2013, 15:38
Репутация: 0
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение arman »

вот плата на ном реле который включает и выключает контакт , при нажатий исполнение программа включается инвертор и параллельно идет фрезеровать а шпиндел не успевает набрать обороты ,полный обороты набирает через 7 секунд , хочу чтоб нажатие исполнение программа фрезеровал через 10 секунд, комп не видит инвертора и принципи и не нужен, нужен чтоб емик начал чтение файла через 10 сек, такой маче я заметил. зораные благадарю
Вложения
mother board_m.jpg
mother board_m.jpg (17.07 КБ) 3742 просмотра
arman
Кандидат
Сообщения: 68
Зарегистрирован: 14 авг 2013, 15:38
Репутация: 0
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение arman »

что там изменить не магу понять
Вложения
Screenshot.png (3717 просмотров) <a class='original' href='./download/file.php?id=48300&sid=a3ed6c55102f6d7bf1d4a59ce93c7cea&mode=view' target=_blank>Загрузить оригинал (282.38 КБ)</a>
Аватара пользователя
verser
Мастер
Сообщения: 1886
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение verser »

arman писал(а):что там изменить не магу понять
Получается, что типа такого надо добавить

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

 loadrt timedelay count=1
 ...
 addf timedelay servo-thread
 ...
 net spindle-cmd => timedelay.0.in
 net spindle-at-speed motion.spindle-at-speed <= timedelay.0.out
 setp timedelay.0.on-delay 10
 setp timedelay.0.off-delay 0
arman
Кандидат
Сообщения: 68
Зарегистрирован: 14 авг 2013, 15:38
Репутация: 0
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение arman »

как пробую не получается емик не откривается
arman
Кандидат
Сообщения: 68
Зарегистрирован: 14 авг 2013, 15:38
Репутация: 0
Контактная информация:

Re: [WIKI] FAQ по EMC2 LinuxCNC

Сообщение arman »

:cry:
Ответить

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