WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
1. А что за применение? по идее для этого экранные функциональные клавиши есть..
2. без защиты?
я бы вообще все перемещения сделал в 2 шага чтобы исключить случайный запуск. в том числе и хоуминг.
2. без защиты?
я бы вообще все перемещения сделал в 2 шага чтобы исключить случайный запуск. в том числе и хоуминг.
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Можно сделать запуск программы от физической кнопки (срабатывание входа) или кнопки на экране(и к ней привязать "горячую кнопку" клавиатуры). Суть одна запускается скрипт ->> запуск программы
напишу пример попозже...
PS опасно от одной кнопки на клавиатуре.
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Запуск программы от клавиатуры.
1 создаём кнопку
2 устанавливаем название и вызываемую функцию
3 привязываем к кнопке на клавиатуре (рекомендую использовать комбинации)
в скрипт MScript добавляем 2 функции
function startCurGProgram()
{
if( !MACHINE.isRunGProgram()){ //если программа не запущена
MACHINE.runGProgram(0);
}
}
function myStartButton()
{
TOOLBAR1.addButton("MYSTARTBUTTON")
MYSTARTBUTTON.setShow(1);
MYSTARTBUTTON.setText("startProgram")
MYSTARTBUTTON.setScript("startCurGProgram()");
MYSTARTBUTTON.setShortcut("F2")
}
Из меняем функцию init() добавляя вызов myStartButton()
function init()
{
myStartButton()
.....
}
1 создаём кнопку
2 устанавливаем название и вызываемую функцию
3 привязываем к кнопке на клавиатуре (рекомендую использовать комбинации)
в скрипт MScript добавляем 2 функции
function startCurGProgram()
{
if( !MACHINE.isRunGProgram()){ //если программа не запущена
MACHINE.runGProgram(0);
}
}
function myStartButton()
{
TOOLBAR1.addButton("MYSTARTBUTTON")
MYSTARTBUTTON.setShow(1);
MYSTARTBUTTON.setText("startProgram")
MYSTARTBUTTON.setScript("startCurGProgram()");
MYSTARTBUTTON.setShortcut("F2")
}
Из меняем функцию init() добавляя вызов myStartButton()
function init()
{
myStartButton()
.....
}
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Запуск по входу контроллера
добавляем функцию в LScript
function startCurGProgram()
{
if( !MACHINE.isRunGProgram()){ //если программа не запущена
MACHINE.runGProgram(0);
}
}
И добавляем условие обрабортки состояния входов
function changedInput(index,state)
{
if( state==1 // по положительному фронту
&& index==5) {// входа №5
startCurGProgram()
}
....
}
добавляем функцию в LScript
function startCurGProgram()
{
if( !MACHINE.isRunGProgram()){ //если программа не запущена
MACHINE.runGProgram(0);
}
}
И добавляем условие обрабортки состояния входов
function changedInput(index,state)
{
if( state==1 // по положительному фронту
&& index==5) {// входа №5
startCurGProgram()
}
....
}
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
WLMill. Добавилась поддержка джостика
Также при изменение состояния органов управления вызываются функции в скрипте LScript
function changedButtonJoystick(id,button,press) //нажатие на кнопку джостика
{
if(press)
SCRIPT.console("Joystick "+id+" button "+button+" pressed")
else
SCRIPT.console("Joystick "+id+" button "+button+" released")
}
function changedPOVJoystick(id,number,angle) //нажатие на курсор крест (джостика)
{
SCRIPT.console("Joystick "+id+" POV "+number+" angle "+angle)
}
function changedAxisJoystick(id,axis,value) //пропорциональные оси
{
SCRIPT.console("Jostick"+id+" axis "+axis+" value "+value)
}
Также был написан базовый скрипт WLJoystick.js . В котором есть описание и базовое определение функций.
Левый джостик перемещения по XY. Правый по ZA. Нажатие на левый джостик уменьшает макс. скорость на правый увеличивает.
Вверх/вниз увеличивает/уменьшает корректор S;
Вправо/влево увеличивает/уменьшает корректор F;
Кнопка Start = кнопка пуск.
В скриптах добавился элемент JOYSTICK
Также при изменение состояния органов управления вызываются функции в скрипте LScript
function changedButtonJoystick(id,button,press) //нажатие на кнопку джостика
{
if(press)
SCRIPT.console("Joystick "+id+" button "+button+" pressed")
else
SCRIPT.console("Joystick "+id+" button "+button+" released")
}
function changedPOVJoystick(id,number,angle) //нажатие на курсор крест (джостика)
{
SCRIPT.console("Joystick "+id+" POV "+number+" angle "+angle)
}
function changedAxisJoystick(id,axis,value) //пропорциональные оси
{
SCRIPT.console("Jostick"+id+" axis "+axis+" value "+value)
}
Также был написан базовый скрипт WLJoystick.js . В котором есть описание и базовое определение функций.
Левый джостик перемещения по XY. Правый по ZA. Нажатие на левый джостик уменьшает макс. скорость на правый увеличивает.
Вверх/вниз увеличивает/уменьшает корректор S;
Вправо/влево увеличивает/уменьшает корректор F;
Кнопка Start = кнопка пуск.
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
кстати у меня это не работало. да и не надо если есть экспоненциальная зависимость от угла отклонения .
мертвая зона бытового джойстика гадит.. она нужна - но не такая огромная как 20%. если кто знает софтовые способы управления чипом - пишите тут.
можно ее минимизировать аппаратно и не особо сложно..но если есть какие то софтовые настройки - почему бы не воспользоваться.
по дефолту зона нечувствительности у меня в проводном юсб джойстике 2...3В(при шкале линейного пота 0..5В). АЦП чипа по поведению - 8 бит
не думаю что это удачная идея категорически. кнопке Start (а лучше бы ее назвать Run - смысл пошире и можно выкинуть тогда Continue) должен предшествовать переход управления из ручного в автоматический.. если бы такая кнопка у меня была - я бы ее вырвал с корнем , чтобы случайно не нажать. но ее уже нет.
остальные кнопки стандартного пульта тоже вызывают сомнения.. S и F - но это не так страшно. но вот какой смысл в них в пульте который нужен только чтоб приехать в нужную точку?
Я купил пульт такой. раздербанил в ноль. оставил проц и джойстики. Кнопки может и задействую но только для скриптов типа "ехать на парковку", "ехать отмокать", "ехать на точку замены" , "ехать на сервис".. т.е по смыслу. буду делать чтото более удобоваримое, так как игровая консоль в исходном виде это конечно треш, это непригодное устройство в исходном виде .. ну а какой выбор? ни мышь, ни тач, ни кнопки клавиатуры - вообще не пригодны в существующем интерфейсе. А половина аварий именно изза интерфейса. Есть еще маховичок..это конечно соответствует современной тенденции "вперед в прошлое" - но только чур без меня. я накрутился маховичков еще в школе, в 70х.
-Но (разработчику респект) есть бета возможность экспоненциального управления джойстиком. Это как по мне делает не особо нужным переключение скоростей и джог/не джог, которые собственно и есть прямейший путь к авариям
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Долго думал как сделать настройку более гибкой.
В результате можно скорректировать функции скриптов и получить какой угодно функционал. Кому как нравится...
В результате можно скорректировать функции скриптов и получить какой угодно функционал. Кому как нравится...
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Также в новой beta добавлена возможность использования компенсации радиуса инструмента.
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Небольшие новости.
Несколько лет назад, пытался использовать одноплатник OrangePi PC совместно с программой для гибки проволоки WLBend. Оказалось она очень сильно тормозила. И работать было невозможно. Но с WLMill более или менее.
Из-за этого перешёл на RasberryPi 4 всё работает хорошо.
Но в свете последних изменений цен последний стал достаточно дорогим. И тут я решил тряхнуть старину.
Взял OrangePi PC и самый последний Armbian. И о чудо всё стало работать быстрее, почему не знаю.
Даже с WLBend стало всё хорошо, только почему-то тени не расчитывет.
https://youtube.com/shorts/4dcQ1Y-bfEo
Несколько лет назад, пытался использовать одноплатник OrangePi PC совместно с программой для гибки проволоки WLBend. Оказалось она очень сильно тормозила. И работать было невозможно. Но с WLMill более или менее.
Из-за этого перешёл на RasberryPi 4 всё работает хорошо.
Но в свете последних изменений цен последний стал достаточно дорогим. И тут я решил тряхнуть старину.
Взял OrangePi PC и самый последний Armbian. И о чудо всё стало работать быстрее, почему не знаю.
Даже с WLBend стало всё хорошо, только почему-то тени не расчитывет.
https://youtube.com/shorts/4dcQ1Y-bfEo
- MX_Master
- Мастер
- Сообщения: 7469
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3089
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Я недавно проверял свежий образ с Ubuntu на Orange Pi One+. Аппаратное ускорение графики (драйвер panfrost) робит из коробки. Даже в хроме WebGL примеры робят неплохо. После этих тестов я сразу забил на аппаратную отрисовку GUI/траектории (C + XML + OpenGL ES) и вернулся к привычному HTML5/CSS3/JS/WebGL.
- CNC-Logic
- Мастер
- Сообщения: 1560
- Зарегистрирован: 14 мар 2012, 03:40
- Репутация: 814
- Настоящее имя: Евгений
- Откуда: г.Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Заказчиком была поставлена нестандартная задача: станок должен обрабатывать детали, постоянно отслеживая неровность поверхности по оси Z. Для этого у заказчика есть своя приспособа, но данные от неё должны куда то поступать и обрабатываться. Решили установить WLMill и контроллер WLM155S, так как он очень богат по возможностям подключения переферии (цифровые и аналоговые входы выходы+возможность написания собственных макросов).
Собственно сам станок:
Собственно сам станок:
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Вопрос от польователя:
"Есть возможность индикацию Естоп вывести на выход? Т.е. сработал Естоп - загорелась красная лампа?"
Ответ:
Естоп - вход номер 6
Красная лампа - выход номер 4
function changedInput(index) //функция в LSCRIPT, вызывается при изменении состояния входа. index - номер входа
{
if(index==6) //если это 6 вход
MACHINE.setOutput(4,MACHINE.getInput(6)); //то устанавливаем выход 4 в положение как и вход.
}
"Есть возможность индикацию Естоп вывести на выход? Т.е. сработал Естоп - загорелась красная лампа?"
Ответ:
Естоп - вход номер 6
Красная лампа - выход номер 4
function changedInput(index) //функция в LSCRIPT, вызывается при изменении состояния входа. index - номер входа
{
if(index==6) //если это 6 вход
MACHINE.setOutput(4,MACHINE.getInput(6)); //то устанавливаем выход 4 в положение как и вход.
}
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Если ЧПУ встанет из-за какой то ошибки, то красный лампоШка не будет светиться при таком коде? Светофор на станке нужен для сигнализации состояния станка, а не то что Естоп нажали .
Кнопка Естоп это обычно кнопка грибок. Кнопки Естоп обычно имеют норм.замкнут. и разомкнут. контакты. Зачем выхода занимать, когда можно туды напрямую лампочку прикрутить?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Можно сделать чтобы мигала. И если ЧПУ Встанет то и миганий не будет.....
-
- Мастер
- Сообщения: 1082
- Зарегистрирован: 16 окт 2017, 16:07
- Репутация: 85
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
У меня перегрузка частотника заведена на Естоп и пределы. Попробую как будет работать данная сигнализация.aftaev писал(а): ↑20 апр 2022, 07:32 Если ЧПУ встанет из-за какой то ошибки, то красный лампоШка не будет светиться при таком коде? Светофор на станке нужен для сигнализации состояния станка, а не то что Естоп нажали .
Кнопка Естоп это обычно кнопка грибок. Кнопки Естоп обычно имеют норм.замкнут. и разомкнут. контакты. Зачем выхода занимать, когда можно туды напрямую лампочку прикрутить?
Я выводил ошибку с шаговиков с энкодерами на красную лампу, так как она не отображалась в мач3, было удобно.
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Удобно когда в станке есть светофор, по которому издалека можно судить что делает станок.
А в самой ЧПУ есть табличка с сообщениями и что с ними делать. Есть три уровня событий: зеленый, желтый, красный. В табличке расписано событие, какого оно уровня, что с этим событием делать(0 не останавливать, 1 останавливать выполнение).
При наступлении события, это событие выдается в строке состояния на экране, записывается в лог, и выдается на светофор.
Примерно так:
1. Пуск программы. Зеленый. 0
2. Низкий уровень масло в системе смазки, Желтый, 0
3. Сервопривод не в режиме слежения, Красный, 1
4. Низкое давление пневмосистемы, Желтый, 0
В табличке оператор может задать что ЧПУ делать с этим событием.
А в самой ЧПУ есть табличка с сообщениями и что с ними делать. Есть три уровня событий: зеленый, желтый, красный. В табличке расписано событие, какого оно уровня, что с этим событием делать(0 не останавливать, 1 останавливать выполнение).
При наступлении события, это событие выдается в строке состояния на экране, записывается в лог, и выдается на светофор.
Примерно так:
1. Пуск программы. Зеленый. 0
2. Низкий уровень масло в системе смазки, Желтый, 0
3. Сервопривод не в режиме слежения, Красный, 1
4. Низкое давление пневмосистемы, Желтый, 0
В табличке оператор может задать что ЧПУ делать с этим событием.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
- Мастер
- Сообщения: 1459
- Зарегистрирован: 23 июн 2022, 14:13
- Репутация: 53
- Настоящее имя: Максим
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
В настройках подач появилась возможность задавать множество комбинаций ускорений и скоростей присваивая комбинации некое имя. Как использовать? Допустим я хочу по обстоятельствам менять режимы и вообще очень хотелось бы для холостых и рабочих сделать разные режимы и для увеличения производительности и отдельно настраиваемые холостые при перемещениях щупа например.
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMill (Open source + WLMotion) - управление фрезерным ЧПУ
Сейчас есть только 3 дефолтных режима:
mainMinus - используется как базовый в отрицательном направлении (если не задан то исп. "main")
manual - при ручных перемещениях
Холостые и рабочие разнести конечно можно. Нужно изменить планировщик.
По проббингу.
Можно сделать manualProbe. Они будут использоваться при включении защиты щупа....
Единственное что не будет учитываться геометрия станка...
ps это меню используется и в других программах например в WLBend задаются режимы для каждого диаметра проволоки.
main - используется как базовый
mainMinus - используется как базовый в отрицательном направлении (если не задан то исп. "main")
manual - при ручных перемещениях
Холостые и рабочие разнести конечно можно. Нужно изменить планировщик.
По проббингу.
Можно сделать manualProbe. Они будут использоваться при включении защиты щупа....
Единственное что не будет учитываться геометрия станка...
ps это меню используется и в других программах например в WLBend задаются режимы для каждого диаметра проволоки.