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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
rstm
Кандидат
Сообщения: 49
Зарегистрирован: 25 фев 2018, 16:20
Репутация: 5
Настоящее имя: Рустам
Откуда: Уфа
Контактная информация:

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

Сообщение rstm »

vtgmfg писал(а): и чем он хорош, спруткам?
Считает быстро полноценные 4х-оси на моём 11 летнем i7-2600K (по сравнению с PM просто летает). Встроенный CAD (простенький но хоть что-то).
Verifing просто обалденный. Посты пишутся на C# (даже я смог написать). "Станкостроение" в наличии. ДА, нету прямого редактирования траектории, почти, но скорость расчета "вывозит". И самое главное, сглаживание поворотной оси работает, в PM оно не работает(я не смог)!
rstm
Кандидат
Сообщения: 49
Зарегистрирован: 25 фев 2018, 16:20
Репутация: 5
Настоящее имя: Рустам
Откуда: Уфа
Контактная информация:

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

Сообщение rstm »

vtgmfg писал(а): 27 окт 2023, 21:17 IBM + Windows8 и выше + USB + контроллер. чтоб была поддержка таблиц инструментов и СК по сотне шт..
+ где можно к движку написать скриптами интерфейс который мне нужен.
Planet CNC USB Controller не смотрели? Там Python вроде есть внутри.
vtgmfg
Мастер
Сообщения: 1475
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 55
Настоящее имя: Максим
Контактная информация:

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

Сообщение vtgmfg »

rstm писал(а): Planet CNC USB Controller не смотрели? Там Python вроде есть внутри.
да много уже понаписано уже чтобы переходить.
к тому же planet CNC .. там каждый 2й пост про то что слетела лицензия

загрузил какойто тнг3 вариант с их сайта.только 9 СК стандартных. не годится уже по этому ограничению. таблица инструментов может и есть но как таблицу ее не видно. файл грузит быстро
rstm
Кандидат
Сообщения: 49
Зарегистрирован: 25 фев 2018, 16:20
Репутация: 5
Настоящее имя: Рустам
Откуда: Уфа
Контактная информация:

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

Сообщение rstm »

vtgmfg писал(а): да много уже понаписано уже чтобы переходить.
А что скажете про https://www.inectra.ru/ ? Отзывы почитал, там все .. апканчались прям. "При разработке нового функционала мы учитываем пожелания клиента и реализуем их в кратчайшие сроки. Бесплатная комплексная техническая поддержка." (с)
vtgmfg
Мастер
Сообщения: 1475
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 55
Настоящее имя: Максим
Контактная информация:

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

Сообщение vtgmfg »

rstm писал(а): А что скажете про https://www.inectra.ru/ ? Отзывы почитал, там все .. апканчались прям.
говорят там grbl. хорошо это или плохо - трудно сказать. если на входе Gкод - какая разница?
для обычной работы и тут все в принципе работает.
с точки зрения интерфейса - как по мне - я пока ни одной повернутой к человеку не жопой чпу еще не видел.
поэтому мне нужен движок, + то что я перечислил и возможность построения другого интерфейса, с тачем, пусть страшненького, но позволяющего работать особо не напрягая мозг, а не наблюдать быстроменяющиеся цифры и цветомузыку.
rstm
Кандидат
Сообщения: 49
Зарегистрирован: 25 фев 2018, 16:20
Репутация: 5
Настоящее имя: Рустам
Откуда: Уфа
Контактная информация:

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

Сообщение rstm »

vtgmfg писал(а): говорят там grbl. хорошо это или плохо - трудно сказать. если на входе Gкод - какая разница?
для обычной работы и тут все в принципе работает.
Купил. Посмотрю. Нужно что-то для сравнения с WLMill %)
Pumotix опять проиграл. Обновил - ничего не поменялось, только цены на опции выросли. "Регулировка скорости холостых переездов" продавать за рубль - это блин .. жестоко!
Igor Burtsev
Кандидат
Сообщения: 61
Зарегистрирован: 24 дек 2023, 03:34
Репутация: 18
Настоящее имя: Бурцев Игорь Александрович
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение Igor Burtsev »

А есть возможность подключить и прописать макросы на полноценную линейную автосмену инструмента? управление 2-мя соленоидами шпинделя и щетки (программируемые OUT) и 3 датчиками наличия цанги в шпинделе, состояние щетки, сигнал от инвертера о выключенном шпинделе(программируемые IN)?
Делай добро и бросай его в воду.
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

Igor Burtsev писал(а): 29 дек 2023, 02:17 А есть возможность подключить и прописать макросы на полноценную линейную автосмену инструмента? управление 2-мя соленоидами шпинделя и щетки (программируемые OUT) и 3 датчиками наличия цанги в шпинделе, состояние щетки, сигнал от инвертера о выключенном шпинделе(программируемые IN)?
Есть возможность. Сейчас отлаживается автосмена на одном станке...

В скриптах можно делать многое. Переключать выхода, опрашивать входа, выводить сообщения и создавать запросы на ввод данных пользователем, двигать доп. осями. Брать и добавлять данные в таблице инструментов и координат (втч свои).
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Igor Burtsev
Кандидат
Сообщения: 61
Зарегистрирован: 24 дек 2023, 03:34
Репутация: 18
Настоящее имя: Бурцев Игорь Александрович
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение Igor Burtsev »

wldev писал(а): 30 дек 2023, 03:56 Есть возможность. Сейчас отлаживается автосмена на одном станке...

В скриптах можно делать многое. Переключать выхода, опрашивать входа, выводить сообщения и создавать запросы на ввод данных пользователем, двигать доп. осями. Брать и добавлять данные в таблице инструментов и координат (втч свои).
А можно ли каким либо образом с вашей программой познакомиться? Возможно есть какая то возможность скачать ее и запустить ее в режиме эмуляции (до покупки контроллера) чтобы оценить ее удобство и попробовать разобраться в вашей документации и написать скрипт под линейную автосмену? Пробовал скачать программу с вашего сайта. Не хотелось бы ругать человека который у вас отвечает за сайт, но.... эм это ведь ваша визитка, как бы... видно сайт это не ваша сильная сторона. Так как почти все ссылки или битые или битые архивы то скачать и что-то запустить не вышло.
Делай добро и бросай его в воду.
klepa
Новичок
Сообщения: 18
Зарегистрирован: 23 авг 2023, 12:42
Репутация: 3
Контактная информация:

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

Сообщение klepa »

Все прекрасно скачивается и работает,если скачали один ехе то он конечно не запустится,это обнова,скачайте каталог с https://wldev.ru/data/soft/wlmill/windo ... 2.2.49.rar
vtgmfg
Мастер
Сообщения: 1475
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 55
Настоящее имя: Максим
Контактная информация:

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

Сообщение vtgmfg »

klepa писал(а): и работает
без контроллера?
Igor Burtsev
Кандидат
Сообщения: 61
Зарегистрирован: 24 дек 2023, 03:34
Репутация: 18
Настоящее имя: Бурцев Игорь Александрович
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение Igor Burtsev »

klepa писал(а): 31 дек 2023, 07:56 Все прекрасно скачивается и работает,если скачали один ехе то он конечно не запустится,это обнова,скачайте каталог с https://wldev.ru/data/soft/wlmill/windo ... 2.2.49.rar
А это тогда так и задумано разработчиками? К слову качал на другом ПК с Windows 7 x32 и то же самое. WinRAR и 7ZIP вообще ругаются на битые архивы.
2024-01-01_18-39-14.png (224 просмотра) <a class='original' href='./download/file.php?id=210189&sid=eb1d2a0a5fb4e429221cfcacd1b53c2e&mode=view' target=_blank>Загрузить оригинал (318.7 КБ)</a>
2024-01-01_18-38-19.png (224 просмотра) <a class='original' href='./download/file.php?id=210190&sid=eb1d2a0a5fb4e429221cfcacd1b53c2e&mode=view' target=_blank>Загрузить оригинал (228.33 КБ)</a>
2024-01-01_18-37-43.png (224 просмотра) <a class='original' href='./download/file.php?id=210191&sid=eb1d2a0a5fb4e429221cfcacd1b53c2e&mode=view' target=_blank>Загрузить оригинал (246.59 КБ)</a>
2024-01-01_18-37-04.png (224 просмотра) <a class='original' href='./download/file.php?id=210192&sid=eb1d2a0a5fb4e429221cfcacd1b53c2e&mode=view' target=_blank>Загрузить оригинал (232.98 КБ)</a>
2024-01-01_18-36-29.png (224 просмотра) <a class='original' href='./download/file.php?id=210193&sid=eb1d2a0a5fb4e429221cfcacd1b53c2e&mode=view' target=_blank>Загрузить оригинал (228.07 КБ)</a>
2024-01-01_18-35-53.png (224 просмотра) <a class='original' href='./download/file.php?id=210194&sid=eb1d2a0a5fb4e429221cfcacd1b53c2e&mode=view' target=_blank>Загрузить оригинал (233.67 КБ)</a>
Делай добро и бросай его в воду.
Igor Burtsev
Кандидат
Сообщения: 61
Зарегистрирован: 24 дек 2023, 03:34
Репутация: 18
Настоящее имя: Бурцев Игорь Александрович
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение Igor Burtsev »

К слову я отдельно нашел и скачал все эти dll-ки с qt5 положил в папку с программой и она все равно не запустилась. :thinking: на этот раз ругалась на свою внутреннюю ошибку.
2024-01-01_18-56-19.png (221 просмотр) <a class='original' href='./download/file.php?id=210195&sid=eb1d2a0a5fb4e429221cfcacd1b53c2e&mode=view' target=_blank>Загрузить оригинал (20.51 КБ)</a>
Делай добро и бросай его в воду.
Аватара пользователя
hmnijp
Мастер
Сообщения: 1723
Зарегистрирован: 20 авг 2017, 15:02
Репутация: 526
Настоящее имя: Константин
Откуда: Ульяновск
Контактная информация:

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

Сообщение hmnijp »

Igor Burtsev писал(а): А это тогда так и задумано разработчиками? К слову качал на другом ПК с Windows 7 x32 и то же самое. WinRAR и 7ZIP вообще ругаются на битые архивы.
скачал и запустил без всяких ошибок. отдельно qt не ставил.
win11 x64
вы может сначала разархивируете папку целиком, потом запустите? а то по скринам как будто вы ехешник прям из архива запускаете.
либо у вас действительно битый архив скачался.
2024-01-01 20-10-04.jpg (220 просмотров) <a class='original' href='./download/file.php?id=210198&sid=eb1d2a0a5fb4e429221cfcacd1b53c2e&mode=view' target=_blank>Загрузить оригинал (309.53 КБ)</a>
Igor Burtsev
Кандидат
Сообщения: 61
Зарегистрирован: 24 дек 2023, 03:34
Репутация: 18
Настоящее имя: Бурцев Игорь Александрович
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение Igor Burtsev »

Нашел в чем была проблема. Стандартный распаковщик архивов в Windows 11 криво пытался распаковать rar и почти все файлы на выходе были битые. Поставил WinRAR и архив распаковался им без ошибок. Всех благодарю за помощь.
Делай добро и бросай его в воду.
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

Igor Burtsev писал(а): А можно ли каким либо образом с вашей программой познакомиться? Возможно есть какая то возможность скачать ее и запустить ее в режиме эмуляции (до покупки контроллера) чтобы оценить ее удобство и попробовать разобраться в вашей документации и написать скрипт под линейную автосмену? Пробовал скачать программу с вашего сайта. Не хотелось бы ругать человека который у вас отвечает за сайт, но.... эм это ведь ваша визитка, как бы... видно сайт это не ваша сильная сторона. Так как почти все ссылки или битые или битые архивы то скачать и что-то запустить не вышло.
Сейчас есть файл макроса WLTool.js - в котором реализованы функции и диалоги для работы с инструментом автоизмерение длины и ручная смена инструмента.

В файлах *.js вначале идёт его описание. При добавлении этого файла он также добавляет свои кнопки в WLMill. При редактировании скриптов в WLMill есть не только подсветка синтаксиса но и подсказки какие объекты и их функции доступны.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

Например скрипт автоматичекой смены инструмента

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

//Tool
var WLToolF1Probe   =  250 //скорость первого касания в мм/мин для замера инструмента
var WLToolF2Probe   =  50  //скорость второго касания в мм/мин для замера инструмента
var WLToolBackDist  =  5   //расстояние отхода для второго касания для замера инструмента
var WLToolSDStop    =  0   //включение(1)/выключение(0) плавной остановки
var WLToolLastIndexT=  -1  //номер последнего инструмента
var WLToolUseTabletH=   0  //используется (1) или нет (0) датчик-таблетка. Нужно для подтверждения её работы (установки).
var WLToolFindDist  = 100  //расстояние поиска до предполаемой точки
var WLToolFindDist_A= -5   //расстояние поиска после

var WLToolAutoSetG43H = 1    //устанавливать G43H после измерений
var WLToolAlwaysHReplace= 1  //всегда переустанавливать инструмент

var WLToolLmin = 5     //минимальная длина инструмента
var WLToolLmax = 80    //максимальна длина инструмента 

function WLToolAutoM6() 
{	
	var X=0;
	var Y=0;
	var Z=0;
	var autoH; //автоматический замер длины инструмента (при необходимости)
	var Ltool=100;

	autoH=!GCODE.getDataToolNum(GCODE.getT(),"WLToolAutoHDis",WLToolAutoHDisDefault)

	SCRIPT.console("run WLToolAutoM6")

	WLToolInitValue()

	//1.	Проверить, что был выполнен выход в механический ноль по всем осям (если нет, то остановить УП и выдать предупреждение).
	if(!MACHINE.isTruPositionDrives())
	{
		DIALOG.message("Не был выполнен выход в механический ноль по всем осям. Остановка.")
		M30()
		return 0
	}		
	//2.	Сверка номера инструмента с установленным (если он равен установленному, то игнорируем команду М6 и продолжаем выполнение УП)
	if(GCODE.getT()==GCODE.getCurTool())
	{
		SCRIPT.console("Инструмент "+GCODE.getCurTool()+" уже установлен")
		return 1
	}
	//3.Сверка номера инструмента с количеством инструментов в магазине (если номер превышает количество инструментов в магазине, то выдаем ошибку и останавливаем выполнение УП)
	if(GCODE.getT()>WLToolAutoM6Count)
	{
		DIALOG.message("Номер инструмента "+GCODE.getT()+" больше допустимого "+WLToolAutoM6Count)
		M30()
		return 0
	}
	//4.	Проверка датчиков шпинделя (инструмент вставлен, штревель зажат), если нет сообщение об ошибке и М30
	if(MACHINE.getIn(WLToolAutoM6InSetToolSpindle)==0)
	{
		SCRIPT.console("Шпиндель не готов. Проверьте вход "+WLToolAutoM6InSetToolSpindle+" (WLToolAutoM6InSetToolSpindle)")
		M30()
		return 0		
	}
	//5.	Проверка датчиков положения магазина (задвинут), если нет сообщение об ошибке и М30
	if(MACHINE.getIn(WLToolAutoM6InReadyShop)==0)
	{
		SCRIPT.console("Магазин не готов. Проверьте вход "+WLToolAutoM6InReadyShop+" (WLToolAutoM6InReadyShop)")
		M30()
		return 0		
	}
	//6.	Проверка датчика вращения шпинделя (если есть)
  	SCRIPT.console("Ждём остановки шпинделя")
	while(MACHINE.getSSpindle()!=0)	
	{
		SCRIPT.process()		
	}
	// Можно использовать сигнал InReadySpindle, так же этот сигнал можно использовать при измерении инструмента.
	if(MACHINE.getIn(WLToolAutoM6InTurnSpindle)==1)
	{
		SCRIPT.console("Шпиндель вращается. Проверьте вход "+WLToolAutoM6InTurnSpindle+" (WLToolAutoM6InTurnSpindle)")
		M30()
		return 0		
	}
	//7.	Проверка датчика положения кожуха аспирации (если есть)
	//if(MACHINE.getIn(WLToolAutoM6InReadyAspirateBox)==0)
	//{
		//	SCRIPT.console("Кожух аспирации не готов. Проверьте вход "+WLToolAutoM6InReadyAspirateBox+" (WLToolAutoM6InReadyAspirateBox)")
		//	M30()
		//	return 0		
	//}

	//1.	Вывести диалоговое сообщение, что происходит смена инструмента Т1 на Т3
	SCRIPT.console("Начало замены инструмента "+GCODE.getCurTool()+" >>> "+GCODE.getT());
	//2.	Выключить шпиндель М5
	M5()
	//3.	Подняться по оси Z (G53 G90 G00 Z-4)
	MACHINE.runGCode("G53 G90 G00 Z-4")
	//4.	Перейти в машинный 0 по оси B(G53 G90 G00 B0) 
	MACHINE.runGCode("G53 G90 G00 B0")
	//5.	Перейти в машинный 0 по оси C (G53 G90 G00 C0)
	MACHINE.runGCode("G53 G90 G00 C0")		//Не переходил, Нужно убрать в конце ";"

	
	SCRIPT.console("Шпиндель остановлен")
	//6.	Переместить шпиндель в координаты Xи Y установленного инструмента (G53 G90 G00 X#101Y#101, где #101– координаты 1-го инструмента)
	if(!GCODE.isContainsDataCurTool("WLToolAutoM6Xo")
	||!GCODE.isContainsDataCurTool("WLToolAutoM6Yo")
	||!GCODE.isContainsDataCurTool("WLToolAutoM6Zo"))
	{
		DIALOG.message("Не определены все точки смены инструмента №"+GCODE.getCurTool()+" (WLToolAutoM6Xo,WLToolAutoM6Yo,WLToolAutoM6Zo)")
		M30()
		return 0			
	}
	/// Перемещается в координаты инструмента, который нужно взять, а должен приехать в координаты установленного инструмента
	//WLDEV>>> исправленов WLMILL 2.2.50
	X=GCODE.getDataCurToolNum("WLToolAutoM6Xo",0);
	Y=GCODE.getDataCurToolNum("WLToolAutoM6Yo",0);
	Z=GCODE.getDataCurToolNum("WLToolAutoM6Zo",0);

	MACHINE.runGCode("G53 G90 G00 X"+X+" Y"+Y);			
	//7.	Опустить шпиндель по оси Zв координату установленного инструмента (G53 G90 G00 Z#301)
	MACHINE.runGCode("G53 G90 G00 Z"+Z);			
	SCRIPT.console("Ждём завершения движений")
	while(MACHINE.isActiv()) 
	{
		SCRIPT.process()
	}
	//8.	Открыть выход для выезда магазина с инструментом
	MACHINE.setOut(WLToolAutoM6OutReadyShop,1);	
	//9.	Задержка 200 мс для фильтрации ложного сигнала (G04 P200)
	DELAY(5000)
	//8.	Получить сигнал от датчика, что магазин выехал), если нет сообщение об ошибке и М30
	// Пока убераю
	//if(WLToolAutoM6InReadyShop>1) //если он задан WLToolAutoM6InReadyShopgo
	//{	
	//	SCRIPT.console("Ждём готовности магазина. Вход "+WLToolAutoM6InReadyShop+" >>> 1")
	//	while(MACHINE.getIn(WLToolAutoM6InReadyShop)==0)
	//	{
	//		//можно добавить таймер предельного времени
	//		SCRIPT.process();
	//	}
	//}
	
	//10.	Открыть выход штревеля (разжать зажим конуса)
	MACHINE.setOut(WLToolAutoM6OutShtrevSpindle,1)
	//11.	Задержка 200 мс для фильтрации ложного сигнала (G04 P200)
	DELAY(200)
	//12.	Получить сигнал от датчика, что штревель разжат, если нет сообщение об ошибке и М30
	if(WLToolAutoM6InShtrevSpindle>1) //если задан
	{
		SCRIPT.console("Ждём разжатия штревеля шпинделя. Вход "+WLToolAutoM6InShtrevSpindle+" >>> 0")	
		while(MACHINE.getIn(WLToolAutoM6InShtrevSpindle)==1)
		{
			//можно добавить таймер предельного времени
			SCRIPT.process();
		}	
	}
	//13.	Подняться на безопасную высоту по оси Zдля переезда над магазином (G53 G90 G00 Z#120, где #120 безопасная высота переезда)
	MACHINE.runGCode("G53 G90 G00 Z"+ WLToolAutoM6SafeZ)

	//14.	Переместить шпиндель в координаты X и Y требуемого инструмента (G53 G90 G00 X#103 Y#103, где #103 – координаты 3-го инструмента)
	if(!GCODE.isContainsDataTool(GCODE.getT(),"WLToolAutoM6Xo")
	||!GCODE.isContainsDataTool(GCODE.getT(),"WLToolAutoM6Yo")
	||!GCODE.isContainsDataTool(GCODE.getT(),"WLToolAutoM6Zo"))
	{
		DIALOG.message("Не определены все точки смены инструмента №"+GCODE.getT()+" (WLToolAutoM6Xo,WLToolAutoM6Yo,WLToolAutoM6Zo)")
		M30()
		return 0			
	}
	// Не переезжает, может потому что уже находится в них
	// WLDEV>>>верно!
	X=GCODE.getDataToolNum(GCODE.getT(),"WLToolAutoM6Xo",0);
	Y=GCODE.getDataToolNum(GCODE.getT(),"WLToolAutoM6Yo",0);
	Z=GCODE.getDataToolNum(GCODE.getT(),"WLToolAutoM6Zo",0);

	MACHINE.runGCode("G53 G90 G00 X"+X+" Y"+Y);		
	//15.	Опустить шпиндель по оси Zв координату требуемого инструмента (G53 G90 G00 Z#103)
	// Не опускает
	// WLDEV>>> исправил в скрипте +Z)
	MACHINE.runGCode("G53 G90 G00 Z"+Z)	

	SCRIPT.console("Ждём завершения движений. XY+Z")
	while(MACHINE.isActiv()) 
	{
		SCRIPT.process()
	}	
	//16.	Закрыть выход штревеля (зажать конус инструмента)
	// не закрывает
	MACHINE.setOut(WLToolAutoM6OutShtrevSpindle,0)	
	//17.	Задержка 200 мс для фильтрации ложного сигнала (G04 P200)
	DELAY(200)
	//18.	Получить сигнал от датчика, что штревель зажат, если нет сообщение об ошибке и М30
	// Не проверяет
	if(WLToolAutoM6InShtrevSpindle>1) //если задан
	{
		SCRIPT.console("Ждём зазжатия штревеля шпинделя. Вход "+WLToolAutoM6InShtrevSpindle+" >>> 1")

		while(MACHINE.getIn(WLToolAutoM6InShtrevSpindle)==0)
		{
			//можно добавить таймер предельного времени
			SCRIPT.process();
		}
	}
	//19.	Получить сигнал от датчика, что конус установлен, если нет сообщение об ошибке и М30
	// Не проверяется!!!
	if(WLToolAutoM6InSetToolSpindle>1) //если задан
	{
		SCRIPT.console("Ждём установки инструмента в шпиндель. Вход "+WLToolAutoM6InSetToolSpindle+" >>> 1")

		while(MACHINE.getIn(WLToolAutoM6InSetToolSpindle)==0) 
		{
			//можно добавить таймер предельного времени
			SCRIPT.process();
		}
	}
	//20.	Записать новый установленный инструмент
	GCODE.setCurTool(GCODE.getT())
	GCODE.setOffsetTool(GCODE.getT())

	SCRIPT.console("Установлен инструмент "+GCODE.getCurTool())

	WLToolLastIndexT=GCODE.getT() 
	FILE.saveValue(WLToolFileINI,"LastIndexT"  ,WLToolLastIndexT); 
	//21.	Закрыть выход выезда магазина
	// Не закрывает
	MACHINE.setOut(WLToolAutoM6OutReadyShop,0)	
	//22.	Задержка 200 мс для фильтрации ложного сигнала (G04 P200)
	DELAY(200)
	//23.	Получить сигнал от датчика, что магазин уехал, если нет сообщение об ошибке и М30
	if(WLToolAutoM6InReadyShop>1) //если задан
	{
		SCRIPT.console("Ждём готовности магазина. Вход "+WLToolAutoM6InReadyShop+" >>> 1")

		if(MACHINE.getIn(WLToolAutoM6InReadyShop)==0)
		{
			while(MACHINE.getIn(WLToolAutoM6InReadyShop)==0)
			{
				//можно добавить таймер предельного времени
				SCRIPT.process();
			}
		}
	}	
	DELAY(5000)
	//24.	Подняться в машинный 0 оси Z
	MACHINE.runGCode("G53 G0 Z-4");
	SCRIPT.console("Ждём завершения движений (G53 G0 Z-4)")
	while(MACHINE.isActiv()) 
	{
		SCRIPT.process()
	}	
	//24. Замер длинны инструмента	
	if(GCODE.getHTool(GCODE.getT())!=0) 
	Ltool=GCODE.getHTool(GCODE.getT())

	if(autoH==1){
		MACHINE.runGCode("G53 G90 G0 Z-4") 

		if(WLToolAutoH(GCODE.getT(),Ltool)!=1) 
		return 0

		MACHINE.runGCode("G53G90G0 Z-4") 
	} 
	else if(WLToolAutoSetG43H!=0)
	MACHINE.runGCode("G43H"+GCODE.getT())

	WLToolLastIndexT=GCODE.getT() 
	FILE.saveValue(WLToolFileINI,"LastIndexT"  ,WLToolLastIndexT); 
	//25.	Включить шпиндель М3
	//M3() 
	//26.	Сообщение «команда М6Т3 выполнена успешно». 
	SCRIPT.console("Смена инструмента M6 T"+GCODE.getT()+" прошла успешно!")	
	//27.	Продолжить выполнение УП.

	return 1	
}
Последний раз редактировалось wldev 02 янв 2024, 07:47, всего редактировалось 1 раз.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

Igor Burtsev писал(а): 01 янв 2024, 18:47
klepa писал(а): 31 дек 2023, 07:56 Все прекрасно скачивается и работает,если скачали один ехе то он конечно не запустится,это обнова,скачайте каталог с https://wldev.ru/data/soft/wlmill/windo ... 2.2.49.rar
А это тогда так и задумано разработчиками? К слову качал на другом ПК с Windows 7 x32 и то же самое. WinRAR и 7ZIP вообще ругаются на битые архивы.2024-01-01_18-39-14.png2024-01-01_18-38-19.png2024-01-01_18-37-43.png2024-01-01_18-37-04.png2024-01-01_18-36-29.png2024-01-01_18-35-53.png
Вы второй пользователь который с этим сталкивается. Вскоре будет переход на тип архива 7zip.
https://www.7-zip.org/
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
vtgmfg
Мастер
Сообщения: 1475
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 55
Настоящее имя: Максим
Контактная информация:

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

Сообщение vtgmfg »

Igor Burtsev писал(а): Всех благодарю за помощь.
ну а что то кроме настроек получилось попробовать без контроллера?
Igor Burtsev
Кандидат
Сообщения: 61
Зарегистрирован: 24 дек 2023, 03:34
Репутация: 18
Настоящее имя: Бурцев Игорь Александрович
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение Igor Burtsev »

vtgmfg писал(а): 03 янв 2024, 20:08
Igor Burtsev писал(а): Всех благодарю за помощь.
ну а что то кроме настроек получилось попробовать без контроллера?
Ну я посмотрел скрипты которые там уже были. Огромным плюсом выделю возможность из скриптов добавлять кнопки в интерфейс. Подозреваю, что не только в верхнюю полоску меню, а вообще в любую часть интерфейса можно добавить что-то свое нужно в документацию qt5 посмотреть. Как минимум легко создал "пустую" кнопку "SET_TOOL:<num>" где <num> это текущий инструмент. Приятным бонусом было работа с ini файлами из макроса. Работа с портами. Да и вообще макросы в WLMill мне намного больше понравились чем в Инектре. Там как то все мудрено с однострочными "инъекциями" JS в G-code. А тут прям нормальный такой ecmascript. Много конечно можно было бы попробовать пописать, сделать "профили" для быстрый интеграций в вудтеки разных серий и их многочисленные перекрашенные клоны, биверы и другие которые чаще всего попадаются мне по работе, но без платы и нормальной отладки это все пока просто мысли вслух. Да и экономический момент порой многое решает. Для обычных станков 3-х осевых порой тяжело объяснить клиенту чем плата за 12к будет лучше его NCStudio 5 за 2к с алишки или LPT коммутационки за 500 руб и матчем. Опять же та же инектра в этом плане заметно более интересна в плане "фишек" за 6к там и блютуз на борту и автовыравнивание портала в стоке и по визуально смотрится "побогаче", но тех же пары тройки "свободных" GPIO завести то ли не смогли, то ли забыли. WLMill я возможно позже прикуплю платку, если выйдет нормально обработку T и M6 сделать знаю кому ее поставлю, а нет, то все равно кому нибудь ее поставлю. Но что-то меня мучают сомнения по "свободным" GPIO. так я их не не увидел именно "свободные" на плате которые можно в макросах подвязать на свои нужды. Но то уже с платой в руках буду дальше смотреть.
Делай добро и бросай его в воду.
Ответить

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