Перегляд теми - простий скрипт пошуку центрів отворів в металі

Rem VBScript Пошук центру отвори

ProbeFeed = 100 'Швидкість переміщення фрези при пошуку
Rem У мене при цій швидкості деталь навіть не порушувався.
ProbeDist = 30 'Відстань з запасом до країв отвору. Якщо отвір велике - збільшити до діаметра
Code "M3"
Code "G4 P1" 'пауза 1 секунда

Code "F" ProbeFeed 'Встановлюємо швидкість пошуку

If GetOemLed (825) <> 0 Then 'Якщо фреза стосується краю отвору виводимо
Code "(Probe plate is grounded, check connection and try again)"
Else
FeedCurrent = GetOemDRO (818) 'Запам'ятовуємо поточну швидкість
XCurrent = GetDro (0)
YCurrent = GetDro (1)

Code "G4 P1" 'Пауза в 1 секунду на всякий випадок

Code "G0 X" XCurrent 'швидко повертаємося у вихідну позицію

Rem Шукаємо вправо

XCenter = (XPos1 + XPos2) / 2 'так як отвір кругле і фреза кругла, то центр по Х в середині
Code "G0 X" XCenter 'швидко встановлюємо в центр по Х

Rem Шукаємо вперед

Rem Рухаємося в знайдений центр по Y
Code "G0 Y" YCenter
While IsMoving () 'чекаємо поки їде
Wend

Code "M5"
Code "F" FeedCurrent 'відновлюємо швидкість
End If

Іноді потрібно перевірити точність установки краю деталі по осі.
Використовуємо шматок скрипта:
Наприклад, вліво по Х.

Rem VBScript Перевірка паралельності осі Y правого краю деталі

ProbeFeed = 100 'Швидкість переміщення фрези при перевірці
ProbeDist = 30 'Відстань з запасом до краю
Code "M3"
Code "G4 P1" 'пауза 1 секунда

Code "F" ProbeFeed 'Встановлюємо швидкість пошуку

If GetOemLed (825) <> 0 Then 'Якщо фреза вже стосується краю виводимо
Code "(Probe plate is grounded, check connection and try again)"
Else
FeedCurrent = GetOemDRO (818) 'Запам'ятовуємо поточну швидкість
XCurrent = GetDro (0)
Code "G4 P1" 'Пауза в 1 секунду на всякий випадок

Rem Рухаємося вліво

Записуємо значення Х з монітора, вручну перемещаем фрезу по Y і знову перевіряємо.

Re: Простий скрипт пошуку центрів отворів в металі

VVChaif ​​- Начальник форуму

навіщо для пошуку центру отвори треба гуляти по осі Z.


Це зручно коли потрібно знайти не центр отвору, в центр шайби.

Re: Простий скрипт пошуку центрів отворів в металі

А що таке центр шайби?
Напевно, мається на увазі не шайба а коло. Але там стільки параметрів треба задавати при пошуку, що зручніше пошуком по трьом точкам і розрахунок по формулі. Або руками підганяти і чотири рази виконати команду G31.

Соррі що втручаюся, але мені здається, що скрипти пошуку центру отвори у вас складні.
Я цієї мови НЕ знаю-опишу російською.
Припустимо у нас столі лежить металевий циліндр і нам потрібно знайти його центр. У нас ідеально круглий щуп, і ідеально круглий циліндр.
Початкове положення щупа рекомендую як на картинці

Перегляд теми - простий скрипт пошуку центрів отворів в металі

У нас в розпорядженні команди пересування, перевірки свідчення датчика і установки поточних координат.
Отже скрипт:
Їхати вгору поки датчик не торкнеться заготовки
Обнуляємо наші координати по X (X = 0)
Їхати вправо поки датчик не отліпнет від заготовки
Їхати вправо поки датчик не торкнеться заготовки
Координата центру X дорівнюватиме половині наших поточних координат по X (X = X / 2)
Обнуляємо наші координати по Y (Y = 0)
Їхати вниз поки датчик не отліпнет від заготовки
Їхати вниз поки датчик не торкнеться заготовки
Координата центру Y дорівнюватиме половині наших поточних координат по Y (Y = Y / 2)
Їхати в нульову точку
Ось. Чи не штовхайте сильно.

Може бути погано якщо стартова точка виявиться правіше центру-поломка щупа і інші сумні речі.

А що таке центр шайби?


Смію припустити, що малося на увазі те, що якщо потрібно знайти не центр отвору а центр опуклості, то без підйому по Z ніяк не обійтися.

Re: Простий скрипт пошуку центрів отворів в металі

Найменша помилка вимірювання буде, коли відстані максимальні. Тобто початкове положення по осі Х близько до центру.
Подивіться на вашу картинку. У вас навпаки. При установки фрези в центр, алгоритм взагалі не працює. Тому він менш точний, складніше і гірше.

Смію припустити, що малося на увазі те, що якщо потрібно знайти не центр отвору а центр опуклості, то без підйому по Z ніяк не обійтися.


Будь-яка окружність однозначно будується по трьом точкам. Три точки можна отримати з одного боку кола без підйому по Z. Тобто обійтися без підйому можна.
Для того, щоб підніматися і опускатися треба приблизно знати діаметр і початкову точку. Тобто це буде не універсальний скрипт. Ну і набагато складніше. Простіше ручками.

Зараз переглядають цей форум: Немає зареєстрованих користувачів і гостей 7

Схожі статті