Независимый Ювелирный Форум https://forum.jwiki.ru/ |
|
Mach3 макро для определения нулей двумя зарезами и нониусами https://forum.jwiki.ru/viewtopic.php?f=21&t=1408 |
Страница 1 из 1 |
Автор: | Прохожий [ 09 фев 2015, 08:29 ] | ||
Заголовок сообщения: | Mach3 макро для определения нулей двумя зарезами и нониусами | ||
Mach3 макросы для определения нулей двумя зарезами или нониусами: Y и Z (относительно A) или X и Z (относительно B) Mach3 недолго уже осталось, но пока что она используется вовсю. Так что может кому пригодятся выложенные тут макро. Я слабо ориентируюсь во всяких screensets для Mach3, может в каких-то screensets все функции этих макро есть. Но преимущества макро в том, что их можно использовать с любым screenset'ом. Недостаток в том, что возможен конфликт переменных со screenset'ом — подробности далеко ниже. С этими макро человек, впервые в жизни ищущий нули, может найти их минут за 10, бОльшую часть этого времени сидя сложа руки. 4 пары макросов: m1111.m1s, m1112.m1s — определение нулей Y и Z относительно A двумя зарезами. Для 4-х и 5-осных станков. m1121.m1s, m1122.m1s — для 5-осных станков. Определение нулей X и Z относительно B двумя зарезами. m1113.m1s, m1114.m1s — уточнение нуля Y относительно A по нониусу, без вычислений вручную. m1115.m1s, m1116.m1s — уточнение нуля Z относительно A по нониусообразной шкале, тоже без ручных вычислений. Эти макро использовались очень давно, и я уже толком не помню, были ли в них какие недочёты. Они использовались только на одном станке, так что нельзя сказать, что они тщательно протестированы. К тому же я сейчас повыбрасывал из них всякую лишнюю всячину, так что код изменился. Но вроде всё работает. Но если что, то обломками фрез в меня не бросаться.
|
Автор: | Прохожий [ 09 фев 2015, 08:41 ] |
Заголовок сообщения: | Mach3 макросы для определения нулей Y и Z двумя зарезами |
Mach3 макросы для определения нулей Y и Z (относительно A) двумя зарезами: m1111.m1s и m1112.m1s Эти макросы ничего не двигают, только изменяют числа в значениях координат Y и Z (и A, если хотите). Вот есть пластинка воска: Вложение: 00_wax.gif [ 381 байт | Просмотров: 47509 ] Поставили её в станок: Вложение: 01_wax-in-mill.gif [ 4.1 КБ | Просмотров: 47509 ] Делаем зарез в произвольном месте: Вложение: 02_1st-notch.gif [ 4.17 КБ | Просмотров: 47509 ] Не меняя положение Y и Z (по X можно двигать куда угодно), запускаем первое макро — m1111.m1s: Вложение: 03_m1111.png [ 28.08 КБ | Просмотров: 47509 ] Уводим фрезу от восковки и поворачиваем A на 180 градусов: Вложение: 04_A-180.gif [ 4.17 КБ | Просмотров: 47509 ] Не меняя положение A, делаем второй зарез так, чтобы верхушки зарезов соприкоснулись, т. е. чтобы их Y и Z совпали. Ну то есть всем известно, как должны выглядеть эти зарезы: Вложение: 05_2nd-notch.gif [ 4.21 КБ | Просмотров: 47509 ] Не меняя положение Y и Z (по X можно двигать куда угодно), запускаем второе макро этой пары — m1112.m1s: Вложение: Оно показывает, какая нашлась закладка. Следует глянуть на координаты или время, чтобы убедиться, что всё нормально — что это та закладка, которую только что сделали на первом зарезе.Нажимаем OK, и макрос вычисляет нули Y и Z: среднее значение координат первого и второго зарезов: Вложение: 07_Y-Z-zeros.gif [ 4.43 КБ | Просмотров: 47509 ] Следующим номером программы можно скорректировать A так, что при A=0 восковка станет горизонтально, т. е. вершина первоначального положения первого зареза и вершина второго зареза будут на одной горизонтали, а именно на Z=0: Вложение: 08_A-zero.gif [ 6.59 КБ | Просмотров: 47509 ] Эти 2 макро, так же как и остальные макро, после выполнения каждой своей задачи выдают соответствующее сообщение в строке сообщений. Если нажать Cancel, то макро закроется, ничего не сделав, и соответственно сообщения в строке сообщений не будет. Для полировки нулей Y и Z — дальше (через 1 пост) следуют нониусные макро. |
Автор: | Прохожий [ 09 фев 2015, 08:44 ] |
Заголовок сообщения: | Mach3 макросы для определения нулей X и Z двумя зарезами |
Mach3 макросы для определения нулей X и Z (относительно B) двумя зарезами: m1121.m1s и m1122.m1s Всё то же самое, что и в предыдущих двух макросах, но для нулей X и Z для восковки, вращающейся по оси B. Выглядящая ненужной фича корректировки координат поворотной головы – это рудимент другого макро, сейчас утерянного, которое по 4-м зарезам поворачивало A так, чтобы ось B была параллельна Y, что важно для 5-осевого станка. При выходе из Mach3 дата закладки забывается (хотя раньше вроде сохранялась, не помню точно), но координаты сохраняются, так что при необходимости между первым и вторым зарезом можно закрыть Mach3. |
Автор: | Прохожий [ 09 фев 2015, 08:54 ] |
Заголовок сообщения: | Mach3 макросы для уточнения нуля Y (относительно A) нониусом |
Mach3 макросы для уточнения нуля Y (относительно A) нониусом: m1113.m1s и m1114.m1s Соответствующая пара для X (относительно B) утеряна, но эти макросы очень простые и короткие, на порядок короче их описания, так что переделать макро для Y в макро для X легко и просто. Первый макрос m1113.m1s вырезает нониус, затем человек рассматривает его (нониус), считает прорези и запускает второй макрос m1114.m1s, в который вводит номер совпадающей прорези. Макрос m1114.m1s корректирует значение Y, ничего не двигая. Вставляем в станок плитку воска: Вложение: 10_wax.gif [ 381 байт | Просмотров: 47509 ] Первую прорезь делаем вручную. Это будет середина шкалы. Она не обязана быть в середине восковки, может быть в любом месте. Наверно имеет смысл расположить шкалу так, чтобы место Y=0 осталось нетронутым, чтобы в конце процесса сделать там финальный контрольный зарез. X: насколько глубоко по X сделана первая прорезь, настолько же глубоко по X будут делаться и остальные прорези. В этом смысл первой ручной прорези. Фреза будет ходить 5 мм по X, так что прорезь никак не должна быть глубже 4 мм. Y: первая шкала будет резаться на 10.3 мм в обе стороны от первой ручной прорези. Потом A повернётся на -180, и вторая шкала будет резаться зеркально по Y, прямо над первой шкалой. Z: т. к. первая прорезь будет прорезана макросом снова, когда будут делаться и остальные прорези, то может быть имеет смысл прорезать первую прорезь на пару миллиметров выше ноля. Макрос будет резать все прорези на Z=0. Первая ручная прорезь нужна только для задания глубины по X. Для выхода из прорези фреза будет подыматься на 4 мм. F: G1 движения в воздухе будут делаться с той feedrate, которая задана в Mach3. Режущие G1 движения в воске будут в 2 раза медленнее. A: при повороте A фреза убирается на 5 см вправо и 5 см вверх. Итак, сделали первую прорезь и запускаем m1113.m1s. Скрипт выдаёт окошко с вышесказанным текстом, и сразу после нажатия OK приступает к работе и больше уже ничего не спрашивает. Первым делом проверяется наличие необходимого пространства: фреза идёт в Z+50, затем сдвигается на +50 по X и заходит в крайние точки по Y: чтобы если что-то с чем-то столкнётся, то сразу, пока оператор смотрит, а не потом, когда он отвлечётся. Затем режет первую шкалу — с шагом 1 мм: Вложение: 11_Y-vernier-1.gif [ 1.03 КБ | Просмотров: 47509 ] Затем фреза убирается на +50 по Z и X, и A поворачивается на -180: Вложение: 12_A-180.gif [ 1.02 КБ | Просмотров: 47509 ] Режется вторая шкала — с шагом 1.01 мм (рисунок не в масштабе, а как получилось): Вложение: 13_Y-vernier-2.gif [ 1.45 КБ | Просмотров: 47509 ] А мы рассматриваем нониус и ищем совпадающие метки. Положение фрезы сохранять не требуется. Можно отодвинуть фрезу и вынуть восковку. Прорези нумеруются от -10 до +10 в направлении от -Y к +Y, в том положении восковки, в котором закончилась резка — т. е. шкала с выделенными 5-ми метками внизу: Вложение: 14_Y-matching-notch.gif [ 3.59 КБ | Просмотров: 47509 ] Если ноль идеальный, то средние метки совпадают, и никакой коррекции не нужно. На рисунке совпадают метки номер -5. Тут нужно быть внимательным — не сдвинуты ли шкалы настолько сильно, что сдвиг больше расстояния между метками, т. е. больше 1 мм. При таком плохом нуле к нониусу обращаться рано. Запоминаем номер совпавшей метки и запускаем следующее макро: m1114.m1s: Вложение: Выбираем номер совпавшей метки и нажимаем OK.Ничего никуда не едет, только изменяется значение координаты Y, о чём и сообщается в строке сообщений. Всё. Если теперь послать Y в 0, то фреза приедет в скорректированный 0. Внутри m1114.m1s — две задержки по 0.222 секунды. Если кажется, что макрос тормозит — то это не глюки компьютера, а так надо для надёжности. Хотя в данном конкретном случае это лишнее. |
Автор: | Прохожий [ 09 фев 2015, 09:00 ] |
Заголовок сообщения: | Mach3 макросы для уточнения нуля Z нониусоподобной шкалой |
Mach3 макросы для уточнения нуля Z (относительно A) нониусоподобной шкалой: m1115.m1s и m1116.m1s Это не нониус. Я не знаю, как называется такая шкала. Поэтому тут она называется нониусоподобной. Соответствующая пара макросов для Z относительно B тоже утеряна. Всё то же, что и в предыдущей паре макросов: первый макрос m1115.m1s вырезает нониусоподобную шкалу, затем человек рассматривает её, считает прорези и запускает второй макрос m1116.m1s, в который вводит номер совпадающей прорези. Макрос m1116.m1s корректирует значение Z, ничего не двигая. Одна шкала точно такая же, как и в макросе для Y: шаг 1 мм, каждая 5-я метка выделена для лёгкого счёта. В другой шкале шаг тоже 1 мм, но каждая метка сдвинута относительно соседней на 0.01 по Z: Вложение: 21_Z-vernier-like.gif [ 1.42 КБ | Просмотров: 47509 ] Метки нумеруются точно так же, как и с нониусом: от -10 до +10 в направлении от -Y к +Y, в том положении восковки, в котором закончилась резка — т. е. шкала с выделенными 5-ми метками внизу: Вложение: 22_Z-matching-notch.gif [ 3.56 КБ | Просмотров: 47509 ] На рисунке совпадают где-то -6 или -5. Ну возьмём -6. Запускаем M1116, выбираем -6, нажимаем OK. Всё. Для глубокого морального удовлетворения делаем финальные контрольные зарезы с Y=0 и Z=0 и любуемся, как они совпадают. |
Автор: | Прохожий [ 09 фев 2015, 09:04 ] |
Заголовок сообщения: | Другое использование нониусных макро для определения нулей |
Другое использование нониусных макро Т.к. вышевыложенные нониусные макро не зависят от screenset, не используют никаких инструментов кроме самого станка, занимают всего несколько минут, результат не зависит от субъективных факторов типа умения/неумения человека или настроения, и главное — результат легко выразить в двух числах, то можно, например, сравнить два станка, расположенные в разных местах, периодически запускать макросы и наблюдать, деградируют ли нули и/или выравнивание осей, оценить станок перед покупкой, прежде чем решать, стоит ли ехать смотреть его. Можно, например, попросить продавца выполнить m1113 и m1115 близко к поворотной голове и потом как можно дальше от неё, и увидеть в цифрах, насколько не параллельна ось A. m1114.m1s можно использовать с нониусом, опубликованным тут: Т.к. шкалы такие же, то должно работать. Т.е. вырезав нониус, не нужно ломать голову, что делать с номером совпавшей метки: прибавить или отнять, целиком или половину, и т. п., а можно запустить M1114 и выбрать нужный номер. |
Автор: | Прохожий [ 09 фев 2015, 09:09 ] |
Заголовок сообщения: | Технические и другие подробности макро для определения нулей |
Технические и другие подробности макросов для определения нулей Идея нониусных макросов и их траектория фрезы взяты в некоторой степени из G-программки, опубликованной в теме Нониус для установки 0 по Y. Там не совсем понятно, чьё это изделие: Сергея Фокина, Л. Князева или их совместное. Запуск макросов: Запускаются макросы набором их имени в строке MDI (Manual Data Input). Набирать нужно только имя макроса, без расширения файла. Т.е. не m1111.m1s а m1111 Регистр букв не важен. Куда положить файлы макросов, можно прочитать в последнем абзаце поста Бакап настроек. Совместимость: Макросы для определения нулей двумя зарезами m1111.m1s, m1112.m1s, и m1121.m1s, m1122.m1s используют следующие UserDRO и UserLabel: m1111.m1s, m1112.m1s: UserDRO 1112, 1113, 1122, 1123 UserLabel 111 m1121.m1s, m1122.m1s: UserDRO 1111, 1113, 1121, 1123 UserLabel 111 Маловероятно, но возможно, что screenset тоже использует эти переменные. Тогда будет конфликт. Поэтому лучше сначала узнать у автора screenset'а, не используются ли в нём эти переменные. Или сделать бакап профайла Mach3. Какой файл бакапить, можно прочитать в посте Бакап настроек. Нониусные макросы конфликта вызвать не могут, т. к. ничего в UserDRO и UserLabel не пишут. Две пары макро для определения нулей Y, Z и X, Z не совсем продуманно сделаны в том плане, что они используют одни и те же переменные, и в результате затирают дату и Z, сохранённые ранее другим макро. Но на практике это совершенно не важно, ведь на практике определение нулей Y, Z и X, Z не происходит одновременно. Если нужно изменить номера конфликтующих переменных, то делается это легко и просто: в начале текста каждого макроса есть одни и те же строки: const MachineX = 1111 : const ProgramX = 1121 const MachineY = 1112 : const ProgramY = 1122 и т. д. Нужно в m1111.m1s, m1112.m1s, и m1121.m1s, m1122.m1s заменить числа 1111, 1121, или какие там конфликтуют, на другие. |
Автор: | SVP [ 09 фев 2015, 12:20 ] |
Заголовок сообщения: | Re: Mach3 макро для определения нулей двумя зарезами и нониу |
Кто-нибудь подтвердите, что смогли воспользоваться и прикрепим... |
Автор: | Прохожий [ 01 мар 2015, 12:03 ] | |||||||||
Заголовок сообщения: | G-code файлы для вызова макросов | |||||||||
G-code файлы для вызова макросов Чтобы не запоминать номера макросов и не набирать их в строке MDI, можно вызов макросов поместить в G-code. Тогда G-code файл, вызывающий макро, можно запускать привычным путём — кнопкой Load или в меню File / Load G-Code. G-code файлы можно поместить куда угодно и переименовать как угодно. Файлы макросов по-прежнему должны быть в C:\Mach3\macros\НазваниеПрофайла Приатачены следующие файлы: Определение нулей Y и Z относительно A двумя зарезами: YZ-A_1.txt Запускается после первого зареза (запускает m1111) YZ-A_2.txt Запускается после второго зареза (запускает m1112) Определение нулей X и Z относительно B двумя зарезами: XZ-B_1.txt Запускается после первого зареза (запускает m1121) XZ-B_2.txt Запускается после второго зареза (запускает m1122) Нониус Y (относительно A): Vernier-Y_1.txt Режет нониус (запускает m1113) Vernier-Y_2.txt Корректирует Y (запускает m1114) Нониусовидная шкала Z (относительно A): Vernier-like-Z_1.txt Режет нониусовидную шкалу (запускает m1115) Vernier-like-Z_2.txt Корректирует Z (запускает m1116) --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- Например, для определения нуля Y по нониусу: запускаем g-code файл Vernier-Y_1.txt рассматриваем вырезанный нониус запускаем g-code файл Vernier-Y_2.txt всё. --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- Макросы находятся во вложении в первом посте этой темы: Mach3 макросы для определения нулей двумя зарезами или нониусами. Продолжение темы Mach3 макро — в посте «Mach3 макросы для изменения ускорения» в теме про пропуск шагов.
|
Автор: | mordhard [ 21 фев 2021, 02:16 ] |
Заголовок сообщения: | Re: G-code файлы для вызова макросов |
Здравствуйте, не могли бы вы проконсультировать по поводу обнуления 5 осевого станка. Выше говорилось о макросе для 5 осевого станка, не могли бы вы им поделится? |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |