Скрипты для поиска базы и выравнивания портала.
Добавлено: 02 июн 2019, 17:32
Добрый день!
Коллеги, прошу Вашей помощи в написании нескольких макросов / скриптов для Mach3.
На текущий момент занимаюсь модернизацией своего станка, который описывал в этой теме: http://www.cnc-club.ru/forum/viewtopic. ... 57#p510957
Сейчас возникли потребности в организации поиска базы двух осей Z, поиска базы по меткам OZ энкодеров, выравнивании портала по меткам Z энкодеров.
Задача №1
Требуется при нажатии кнопки "Ref All Home" реализовать поочередный поиск HOME на оси Z1, затем Z2 (или наоборот) и далее Y и X.
На текущий момент по умолчанию работает ось Z1, а Z2 стоит в удержании, при активации сигнала OUTPUT 5 состояние осей инвертируется - Z1 стоит в удержании, Z2 работает. Концевики HOME обоих осей соединены параллельно и дают сигнал на вход Z Home.
Задача №2
Требуется организовать точный поиск базы на каждой оси путем применения сигнала от нулейвой метки (Z) энкодера.
Предполагаю получить такой алгоритм работы: при поиске базы ось едет в направлении "-" до срабатывания концевика, затем едет в "+" до срабатывания выхода OZ энкодера двигателя, эту точку считать базой. Выход OZ возможно завести на входы Input 1-4 и/или OEM Trig.
Задача №3
Выравнивание портала по меткам OZ. Предполагается что изначально механическим путем будет настроено положение основной оси (Y) и подчиненной оси (B) таким образом, что при положении обоих двигателей осей в положении OZ портал будет стоять в правильном положении т.е. ось Y будет перпендикулярна оси X. Предполагаю следующий алгоритм работы: при поиске базы основная и подчиненная ось едут в направлении "-", при срабатывании OZ той или другой оси соответствующая ось останавливается, оставшаяся продолжает движения до срабатывания ее метки OZ, далее обе оси синхронно едут в направлении "-" до срабатывания любого из концевиков Limit Y- или Limit B- (при необходимости их можно запараллелить и завести только на один вход, например на Limit Y-). Затем, как и в предыдущей задаче, обе оси едут в направлении "+" до срабатывания сигнала OZ и останавливаются; это положение и будет Y Home.
Задача №4
Если в G-коде присутствует команда смены инструмента на любой номер, кроме "20" вся система должна работать в обычном режиме. Если стоит команда смены инструмента на номер "20", то необходимо сместить рабочие координаты осей X и Y на величину расстояний между центрами осей шпинделей, расположенных на каретках Z1 и Z2. Вижу реализацию этого путем перехода в другую систему координат. Затем необходимо запомнить положение оси Z1 и поднять ее максимально вверх, активировать ось Z2 и привести ее в положение в котором находилась Z1 до подъема. В случае если текущим инструментом является инструмент с номером "20" и следует команда смены инструмента на другой номер, то выполнить аналогичные действия наоборот: перейти в другую систему координат, запомнить положение Z2, поднять Z2 максимально вверх, активировать Z1, отправить Z1 в положении в котором находилась Z2 до подъема.
В написании скриптов / макросов я не силен... совсем не силен, поэтому прошу тапками не кидаться. Буду благодарен если подскажите где посмотреть подобные примеры.
Коллеги, прошу Вашей помощи в написании нескольких макросов / скриптов для Mach3.
На текущий момент занимаюсь модернизацией своего станка, который описывал в этой теме: http://www.cnc-club.ru/forum/viewtopic. ... 57#p510957
Сейчас возникли потребности в организации поиска базы двух осей Z, поиска базы по меткам OZ энкодеров, выравнивании портала по меткам Z энкодеров.
Задача №1
Требуется при нажатии кнопки "Ref All Home" реализовать поочередный поиск HOME на оси Z1, затем Z2 (или наоборот) и далее Y и X.
На текущий момент по умолчанию работает ось Z1, а Z2 стоит в удержании, при активации сигнала OUTPUT 5 состояние осей инвертируется - Z1 стоит в удержании, Z2 работает. Концевики HOME обоих осей соединены параллельно и дают сигнал на вход Z Home.
Задача №2
Требуется организовать точный поиск базы на каждой оси путем применения сигнала от нулейвой метки (Z) энкодера.
Предполагаю получить такой алгоритм работы: при поиске базы ось едет в направлении "-" до срабатывания концевика, затем едет в "+" до срабатывания выхода OZ энкодера двигателя, эту точку считать базой. Выход OZ возможно завести на входы Input 1-4 и/или OEM Trig.
Задача №3
Выравнивание портала по меткам OZ. Предполагается что изначально механическим путем будет настроено положение основной оси (Y) и подчиненной оси (B) таким образом, что при положении обоих двигателей осей в положении OZ портал будет стоять в правильном положении т.е. ось Y будет перпендикулярна оси X. Предполагаю следующий алгоритм работы: при поиске базы основная и подчиненная ось едут в направлении "-", при срабатывании OZ той или другой оси соответствующая ось останавливается, оставшаяся продолжает движения до срабатывания ее метки OZ, далее обе оси синхронно едут в направлении "-" до срабатывания любого из концевиков Limit Y- или Limit B- (при необходимости их можно запараллелить и завести только на один вход, например на Limit Y-). Затем, как и в предыдущей задаче, обе оси едут в направлении "+" до срабатывания сигнала OZ и останавливаются; это положение и будет Y Home.
Задача №4
Если в G-коде присутствует команда смены инструмента на любой номер, кроме "20" вся система должна работать в обычном режиме. Если стоит команда смены инструмента на номер "20", то необходимо сместить рабочие координаты осей X и Y на величину расстояний между центрами осей шпинделей, расположенных на каретках Z1 и Z2. Вижу реализацию этого путем перехода в другую систему координат. Затем необходимо запомнить положение оси Z1 и поднять ее максимально вверх, активировать ось Z2 и привести ее в положение в котором находилась Z1 до подъема. В случае если текущим инструментом является инструмент с номером "20" и следует команда смены инструмента на другой номер, то выполнить аналогичные действия наоборот: перейти в другую систему координат, запомнить положение Z2, поднять Z2 максимально вверх, активировать Z1, отправить Z1 в положении в котором находилась Z2 до подъема.
В написании скриптов / макросов я не силен... совсем не силен, поэтому прошу тапками не кидаться. Буду благодарен если подскажите где посмотреть подобные примеры.