Как прикрутить макрос в Mach3 ?

STEPMOTOR
fineobjects_ru:

Screen работает только с обычными темами - flash не открывает 😦

Ну тогда открывайте прогой в которой был сделан экран. Вам потребуется наверно проект экрана еще … а то флеш файл просто так не отредактируеш. Можно конечно попробовать его декомпилировать в проект специальной прогой.
На саппорте Mach3 флеш экран делают в Macromedia Flash Professional 8.

14 days later
AUS16

Всем привет.
Появилась проблемка. При выполнении команды AUTO TOOL ZERO мак опускает ось Z до касания контакта. И тут наступает самое интересное. Z либо подпрыгивает на заданную высоту (в моем случае 50мм) либо протыкает пластину, то есть опускает пластину на 50 мм. И третий вариант, он опускает ось примерно на 30 мм, (другими словами протыкает пластину) и сразу после этого поднимает ось на высоту +20мм.
Использую Пурилджиковское оборудование PLC4x драйверы PLD545.
Нашел и использую вот такой скрипт

PlateOffset=1.5 'толщина платы мм.
Zup=50 'Расстояние на которое отойдет фреза после коррекции
MaxZPlus=165 'максимальный ход станка по оси Z мм.
Code “G4 P1” 'Пауза 1 сек.
CurrentFeed = GetOemDRO(818) 'Запомнить текущюю скорость, для того чтобы восстановить после коррекции.
Code “F300” 'Задать скорость подачи до касания инструментом
ZNew = GetDro(2) - MaxZPlus 'опустить инструмент до касания
Code “G31Z” &ZNew
While IsMoving() 'Подождать пока произойдет касание платы.
Wend
ZNew = GetVar(2002) 'читать точку касания
Code “G0 Z” &ZNew + 3 'отьехать вверх на 3мм от точки касания
While IsMoving ()
Wend
Code “F50” 'замедлить подачу до 50мм\мин
ZNew = GetDro(2) - 6
Code “G31Z” &ZNew 'опустить инструмент до касания
While IsMoving() 'Подождать пока произойдет касание платы.
Wend
If PlateOffset <> 0 Then
Call SetDro (2, PlateOffset) 'записать в окно Z толщину платы, тем самым откорректировав позицию по Z
Code “G4 P0.25” 'пауза для успешной записи значения в DRO
ZNew = PlateOffset + Zup 'вычислени точки подьема
Code “G0 Z” &ZNew 'поднять на высоту отхода после коррекции
While IsMoving ()
Wend
Code “(Z axis is now zero !)” 'послать сообщение в статус
End If
Code “F” &CurrentFeed 'Возвращаем установленное значение подачи
Sleep 100

Как можно понять использую именно такой скрипт как Вы рекомендуете. Пожалуйста поделитесь мнением по существу проблемы. Фрез уже штук 5 поломал. Помогите одолеть эту задачку. Мне представляется что в теле скрипта есть какая то ошибка. Сам не разбираюсь в этом шифровании. Выложите пожалуста кому не трудно реально работающий скрипт. Или возможные места в электронике где скрывается проблема
Спасибо

niksooon=

Свой прикладываю,однозначно рабочий,тоже из второго поста тока подкорректированный под свое железо…блин чет файл не крепится…
придется так----

PlateOffset=13.28 'толщина платы мм.
Zup=36.72 'Расстояние на которое отойдет фреза после коррекции
MaxZPlus=250 'максимальный ход станка по оси Z мм.

Code “G4 P1” 'Пауза 1 сек.
CurrentFeed = GetOemDRO(818) 'Запомнить текущюю скорость, для того чтобы восстановить после коррекции.

Code “F300” 'Задать скорость подачи до касания инструментом

ZNew = GetDro(2) - MaxZPlus 'опустить инструмент до касания
Code “G31Z” &ZNew
While IsMoving() 'Подождать пока произойдет касание платы.
Wend

ZNew = GetVar(2002) 'читать точку касания
Code “G0 Z” &ZNew + 3 'отьехать вверх на 3мм от точки касания
While IsMoving ()
Wend

Code “F50” 'замедлить подачу до 50мм\мин
ZNew = GetDro(2) - 6
Code “G31Z” &ZNew 'опустить инструмент до касания
While IsMoving() 'Подождать пока произойдет касание платы.
Wend

If PlateOffset <> 0 Then
Call SetDro (2, PlateOffset) 'записать в окно Z толщину платы, тем самым откорректировав позицию по Z
Sleep 500
'Code “G4 P0.25” 'пауза для того чтобы записались значения в DRO
ZNew = PlateOffset + Zup 'вычислени точки подьема
Code “G0 Z” &ZNew 'поднять на заданную Z
While IsMoving ()
Wend
Code “(Z axis is now zeroed !)” 'послать сообщение в статус

End If

Code “F” &CurrentFeed 'Возвращаем установленное значение подачи
Sleep 100
’ End If
'End If
Посмотри может найдешь какие либо отличия…у меня пашет без сбоев

Еще не забывай после включения станка Хотя-бы Z в home отправлять ,за подробными разъяснениями куда обращаться знаешь…

AUS16

Слава спасибо. Макрос заработал, я сразу понял что в нем надо подредактировать. Мой вроде похож, но что то в нем не то. Слава а зачем в макросе прописана команда после касания инструмента опустить Z на 3 мм до следующего касания. Не понятный момент.

niksooon=

Ну во первых макрос писал не я а Stepmotor ,за что ему, Сергею огромное спасибо.Я лишь тестировал на своем станке и чуть подправил под свои нужды
А работает в кратце так-
Опускается на F300 до касания потом поднимается ВВЕРХ на 3мм и снова вниз на скорости 50мм\мин до касания .пишет толщину пластины в DRO и затем
поднимается на заданную высоту У меня на 50мм (13.28 толщина пластины+высота подъема 36.72)
Отличается только тут-
Call SetDro (2, PlateOffset) 'записать в окно Z толщину платы, тем самым откорректировав позицию по Z
Sleep 500
< Это я сам добавил, т к пауза для записи(жирная строка ниже) почему-то у меня не срабатывала,(МАЧ не успевал писать новое значение)
'Code “G4 P0.25” 'пауза для того чтобы записались значения в DRO Эта строка в моем варианте уже не нужна…хоть и не мешает…

tytar

Доброго времени суток всем! Сразу хочу попросить прощения за возможно не в тему пост. Есть токарный станочек, успешно на него поставлены привода и он нормально работает. Хочу “выпендриться” и поставить смену инструмента. С мех. частью и исполняющим устройством проблем нет. Конструкцию частично скопировал с 16К20Ф3 и сейчас в процессе изготовления. За электронику еще не принимался. Вопрос следующий возможно ли написать или дописать код, макрос что нить что бы за командой например Т1 происходила смена инструмента. У меня есть 2 ЛПТ порта один штатный а другой через PCI добавил карту. Можно ли настроить второй порт и что бы я мог управлять его пинами для смены иструмента. Может вопрос задан очень размыто, не знаю как правильно сформулировать саму идею и вопрос.

4 months later
fineobjects_ru

В продолжение темы - а Mach как отправить на поиски площадки ? хочу установить ее в некоем углу чтоб при замене фрезы станок сам ездил в этот угол, проверял высоту фрезы и продолжал работу ? И вопрос два - где в Mach указать на каком контакте висит датчик 0 ?