Конфигурация EMC2 LinuxCNC

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

Конфигурация EMC2 LinuxCNC

Сообщение Nick »

После того как Вы произвели установку EMC2, можно переходить к конфигурации.
Начнем с простого пути, использования утилиты Stepconf. Sterconf это графическая утилита для настройки EMC2 для различных станков. Конечно она не реализует все возможности EMC2, но подойдет для большинства станков со step-dir контроллерами управляемыми через lpt порт. Stepconf устанавливается вместе с EMC2 и его можно запустить из меню Приложения -> EMC2 -> Stepconf.
Это незавершенный раздел, Вы можете помочь в его оформлении.
Нужны исправления, комментарии. Публикуйте их в этой теме.

Содержание


Настройка EMC2 (315661 просмотр) <a class='original' href='./download/file.php?id=781&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (41.24 КБ)</a>
Настройка EMC2
Конфигурация ЕМС2 (315661 просмотр) <a class='original' href='./download/file.php?id=780&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (44.23 КБ)</a>
Конфигурация ЕМС2

Выбор конфигурации

В первом окне Stepconf есть выбор: создать новую конфигурацию или изменить старую. Выбираем создать новую. Также можно проставить галки напротив Create shortcut, чтобы в последствии запускать EMC2 с созданной конфигурацией в один клик.

Screenshot-EMC2 Stepper Mill Configuration-2.png (315661 просмотр) <a class='original' href='./download/file.php?id=782&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (95.31 КБ)</a>

Параметры станка, контроллера и быстродействия

Настройки станка
Вводим название станка, в документации говорится, что можно использовать заглавные и строчные буквы, цифры и знаки "-" и "_".
Выбираем конфигурацию осей. XYZ (Фрезер), XYZA (4-х осевой фрезер) или XZ (Токарный станок). Названия только для примера. Если у Вас двух осевой станок, то можете выбрать XYZ, и ось Z оставить не настроенной.
Единицы измерения станка: дюймы или миллиметры.

Настройки контроллера
Можно выбрать из набора предустановленных параметров если Ваш контроллер в список. Или настроить все самому.
Параметры Step time, Step space, Direction hold, Direction setup смотрите в документации к вашему контроллеру.

Настройки lpt
Если у Вас только один lpt, то можно ничего не трогать по умолчанию стоит установка стандартного адреса lpt порта.

Настройки быстродействия
Base period - это одна из основных величин быстродействия, она определяет максимальную скорость работы с контроллером. Она определяет так называемый heartbeat (сердцебиение системы в целом) от которого зависит время для генерации сингала Step. Фактически, чем меньше base period тем больше максимальная частота генерации шагов (например, при Base period = 30 000 ns максимальная частота генерации шагов равна 33333Гц, что при 200 шагах на оборот в режиме микрошага 1:8 дает максимум 20 оборотов в секунду).

Base period зависит от параметров компьютера. Правильно определить base period можно при помощи утилиты Latency test, она тоже входит в состав EMC2. Latency это задержка с которой компьютер может остановить процесс работы для обработки внешнего запроса. В нашем случае, запросом является периодичный "heartbeat" (стук сердца) на основе которого вычисляется нужное время для следующего шага. Для того, чтобы контроллер работал правильно и не пропускал шаги минимальный base period должен быть равным длительность direction setup+direction hold+step space+maximum latency.

Итак, запускаем Latency test, и пытаемся нагрузить компьютер разными задачами, чтобы наверняка получить максимальную задержку. Можно запустить проигрываться фильм, полазить по интернету, скопировать большой файл, перемещать окна. Через несколько минут смотрим значение Base thread Max jitter (максимальное дрожание base period) и вставляем это значение в соответствующую строку в Stepconf.

Onscreen prompt for tool change - уведомление о смене инструмента. Если эта опция включена, то EMC2 будет останавливаться и выдавать сообщение о смене инструмента, каждый раз, когда в управляющей программе будет встречаться код M6. Оставьте эту опцию включенной, только если Вы не собираетесь делать автоматическую смену инструмента.

Настройка LPT для EMC2 (315661 просмотр) <a class='original' href='./download/file.php?id=783&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (99.1 КБ)</a>
Настройка LPT для EMC2
Настройка LPT для EMC2 (315661 просмотр) <a class='original' href='./download/file.php?id=784&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (88.29 КБ)</a>
Настройка LPT для EMC2

Настройки пинов LPT

На этой странице мы можем настроить значения всех пинов параллельного порта.
Значения для этих настроек смотрите в документации к контроллеру.

Настройка осей станка в EMC2 LinuxCNC (315661 просмотр) <a class='original' href='./download/file.php?id=785&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (66.88 КБ)</a>
Настройка осей станка в EMC2 LinuxCNC
Проверка настроек осей LinuxCNC (315661 просмотр) <a class='original' href='./download/file.php?id=786&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (21.23 КБ)</a>
Проверка настроек осей LinuxCNC

Настройка осей станка

Далее настраиваем все оси станка:

Motor Steps Per Revolution - количество шагов двигателя на один оборот.

Driver Microstepping - настройка микрошага контроллера. Для микрошага 1:8 устанавливайте "8"

Pulley Ratio - значение редуктора, если между валом двигателя и ходовым винтом стоит редуктор установите передаточное число.

Leadscrew Pitch - шаг ходового винта. Можно поменять направление движения вдоль оси установив отрицательное значение шага винта.

Maximum Velocity - Максимальная скорость перемещения.

Maximum Acceleration - Максимальное ускорение по данной оси.

Home Location - положение начала оси. Это положение в котором станок остановится после поиска начала.

Table Travel - границы оси. Положение начала должно быть внутри table travel, причем оно не должно совпадать с границами оси.

Home Switch Location - Положение концевика начального положения. Если у Вас совмещены home switch и limit switch в одном концевике, то значение home location не должно быть равным home switch location иначе появится ошибка "joint limit error", т.е. станок не должен остановиться в точке срабатывания ограничительного концевика.

Home Search Velocity - скорость поиска начала оси. Если концевой датчик расположен рядом с концом оси это значение должно быть выбрано с учетом того, что станок должен будет успеть остановиться до того как он ударится о конец оси. Если концевик замыкается только когда ответная часть рядом с ним, то скорость должна быть выбрана таким образом, чтобы станок успел остановиться пока концевик не разомкнулся. Если станок движется в противоположную сторону от концевика при поиске начала установите отрицательную скорость.

Home Latch Direction - направление уточнения начала, после первоначальной установки начала, они уточняются на очень маленькой скорости. Если выбрана опция "Same" при повторном срабатывании концевика начала будут установлены, если "Opposite" станок будет медленно откатываться пока концевик не разомкнется.

Ниже будут приведены вычисления параметров оси:
  • Time to accelerate to max speed - время ускорения до максимальной скорости (время остановки)
  • Distance to accelerate to max speed - дистанция ускорения до максимальной скорости (дистанция остановки)
  • Pulse rate at max speed - частота сигналов на максимальной скорости
  • Axis SCALE - количество шагов в одной единице измерения шагов/мм (шагов/дюйм)
После введения всех параметров ось можно протестировать. Для этого нажимаем Test this axis.

Настройка управления шпинделем в EMC2 (315661 просмотр) <a class='original' href='./download/file.php?id=787&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (32.67 КБ)</a>
Настройка управления шпинделем в EMC2

Настройка шпинделя

Если шпиндель регулируется при помощи ШИМ:
Устанавливаем Carrier frequency (Несущая частота) согласно инструкции к Вашему контроллеру шпинделя.
Устанавливаем Speed 1, Speed 2, PWM 1, PWM 2 - значения скоростей в оборотах в минуту при заданном значении ШИМ. Эту информацию можно найти в инструкции к Вашему контроллеру, либо попробовать определить самостоятельно. Этими параметрами определяется линейная зависимость скорости шпинделя от значения PWM.

Дополнительные настройки EMC2 (315661 просмотр) <a class='original' href='./download/file.php?id=788&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (70.45 КБ)</a>
Дополнительные настройки EMC2

Настройка дополнительного интерфейса

  • Include Halui - Добавить пользовательскую панель Halui.
  • Include PyVCP GUI panel - Добавить панель pyVCP.
    См. статью по настройке и применению pyVCP в EMC2
  • Include ClassicLadder PLC - Добавить программируемый контроллер на лестничной логике (Programmable Ladder Logic Controller).

Окончание настройки EMC2 (315661 просмотр) <a class='original' href='./download/file.php?id=789&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (74.23 КБ)</a>
Окончание настройки EMC2

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение nkp »

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

Re: Конфигурация EMC2 LinuxCNC

Сообщение nkp »

ну и думаю,что недолго попробовать без hal_manualtoolchange
Аватара пользователя
ScrewDriver
Мастер
Сообщения: 1942
Зарегистрирован: 06 сен 2016, 01:44
Репутация: 498
Настоящее имя: Василий
Откуда: Москва
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ScrewDriver »

verser писал(а):Попробуйте вставить в начало подпрограммы голую команду M6 (обоснование):

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

O<tool-change> SUB

...

M6                                              ( do the normal M6 stuff )
G53 G1 F33 Z[#<_TravelZ>]                       ( go to high travel level on Z )
G53 G1 F55 X[#<_ProbeX>] Y[#<_ProbeY>]          ( to probe switch )

O<tool-change> ENDSUB
M2
Ремап был отключен, сейчас все проверю
Ничего не изменилось
nkp писал(а):а что за тип движения в motion.motion−type , когда в нули едет ?
когда вверх едет - 2, когда по Х У - 1

При этом повторюсь - скорости странные.
nkp писал(а): ну и думаю,что недолго попробовать без hal_manualtoolchange
вообще axis завис после исполнения M6 T2. движения при этом не было
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Аватара пользователя
ScrewDriver
Мастер
Сообщения: 1942
Зарегистрирован: 06 сен 2016, 01:44
Репутация: 498
Настоящее имя: Василий
Откуда: Москва
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ScrewDriver »

Парни, что еще можно поковырять по моей проблеме?
Не знаю куда копать если честно.
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
dima03151503
Новичок
Сообщения: 1
Зарегистрирован: 05 авг 2019, 20:46
Репутация: 0
Настоящее имя: Кириленков Дмитрий Сергеевич
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение dima03151503 »

Nick прошу помоги !!!!! есть куча вопросов , читаю все ответы твои и многое понятно а на многое не могу найти ответы. Изучаю программу PowerMill 2018 _______ вопрос , что такое постпроцесор и где его взять для LinuxCNC и для Mach3 ??? Я немного понимаю что такое Mach3 и понимаю что он будет работать медленно с 4осями и как многие говорят менее стабильно . Но LinuxCNC для меня полный лес. Я установил прописал все но для него G-код не могу вытащить из PowerMill 2018 . Ради тебя зарегистрировался тут чтобы ты подсказал. В долгу не останусь. ватсап +79180419161. помоги!!
Аватара пользователя
Sakhalin_Cat
Мастер
Сообщения: 631
Зарегистрирован: 20 авг 2012, 12:49
Репутация: 340
Настоящее имя: Рогозин Константин Владимирович
Откуда: Южно-Сахалинск
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Sakhalin_Cat »

1) Как в EMC2 сделать "логический контроллер" например 3ИЛИ-НЕ (3входа+1= выход+1) Или подобные?
У меня просто есть часть электроавтоматики где нужна софтовая (релейная логика) иначе надо либо реле программируемое ставить либо еще какой огород городить.
К примеру КПП шпинделя, она у меня электро-пневмо-гидравлическая. Куча электроклапанов которыми надо управлять. К примеру включать для первой передачи клапаны 1,4,7. Причем я должен еще иметь какой-то STDOUT с концевиков коробки чтобы получит READY от КПП для разрешения на старт шпинделя. Да и прочую беду хотелось бы в каком-то .hal файле прописать, чтобы конфигурабельно было и изменябельно.

2) Где прописать таймеры например для смазочных насосов? Чтобы цикл можно было с условиями прописывать. Например - При запуске станка работаем 45 секунд (если поплавок датчика масла замкнут, , иначе ошибка "3й категории"), через 45 секунд цикл включаемся каждые 120секунд на 15 секунд(если поплавок датчика масла замкнут, иначе ошибка "3й категории")...... Ошибка "3й категории" - включена сирена и индикация на панели, операции не прерываются, но повторный запуск шпинделя не возможен)

Упрощенно-
Есть меса 32входа 16 выходов, как из неё замутить реалтайм ПЛК на LinuxCNC?

Где почитать ткните в ссылку пожалуйста..
Аватара пользователя
Sakhalin_Cat
Мастер
Сообщения: 631
Зарегистрирован: 20 авг 2012, 12:49
Репутация: 340
Настоящее имя: Рогозин Константин Владимирович
Откуда: Южно-Сахалинск
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Sakhalin_Cat »

уже нашел. читаю..

Кстати ссылки в шапке не работают. Доступа к локам по ссылкам нет.
Аватара пользователя
rehden
Мастер
Сообщения: 201
Зарегистрирован: 06 мар 2012, 12:31
Репутация: 33
Настоящее имя: Денис
Откуда: Павловский Посад
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение rehden »

Всем привет!
На досуге довелось мне потестировать одну сенсорную панель под производительность Linuxcnc.
Сама Панель
Установка на внутреннюю ssd память 32гб. ставил образ LinuxCNC Uspace 2.7.0 Debian 9 Stretch с ядром PREEMPT-RT с расчетом использовать сетевую мессу в будущем.
кроме настройки isolcpus=1, болше не че не настраивал. на картинке видно что запущено. тестил часов 5-6. как я понимаю результаты вполне приличные. если не прав то поправте.
но не обошлось без ложки дегтя....
1-разрешение экрана 800x600- в полноэкранном режиме умещается только стандартный axis. и то без доп панелей. направьте на путь как редактировать стандартные интерфейсы на другое разрешение. другие тестовые интерфейсы не влезают. перепробовал все тестовые которые доступны для симуляции.
2-не работает тач экран. при чем самое странное что он работал во время установки системы. а после запуска установленной системы отказывается работать. пробовал вот по этой инструкции тык.... не помогло. сам татч видится системой. но не работает. он также отображается в устройствах ввода там где мышку видно.
сразу скажу панель досталась за одну халтурку с большой скидкой.
Аватара пользователя
dinkata
Мастер
Сообщения: 1025
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 389
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение dinkata »

rehden писал(а):направьте на путь как редактировать стандартные интерфейсы на другое разрешение
Работал с gmoccapy LCD 7 , разрешение 800х600
main.png (8981 просмотр) <a class='original' href='./download/file.php?id=169022&sid=f147cb47f30a6f077a6d461fb9c08a38&mode=view' target=_blank>Загрузить оригинал (87.64 КБ)</a>
подробнее здес:
http://machinekit-gmoccapy-lcd7.blogspo ... to-la.html
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
vitzin
Мастер
Сообщения: 410
Зарегистрирован: 27 фев 2020, 14:16
Репутация: 55
Настоящее имя: viktor vizin
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение vitzin »

Десять лет назад пытался угаварить линукс ехать по У в минус хамится,не угаварил.
Сейчас тоже что-то не получается,чтоб не делал,но не желает ехать в минус.
Менял махимальный и миминамльный лимит,Мин стоял -270,мах 0,поменял Мин 0,мах 270,нифига,
в каком то одном случае,не помню,забыл,не знал,поехал в минус хомится,а потом кричит,не магу переехать канцевик
в плюс,или в минус,блин,надо ставить русскую версию Линукса,может там по русский ругатся будет,а то немецкая на
английском ругается.
всё перепробавал,в хал в хоме У дописал мин,не работает,в 2.8 меняет напровления хомления,в 2.7.14
не желает.

Неужели всё так сложно?хорошо что я тогда дачики на хомления на обе стораны поставил,потому-что
досовская программа брала их,как концевики,а если дачик один?,что тогда?
переделывать?

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

Re: Конфигурация EMC2 LinuxCNC

Сообщение Serg »

http://linuxcnc.org/docs/2.7/html/confi ... oming.html
Как объяснить ещё проще я не представляю...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
vitzin
Мастер
Сообщения: 410
Зарегистрирован: 27 фев 2020, 14:16
Репутация: 55
Настоящее имя: viktor vizin
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение vitzin »

Аха,спасибо,я это уже пробывал понять сегодня,в два часа ночи,попробую на свежую голаву,может дойдёт
Аватара пользователя
vitzin
Мастер
Сообщения: 410
Зарегистрирован: 27 фев 2020, 14:16
Репутация: 55
Настоящее имя: viktor vizin
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение vitzin »

Вот же блин,читал,читал,а получается,смотрим в книгу,видим фигу,
а всего то надо,в "Дома заржевэл" минус поставить :hehehe:
Аватара пользователя
stetz.anton
Почётный участник
Почётный участник
Сообщения: 298
Зарегистрирован: 14 дек 2015, 01:25
Репутация: 138
Настоящее имя: Антон
Откуда: Москва СВАО
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение stetz.anton »

Всем привет. В 2.8 появились приятные интерфейсы типа qtDragon. Каким образом там выполняется конфигурация пинов для ЛПТ? Даже задам вопрос глобальнее. Каким образом задать все настройки (пины, размеры, подачи и т.п.) не используя stepconf? HAL и INI файлы или что то еще нужно? Я создал для axis через stepconf и потом поправил ini файл, поправив в [DISPLAY] пару строчек
DISPLAY = qtvcp qtdragon
PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon.pref

сейчас поймал ошибку про "Joint on limit switch error", это судя по всему какой то конфликт в связи с тем, что у меня все 3 оси висят на одном пине и какой то параметр с кем то конфликтует. Кто с кем?
Изображение
Рамиль Сафиуллин
Мастер
Сообщения: 391
Зарегистрирован: 29 дек 2020, 10:52
Репутация: 7
Настоящее имя: Рамиль Сафиулин
Откуда: Татарстан
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Рамиль Сафиуллин »

Всех приветствую! Ребят подскажите, пожалуйста, у меня токарный универсальный сделанный под ЧПУ, стоит emc 2, но фрезерная версия, диаметр указывается через Y, а длина через Х, по Z- координата 0.Проблема - я не могу резать резьбу через G33, станок просто останавливается и все. Когда ставлю токарную версию, двигателя не крутятся и ничего никуда не едет, хотя в программе показывает как будто движение идет. Где то тут на форуме прочитал, что резьбы режутся только в токарной версии. Вопрос: Где в настройках EMC2 поменять порты местами или что нужно поменять и где, чтобы в токарной версии по координатам XZ начали правильно работать двигателя. Спасибо
Все чему ты научился и можешь применить - это плоды твоего «терпения».
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Kost_irk »

А вы первое сообщение вообще читали? Stepconf запускали?
Рамиль Сафиуллин
Мастер
Сообщения: 391
Зарегистрирован: 29 дек 2020, 10:52
Репутация: 7
Настоящее имя: Рамиль Сафиулин
Откуда: Татарстан
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Рамиль Сафиуллин »

Спасибо!! В итоге я его прочитал первое сообщение много много раз пока вник, и просидев несколько часов в StepConf все таки настроил токарную версию,
но но. резьбу так и не режет
я пишу код так

g00 x20 z 3
G33 z-50 k2 ( где K - количество мм на оборот шпинделя)

пробовал c g33.1 тоже также
доезжает до точки x20 z3 - останавливается и все дальше не едет никуда.
Подскажите, пожалуйста, куда дальше копать?
Все чему ты научился и можешь применить - это плоды твоего «терпения».
alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение alex_sar »

нужна подключить z метку шпинделя.
он её ждёт чтобы начать цикл g33
Рамиль Сафиуллин
Мастер
Сообщения: 391
Зарегистрирован: 29 дек 2020, 10:52
Репутация: 7
Настоящее имя: Рамиль Сафиулин
Откуда: Татарстан
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Рамиль Сафиуллин »

)) а как это сделать? можете немного подробнее?
Все чему ты научился и можешь применить - это плоды твоего «терпения».
Ответить

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