WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
vtgmfg
Мастер
Сообщения: 1546
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 57
Настоящее имя: Максим
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение vtgmfg »

daemon78 писал(а): Без это строки шпиндель не раскручивается на 35А. Закомментировал и тишина, раскомментировал и все работает
так и в м5 надо
Аватара пользователя
daemon78
Мастер
Сообщения: 1693
Зарегистрирован: 02 окт 2018, 15:02
Репутация: 103
Настоящее имя: Владимир
Откуда: Москва
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение daemon78 »

vtgmfg писал(а): 18 сен 2023, 12:13
daemon78 писал(а): Без это строки шпиндель не раскручивается на 35А. Закомментировал и тишина, раскомментировал и все работает
так и в м5 надо
И там то же комментировал. Сразу в трех, М4 по инерции то же изменил.
Аватара пользователя
daemon78
Мастер
Сообщения: 1693
Зарегистрирован: 02 окт 2018, 15:02
Репутация: 103
Настоящее имя: Владимир
Откуда: Москва
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение daemon78 »

Вопрос.
Прочитал описание пробинга, но как всегда недопонял.

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

3.2 Пробинг
Проббинг состоит из 3 основных этапов.
 Очистка прошлых данных
 Добавление задания пробинга
 Ожидание завершения и считывания полученных данных
Общий пример:
MACHINE.clearGProbe(); //очищаем данные прошлого пробинга
MACHINE.addGProbeXY(0,0,-2,0,10); //добавляем точку пробинга. Ожидаемая точка с
координатами 0,0,-2 направление пробинга 0 градусов (вдоль оси X +) расстояние пробинга 10 .
Индекс этой точки 0
MACHINE.goGProbe(); //запускаем проббинг
while(MACHINE.isActiv()) SCRIPT.process() //ожидаем его завершения
var Xsc = MACHINE.getGProbeSC(0,"X") //берём значении X в текущей системе координат
var Ysc = MACHINE.getGProbeSC(0,"Y") //берём значении Y в текущей системе координат
var X = MACHINE.getGProbe(0,"X") //берём значении X в системе координат G53 (станка)
var Y = MACHINE.getGProbe(0,"Y") //берём значении Y в системе координат G53 (станка)
Хочу сделать автоматический обмер заготовки по следующему алгоритму:
1. Подвел вручную к тому месту где делать замер высоты
2. Ввел данные о безопасном расстоянии по Х и У и запустил процесс

3Д Щуп выполняет следующее:
1. Определяет высоту, подымает щуп
2. Отъезжает на безопасное расстояние по Х
3. Опускает щуп и едет по Х до касания, фиксирует координаты
4. Подымает щуп
5. Едет на безопасное расстояние по У, а по Х смещается в точку замера высоты заготовки
6. Опускает щуп и едет по Y до касания, фиксирует координаты

Начнем с пункта 1, там, видимо, надо использовать void addGProbeXY(X,Y,Z,angle,distance,
distanceA);/void goGProbe()
А теперь вопрос. После выполнения функции будет отскок? Вызов функции double getGProbe(index,nameCoord) вернет координату касания до или после отскока?
Для пунктов 3 и 6 так же надо использовать функции addGProbeXY, goGProbe и getGProbe или там какая то другая специфика?
vtgmfg
Мастер
Сообщения: 1546
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 57
Настоящее имя: Максим
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение vtgmfg »

Акция!! Оказываю поддержку по хоумингу в обмен на рабочий скриптовый хоуминг без апдейта данных(MACHINE.goDriveVerify() ?), с симуляцией.. год уже жду.
daemon78 писал(а): После выполнения функции будет отскок?
будет - на исходную позицию. это кмк неправильно - но вот так.
Аватара пользователя
daemon78
Мастер
Сообщения: 1693
Зарегистрирован: 02 окт 2018, 15:02
Репутация: 103
Настоящее имя: Владимир
Откуда: Москва
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение daemon78 »

Как разблокировать эти элементы
hidden.png (1200 просмотров) <a class='original' href='./download/file.php?id=209284&sid=57f8f31fe8accd432f1b071099daf406&mode=view' target=_blank>Загрузить оригинал (104.68 КБ)</a>
при условии, что подключение
settings.png (1200 просмотров) <a class='original' href='./download/file.php?id=209285&sid=57f8f31fe8accd432f1b071099daf406&mode=view' target=_blank>Загрузить оригинал (31.32 КБ)</a>
выполнено
grey.png
grey.png (2.8 КБ) 1198 просмотров
vtgmfg
Мастер
Сообщения: 1546
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 57
Настоящее имя: Максим
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение vtgmfg »

что значит разблокировать? насколько я помню какие то функции просят поставить enable в ини.. а тут - а замер по Z сделан?
в штатных скриптах нужно сначала Z привязать -тогда кнопки XY активируются, а до того сам щуп обмерить

point Z нужно пройти
Аватара пользователя
daemon78
Мастер
Сообщения: 1693
Зарегистрирован: 02 окт 2018, 15:02
Репутация: 103
Настоящее имя: Владимир
Откуда: Москва
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение daemon78 »

vtgmfg писал(а): 18 сен 2023, 15:49 что значит разблокировать? насколько я помню какие то функции просят поставить enable в ини.. а тут - а замер по Z сделан?
в штатных скриптах нужно сначала Z привязать -тогда кнопки XY активируются, а до того сам щуп обмерить

point Z нужно пройти
Понял, спасибо.
В видео, чтобы обмерить щуп в номере инструмента надо поставить 0. У меня ругается, говорит инструмент не может быть ноль.

Важный вопрос: Какова область видимости переменных, объявленных вне тела функций? Они доступны из каждого скрипта?
vtgmfg
Мастер
Сообщения: 1546
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 57
Настоящее имя: Максим
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение vtgmfg »

daemon78 писал(а): Важный вопрос: Какова область видимости переменных, объявленных вне тела функций? Они доступны из каждого скрипта?
тут какой то древний JS, и все не так
let - не поддерживается
правила похожи на эти:
https://skillbox.ru/media/code/chem_raz ... avascript/
если без var объявлена или с var в мскрипте - то глобальная
daemon78 писал(а): В видео, чтобы обмерить щуп в номере инструмента надо поставить 0. У меня ругается, говорит инструмент не может быть ноль.
по видео ничего не могу сказать. Т0 раньше не поддерживался, сейчас вроде должен - но я не использую на всякий случай.
klepa
Новичок
Сообщения: 18
Зарегистрирован: 23 авг 2023, 12:42
Репутация: 3
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение klepa »

Все с осями разобрался,надо в доках ссылку на видео сделать,чтобы голову не ломать
Аватара пользователя
daemon78
Мастер
Сообщения: 1693
Зарегистрирован: 02 окт 2018, 15:02
Репутация: 103
Настоящее имя: Владимир
Откуда: Москва
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение daemon78 »

klepa писал(а): 18 сен 2023, 16:49 Все с осями разобрался,надо в доках ссылку на видео сделать,чтобы голову не ломать
А какое видео?
Мне то же скоро качегарить четвертую

Вопрос по функции addGProbeZ
addGProbeZ.png (1176 просмотров) <a class='original' href='./download/file.php?id=209287&sid=57f8f31fe8accd432f1b071099daf406&mode=view' target=_blank>Загрузить оригинал (23.73 КБ)</a>
Как соотносятся Z - координата ожидания контакта и distance - расстояние до контакта
По идее, в этом случае Z = Zначала сканирования + distance с обратным знаком если в минус едем.
Зачем это дублирование? И отсюда вопрос, а что если я укажу ожидаемую Z которая не подчиняется вышеописанному правилу? Что тогда будет делать станок?
Аватара пользователя
wldev
Мастер
Сообщения: 1647
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение wldev »

daemon78 писал(а): 18 сен 2023, 16:53
klepa писал(а): 18 сен 2023, 16:49 Все с осями разобрался,надо в доках ссылку на видео сделать,чтобы голову не ломать
А какое видео?
Мне то же скоро качегарить четвертую

Вопрос по функции addGProbeZ
addGProbeZ.png
Как соотносятся Z - координата ожидания контакта и distance - расстояние до контакта
По идее, в этом случае Z = Zначала сканирования + distance с обратным знаком если в минус едем.
Зачем это дублирование? И отсюда вопрос, а что если я укажу ожидаемую Z которая не подчиняется вышеописанному правилу? Что тогда будет делать станок?
Например вы предполагаете что у вас контакт должен произойти в точке = 100 (предполагаемая точка контакта).
И вы даёте диапазон отклонения до +10(distance) и после 10(distanceA)
Тогда поиск будет таким.
1 Быстро переедет в XY
2 Быстро опустится до 100+10 = 110
3 Будет ехать в ожидании контакта до 100-10 = 90

В режиме симуляции примет значение сработки = 100
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1647
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение wldev »

daemon78 писал(а): 18 сен 2023, 09:48 Всех приветствую.
Сергей, спасибо за улучшения проги, отработал выходные на разных задачах от iMachinig до рельефа на мягкой древесине.
Но, как всегда одно но. На сверлении (без G кодов сверления) прога вылетела из под линюха.
Сделал фото ошибки в командной строке.
Bus error.png
Bus error
Что за шина, какая ошибка - не ведомо



PS. Заказал твои платы по расширению входов, чтобы прицепить 3Д щуп, таблетку и датчик высоты. Начал разбираться с 3Д щупом, пока не вышло. Буду вкуривать исходники скриптов.
WLMill пишет debug последовательно в 3 файла (debug1,2,3). Которые находятся в папке debug. В случае таких ситуаций лучше их (файлы) прислать...
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1647
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение wldev »

vtgmfg писал(а): 18 сен 2023, 15:04 Акция!! Оказываю поддержку по хоумингу в обмен на рабочий скриптовый хоуминг без апдейта данных(MACHINE.goDriveVerify() ?), с симуляцией.. год уже жду.
daemon78 писал(а): После выполнения функции будет отскок?
будет - на исходную позицию. это кмк неправильно - но вот так.
В скрипты тяжело пока вынести. Получается очень громостко... Из-за подчинённых осей.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
daemon78
Мастер
Сообщения: 1693
Зарегистрирован: 02 окт 2018, 15:02
Репутация: 103
Настоящее имя: Владимир
Откуда: Москва
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение daemon78 »

wldev писал(а): 19 сен 2023, 05:46
daemon78 писал(а): 18 сен 2023, 16:53
klepa писал(а): 18 сен 2023, 16:49 Все с осями разобрался,надо в доках ссылку на видео сделать,чтобы голову не ломать
А какое видео?
Мне то же скоро качегарить четвертую

Вопрос по функции addGProbeZ
addGProbeZ.png
Как соотносятся Z - координата ожидания контакта и distance - расстояние до контакта
По идее, в этом случае Z = Zначала сканирования + distance с обратным знаком если в минус едем.
Зачем это дублирование? И отсюда вопрос, а что если я укажу ожидаемую Z которая не подчиняется вышеописанному правилу? Что тогда будет делать станок?
Например вы предполагаете что у вас контакт должен произойти в точке = 100 (предполагаемая точка контакта).
И вы даёте диапазон отклонения до +10(distance) и после 10(distanceA)
Тогда поиск будет таким.
1 Быстро переедет в XY
2 Быстро опустится до 100+10 = 110
3 Будет ехать в ожидании контакта до 100-10 = 90

В режиме симуляции примет значение сработки = 100
Огромное спасибо, теперь все понятно. Может этот пример в документацию внести?
Debug на выходных вышлю.
Скажи пожалуйста, а как включить режим симуляции?
vtgmfg
Мастер
Сообщения: 1546
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 57
Настоящее имя: Максим
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение vtgmfg »

wldev писал(а): 19 сен 2023, 06:42
vtgmfg писал(а): 18 сен 2023, 15:04 Акция!! Оказываю поддержку по хоумингу в обмен на рабочий скриптовый хоуминг без апдейта данных(MACHINE.goDriveVerify() ?), с симуляцией.. год уже жду.
daemon78 писал(а): После выполнения функции будет отскок?
будет - на исходную позицию. это кмк неправильно - но вот так.
В скрипты тяжело пока вынести. Получается очень громостко... Из-за подчинённых осей.
с кнопки хоум работает хоуминг.. все мне что нужно - делать это со скрипта но не апдейтить координаты автоматически, + режим симуляции. или сделать мод функции Проб - но ее нужно как то зацепить на 3 входа. это было бы интереснее.
vtgmfg
Мастер
Сообщения: 1546
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 57
Настоящее имя: Максим
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение vtgmfg »

wldev писал(а): 19 сен 2023, 05:46
daemon78 писал(а): 18 сен 2023, 16:53
klepa писал(а): 18 сен 2023, 16:49 Все с осями разобрался,надо в доках ссылку на видео сделать,чтобы голову не ломать
А какое видео?
Мне то же скоро качегарить четвертую

Вопрос по функции addGProbeZ
addGProbeZ.png
Как соотносятся Z - координата ожидания контакта и distance - расстояние до контакта
По идее, в этом случае Z = Zначала сканирования + distance с обратным знаком если в минус едем.
Зачем это дублирование? И отсюда вопрос, а что если я укажу ожидаемую Z которая не подчиняется вышеописанному правилу? Что тогда будет делать станок?
Например вы предполагаете что у вас контакт должен произойти в точке = 100 (предполагаемая точка контакта).
И вы даёте диапазон отклонения до +10(distance) и после 10(distanceA)
Тогда поиск будет таким.
1 Быстро переедет в XY
2 Быстро опустится до 100+10 = 110
3 Будет ехать в ожидании контакта до 100-10 = 90

В режиме симуляции примет значение сработки = 100
тут нет ответа на вопрос в какую точку вернется щуп. но кроме как в 110 некуда

Подъехать хочется визуально ~ на 10мм и искать на длину 20мм.. что как раз обычная ситуация. А отскочить удобно обычно не на 10, а на 1мм.
и получается заумь - DistZ нужно назначить 1мм, DistZA 19mm, а предполагаемый контакт назначить на 109мм, зная при том что что он на самом деле случится на 100..
Сколько раз я берусь за пробинг и каждый раз голову сломаешь. а по XY еще замысловатее

вкл симуляции
MACHINE.setSimulationGProbe(1)
кстати вот в режиме симуляции координаты препятствия бы мочь назначать независимо, а не находить его там где ожидается.

заложенным в функцию начальным перемещением в точку откуда начинается измерение по Z не пользуюсь - несколько не рационально.
Аватара пользователя
daemon78
Мастер
Сообщения: 1693
Зарегистрирован: 02 окт 2018, 15:02
Репутация: 103
Настоящее имя: Владимир
Откуда: Москва
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение daemon78 »

Очередной вопросик.
Как повесить переключение шага на какую ни будь клавишу?
режим.png
режим.png (4.92 КБ) 1116 просмотров
Очень задолбался на 7-и дюймовом экранчике мышкой тыкаться.
vtgmfg
Мастер
Сообщения: 1546
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 57
Настоящее имя: Максим
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение vtgmfg »

daemon78 писал(а): Очень задолбался на 7-и дюймовом экранчике мышкой тыкаться.
а ты тач попробуй
daemon78 писал(а): Как повесить переключение шага на какую ни будь клавишу
MACHINE.plusPercentManual()
MACHINE.minusPercentManual()
MACHINE.setPercentManual()
Аватара пользователя
daemon78
Мастер
Сообщения: 1693
Зарегистрирован: 02 окт 2018, 15:02
Репутация: 103
Настоящее имя: Владимир
Откуда: Москва
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение daemon78 »

Под линюкс 2.2.40 будет?
vtgmfg
Мастер
Сообщения: 1546
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 57
Настоящее имя: Максим
Контактная информация:

Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ

Сообщение vtgmfg »

если вопрос ко мне - я ничего про линукс не знаю.
а функции эти в доке есть. и в скрипте джойстика штатном используются кажется.
полезно в измерительных скриптах зарезать скорость ручных перемещений чтобы при наезде щупом станок успел остановиться. к сожалению скорость по диагонали будет в 1.4раза выше и соответственно придется ограничивать больше чем можно было бы.
кстати плохо что скорость ограничивается по осям отдельно.
еще -при переходе на использование щупа - ни клавиши никакие ни джог - для работы не нужны. ну только для НИР может быть
Ответить

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