Перегляд теми - ще раз про установку нуля по осі z в mach3

Те, що твориться з інструкціями щодо обнулення осі Z, це, звичайно, повний бардак. Одні не розуміють що вони пишуть, інші не розуміють що вони читають, ламають фрези і кидають цю корисну витівку.
Може десь і є зрозумілі інструкції, але мені вони не попалися, тому пишу свою.

Отже: Завдання встановити інструмент в точку нуль по осі Z в програмі MACH3.
алгоритм:
Вісь Z опускається на задану величину (10мм). Якщо відбувається замикання, то нуль по Z встановлюється з урахуванням товщини пластину і відбувається відскік безпеки на 5 мм. Якщо замикання не виявляється, то вісь Z просто зупиняється. Товщину пластини і швидкість опускання можна задати в скрині Мач3. Інші параметри в тексті скрипта.

ZNew = 5 'відскік безпеки по Z. Можете поміняти
Code "G1 Z5 F200" 'йдемо в точку відскоку
While IsMoving () 'чекаємо приходу в відскік
Wend
Code "(Z axis is now zeroed)" 'виводимо повідомлення про встановлення нуля.

Else
'Замикання не досягли. Просто опустилися на 10мм
Code "(Z-Plate ie not grounded. Try again.)" 'Повідомлення про це
End If

Code "F" CurrentFeed 'повертаємо значення швидкості
End If

Текст скрипта знаходиться в директорії Macros -> "профіль" під ім'ям HiddenScript.m1s
Але при старті Mach3 скрипт береться з профілю. Так що якщо у вас не оновився профіль після зміни скрипта, при старті Мач3 отримаєте старий скрипт.

Rem VBScript To probe In the z axis
If GetOemLed (825) <> 0 Then 'Check to see if the probe is already grounded or faulty
Code "(Z-Plate is grounded or check connection and try again)" 'this goes in the status bar if aplicable

Else
Code "G4 P1" 'Pause 1 seconds to give time to position probe plate
PlateOffset = GetUserDRO (1151) 'Get plate offset DRO
CurrentFeed = GetOemDRO (818) 'Get the current feedrate to return to later
MyFeed = 100
If CurrentFeed> MyFeed Then
Code "F" MyFeed 'slow down feedrate to 100 mmpm
Else
Code "F" CurrentFeed
End If
Rem Probe In the z direction
ZNew = GetDro (2) - 10 'probe move to current z - 10mm
Code "G31Z" ZNew
While IsMoving () 'wait for probe move to finish
Wend

Call SetDro (2, PlateOffset) 'set the Z axis DRO to plate thickness
Code "G4 P0.5" 'Pause for Dro to update.

ZNew = 5 'Up to 5mm
Code "G1 Z5 F200" 'ZNew' put the Z retract height you want here
While IsMoving ()
Wend
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Else

Code "(Z-Plate is not grounded. Try again.)"
End If

Code "F" CurrentFeed 'Returns to prior feed rate

Ну а це зовсім вже для. Коротше в Мачеєм (звичайний, з 1024set) йдемо в Operator-Edit button script. Кнопки які можна редагувати будуть моргати. Я взяв Auto tool zero. Тикаємо в Морган кнопку. Текст який вискочить треба замінити на це:

Rem VBScript To probe In the z axis

If GetOemLed # 40; 825 # 41; <> 0 Then 'Перевірка на дотик вручну # 40; тут не оре # 41;
Code "# 40; Z-Plate is grounded, check connection and try again # 41;" '
Else
Code "G4 P1" 'Пауза 1 секунда
PlateOffset = 2 'Товщина плати # 40; вказати своє # 41;
CurrentFeed = GetOemDRO # 40; 818 # 41; 'Отримати поточну швидкість подачі
Code "F100" 'опускаємо на скорості100мм / хв

Rem Probe In the z direction
ZNew = GetDro # 40; 2 # 41; - 50 'Шукаємо протягом 50мм
Code "G31Z" ZNew
While IsMoving # 40; # 41;
Wend

If PlateOffset <> 0 Then
Call SetDro # 40; 2, PlateOffset # 41;
Code "G4 P0.25"
ZNew = PlateOffset + 10 'Висота підскоку після торкання
Code "G0 Z" ZNew
Code "# 40; Z axis is now zeroed # 41;"
End If

Code "F" CurrentFeed
End If


Зберігаємо. Тепер якщо ткнути в кнопку, воно буде їхати зі швидкістю 100 мм в хв до торкання, але не більше ніж 50мм вниз, і підскочить потім на 10мм плюс товщина пластини. Кому не лінь перевірте, тільки не фрезою.

Схожі статті