Страница 65 из 105
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 24 ноя 2022, 14:26
vtgmfg
wldev писал(а): ↑
vtgmfg писал(а): ↑
MACHINE.setTruPositionDrive(0,1)
MACHINE.setTruPositionDrive("X",1)
MACHINE.setTruPositionDrive("Y",1)
блин. ну вот уже дышать легче))
А может там где то есть и функция чтобы кнопку "вкл" нажать?
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 24 ноя 2022, 18:27
vtgmfg
var drive_state=MACHINE.isActivDrive("X")
//var drive_state=MACHINE.isDriveActiv("X") //неправильная в доке//
SCRIPT.console("drive_state = "+drive_state)
false все равно
MACHINE.goDriveFind("X")
так тоже ничего не происходит
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 25 ноя 2022, 09:59
vtgmfg
добавляю в config.ini
например строку
WLMPath=FILE.curPath()
и пытаюсь ее считать
qwerty=FILE.loadValue(FILE.curPath()+"/wlmillconfig/config.ini","Program/WLMPath",qwerty)
SCRIPT.console(qwerty)
она считывается - но перестает быть функцией..
qwerty=FILE.curPath()
SCRIPT.console(qwerty)
на вид вроде одно и то же по правую сторону от "=".
что надо сделать чтобы то что считано из файла стало функцией?
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 25 ноя 2022, 11:23
wldev
vtgmfg писал(а): ↑24 ноя 2022, 18:27
var drive_state=MACHINE.isActivDrive("X")
//var drive_state=MACHINE.isDriveActiv("X") //неправильная в доке//
SCRIPT.console("drive_state = "+drive_state)
false все равно
MACHINE.goDriveFind("X")
так тоже ничего не происходит
поправил
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 25 ноя 2022, 11:24
wldev
vtgmfg писал(а): ↑25 ноя 2022, 09:59
добавляю в config.ini
например строку
WLMPath=FILE.curPath()
и пытаюсь ее считать
qwerty=FILE.loadValue(FILE.curPath()+"/wlmillconfig/config.ini","Program/WLMPath",qwerty)
SCRIPT.console(qwerty)
она считывается - но перестает быть функцией..
qwerty=FILE.curPath()
SCRIPT.console(qwerty)
на вид вроде одно и то же по правую сторону от "=".
что надо сделать чтобы то что считано из файла стало функцией?
Покажите ини файл
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 25 ноя 2022, 11:44
vtgmfg
[General]
minuteLife=136441
[View]
maxShowPoint=1000000
zoomDir=false
clearColor=#587187
[Program]
file=clear.ncc
iLastElement=0
WLMPath=FILE.curPath()
[Tools]
showColumn="index,Type,H,D,Diam,Fmax,Smax"
[SC]
showColumn="index,X,Y,Z,GCode,Comments,waste"
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 25 ноя 2022, 11:48
vtgmfg
это в качестве примера . на самом деле мне нужно назначить путь на папку с УП..
вообще говоря в доке сказано что тут числа должны быть . но тут явно не только числа. и все параметры с маленькой буквы почему то.
а так там должно было вот это быть.
//путь к папке Gcode на одном уровне с папкой WLMill:
GcodePath_1=FILE.curPath().slice(0,(FILE.curPath().lastIndexOf("/")+1))+"Gcode/"
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 25 ноя 2022, 15:38
vtgmfg
wldev писал(а): ↑
MACHINE.goDriveFind("X")
работает!
wldev писал(а): ↑
var drive_state=MACHINE.isActivDrive("X")
SCRIPT.console("drive_state = "+drive_state)
работает для ручных перемещений с экранных клавиш мышью, клавиатуры и джойстика. в сенсорный экран попасть не представляется возможным из-за мелкости..
mdi - не работает.. авто УП - не проверял но наверное тоже
правда пока и необходимости нет
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 25 ноя 2022, 17:01
vtgmfg
но после например
MACHINE.runGCode("G53G90G0 X5 Y5")
поиск
MACHINE.goDriveFind("Z")
уже молчит. Даже если было движение по другим осям.
while(MACHINE.isActiv()) SCRIPT.process() между - ничего не меняет.
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 28 ноя 2022, 08:51
wldev
vtgmfg писал(а): ↑
[Program]
file=clear.ncc
iLastElement=0
WLMPath=FILE.curPath()
Так конечно не будет. Есть переменная а есть текст программы...
vtgmfg писал(а): ↑
это в качестве примера . на самом деле мне нужно назначить путь на папку с УП..
относительно чего то?
У меня опять 3 вопроса
1. Что хотели? 2.Что делали? 3 Что получили?
vtgmfg писал(а): ↑
но после например
MACHINE.runGCode("G53G90G0 X5 Y5")
поиск
MACHINE.goDriveFind("Z")
уже молчит. Даже если было движение по другим осям.
while(MACHINE.isActiv()) SCRIPT.process() между - ничего не меняет.
Вернуться к началу
Посмотрю...
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 28 ноя 2022, 21:27
vtgmfg
wldev писал(а): ↑
относительно чего то?
У меня опять 3 вопроса
1. Что хотели? 2.Что делали? 3 Что получили?
назначить в файле типа ини путь на папку, которая не внутри папки WLMill, но относительно нее.
в скрипте я могу это сделать. да не сильно актуально. можно обойтись
гораздо интереснее все таки с назначением activ и lastmov ну и управление кнопкой on\off
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 29 ноя 2022, 06:11
keeperius
Добрый день.
Первый раз настраиваю поворотную ось, появились несколько дилетантских вопросов.
Правильно ли я понимаю, что для обработки на поворотной оси по спирали пределы оси А выставлять не нужно?
Посмотрел видео про то, что поворот больше 180 градусов в G-коде встречаться не должен, написал простенький код для проверки оси
A90
A180
A270
A360
Таких блоков подряд 111. Т.е. ось должна сделать 111 оборотов. Сделала 106 вроде, в конце несколько оборотов было в обратную сторону. С чем это может быть связано?
И такой еще вопрос. Как я понимаю, для выполнения условия не больше 180 градусов нужно править постпроцессор. Не подскажите, в PM как это правильно сделать, или есть уже готовые оптимизированные под WLMill постпроцессоры для того же PM?
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 29 ноя 2022, 06:31
wldev
keeperius писал(а): ↑
Таких блоков подряд 111. Т.е. ось должна сделать 111 оборотов. Сделала 106 вроде, в конце несколько оборотов было в обратную сторону. С чем это может быть связано?
Нужно проверить. Пришлите вашу папку wlmillconfig архивом и программу для эксперимента.
wldev@mail.ru
keeperius писал(а): ↑
И такой еще вопрос. Как я понимаю, для выполнения условия не больше 180 градусов нужно править постпроцессор. Не подскажите, в PM как это правильно сделать, или есть уже готовые оптимизированные под WLMill постпроцессоры для того же PM?
Неподскажу. Знаю что только в SprutCam человек делает спиральную обработку. С PM у него неполучилось.
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 29 ноя 2022, 07:26
wldev
wldev писал(а): ↑
Нужно проверить. Пришлите вашу папку wlmillconfig архивом и программу для эксперимента.
wldev@mail.ru
Обновитe WLMill.exe - недавно были исправление в этом блоке. Сделали тест, на 110 оборотов. Всё работает.
Прошу повторить ваш тест...
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 29 ноя 2022, 16:19
keeperius
wldev писал(а): ↑
Обновитe WLMill.exe - недавно были исправление в этом блоке. Сделали тест, на 110 оборотов. Всё работает.
Прошу повторить ваш тест...
Добрался до станка, обновил, тест повторил, теперь все отлично.
Сергей, еще такой вопрос, про начало выполнения программы с определенного места. Ось Z едет вверх. Я читал, что проблема известна, но как скоро эта проблема будет решена?
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 30 ноя 2022, 10:30
wldev
keeperius писал(а): ↑
Сергей, еще такой вопрос, про начало выполнения программы с определенного места. Ось Z едет вверх. Я читал, что проблема известна, но как скоро эта проблема будет решена?
Проблемы нет. Было непонимание...
При выполнение программы с середины. Используется Z точки G28.
То есть если текущая высота (Z) меньше чем G28.z то мы поднимаем шпиндель на G28.z и далее едем по XY. Далее опускаемся к началу обработки.
Раньше если G28 была за пределами рабочей зоны (была неверно определена) то был подъём с остановка. Сейчас добавлена проверка. Если G28.z за пределами рабочей зоны Z то подъём происходит до максимума Z.
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 30 ноя 2022, 10:45
wldev
vtgmfg писал(а): ↑25 ноя 2022, 17:01
но после например
MACHINE.runGCode("G53G90G0 X5 Y5")
поиск
MACHINE.goDriveFind("Z")
уже молчит. Даже если было движение по другим осям.
while(MACHINE.isActiv()) SCRIPT.process() между - ничего не меняет.
Пока неможем обойти. Думаем.
vtgmfg писал(а):
гораздо интереснее все таки с назначением activ и lastmov ну и управление кнопкой on\off
"activ и lastmov"
lastmov приходит с контроллера
activ - добавили MACHINE.setActivElementGProgram(index)
Не получится c ON. Так как ON запускает скрипт >>> и закольцовка
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 30 ноя 2022, 17:45
vtgmfg
wldev писал(а): ↑
Не получится c ON. Так как ON запускает скрипт >>> и закольцовка
Понял. что если так?
0. загрузилась сама программа WLMill
1. выполняем mscript сходу. в самом начале в нем считать config.ini - там пусть будет ключ Manual/Auto. Если Manual - ждем состояние "вкл" клавиши ВКЛ (нужна новая функция типа getCNC_State), чтобы пройти дальше. Если ключ=Auto, то сразу идем дальше - включаем клавишу ВКЛ (новой функцией setCNC_State). Этот кусок в начале mscript я бы осилил сам
2. выполняем функцию загрузки УП по существующему сценарию - который бы как раз бы я и хотел развить до "многозадачности".. выполняем разные прочие команды и функции - все как обычно.
3. вызываем функцию init подцепляя скрипты. вызывать лучше из mscript - так понятнее
4. разрешаем работу станка, лучше в mscript - так понятнее. Вызываем функцию ON() с каким то добавочным функционалом или пустую.
При нажатии ВЫКЛ (*а токже кнопок save в меню правка) - выключить все как обычно, выполнить функцию OFF() с добавочным функционалом куда бы лучше все по максимуму и перенести для понятности + записываем в config.ini ключ manual/Auto =Manual (тоже бы сам осилил).
B cтартуем mscript, там сразу и застрянем на ожидании состояния "вкл".
Чтобы следующий запуск программы был в режиме авто можно сделать отдельный скрипт с кнопкой. или диалог в скрипте выключения. или вручную в config.ini поставить. или в скрипт выключения добавить. тогда всегда будет Auto по запуску программы и Manual после первого "выкл". или добавить еще один ключ в config.ini . (тоже бы сам осилил).
То есть с кнопки ВКЛ надо убрать запуск скрипта mscript (что как раз соответствует документации)
а так же хорошо было бы убрать блокировку меню * "Правка".
И все вроде становится гораздо прозрачнее и логичнее..
и двойные загрузки и инициализации убираются.
что с lscript - при таком алгоритме не смотрел.. да должно решаться
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 30 ноя 2022, 22:02
vtgmfg
wldev писал(а): ↑
lastmov приходит с контроллера
а кто его обнуляет по окончании УП?
Re: WLMill (Windows/Linux (Qt) + WLMotion) - управление фрезерным ЧПУ
Добавлено: 02 дек 2022, 11:38
vtgmfg
в общем логика работы при загрузке программы WLMill остается непонятной
wldev писал(а): ↑
Не получится c ON. Так как ON запускает скрипт >>> и закольцовка
то что ВКЛ запускает mscript как раз и не написано в доке. это-то я уже экспериментально выяснил, а написано вот это:
"Функция (ON()) вызывается при нажатии на кнопку “On” в программе. *"
зачем запускается скрипт - не совсем понятно. то есть чисто экспериментально сейчас последовательность такая:
при запуске программы
1) кроме прочего загружается старая УП
от которой потом остаются артефакты при загрузке в дальнейшем уже новой УП да и вообще непонятно зачем она грузится тут
2)из WLMill запускается скрипт mscript в котором может быть все, а может ничего не быть кроме функции init
3)из WLMill запускается функция init в которой подключаются дополнительные скрипты.
Но можно вытащить из init все подключения скриптов вставив их в тело в mscript и оставить init пустой.
Наверное тут какая то гибкость обеспечивается. Но почему не вызывать init() прямо из скрипта? так и понятнее и гибче - видно что за чем происходит и можно управлять последовательностью.
Далее ждем нажатия кнопки ВКЛ(((
При нажатии кнопки ВКЛ повторяются пункты:
2)из WLMill запускается скрипт mscript
3)из WLMill запускается функция init
далее:
4)Из WLMill вызывается функция ON() которая может быть, может не быть или быть но быть пустой.
Проблема в том что все разрешительные функции кнопки ВКЛ находятся в WLMill, функция ON() вызывается факультативно. Поэтому то что я хочу никак не реализуется - даже если бы и не циклилось.
то есть если добавить
ON()
{
Init()
}
LoadGCode() //вот это не выполнится все равно
В общем может распутать этот узел? сделать все последовательно и с возможностью работы и с кнопкой ВКЛ и автоматической. Полно задач где до работы нужно проделать какие то действия. например прогреть или компрессор включить или вытяжку..
я выше там предложил вариант.. но ни ответа ни привета.
можно наверное найти стороннюю программу которая будет находить на интерфейсе кнопку ВКЛ и юзерскую кнопку "Старт" с нужным скриптом - но это же треш какой то?
PS - еще Lscript не забыть