Страница 1 из 9

Датчик длины инструмента

Добавлено: 03 ноя 2014, 21:21
solanto
Доброго времени суток уважаемые форумчане. Вот наконец решился перейти на EMC2 но столкнулся с проблемой. Не могу понять как настроить датчик длины инструмента. Выглядит датчик как таблетка с проводом о кроколдильчик на фрезу. Поискал на форуме, но варианта устраивающего меня не нашел. А хочу сделать так:
1. Положил таблетку на деталь (толщина таблетки известна заранее и изменяться небудет некогда)
2. Подвёл вручную фрезу к датчику на любой высоте
3, На панельке нажал кнопку определения длины
4. Фреза поехала вниз
5, Коснулась таблетки и запомнила положение
6, При старте УП запомненная высота учитывается и опускается на параметр УП + эта высота.
Помогите плиз, а то Mach уже изрядно надоел мне своими глюками.

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 21:28
sertix

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 21:36
solanto
Я это прочитал, но мало чего понял. Хотя возможно плохо читал. Хотелось бы пошаговую инструкцию, да бы не переделывать по несколько раз одно и тоже.

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 21:48
NightV
вот мой скриптик, нужно немного подправить

Код: Выделить всё

%
G53 G0  Z0
G10 L2 P0 Z0 
M66 P0 L1 Q10
G91 G38.2 Z-26 F1000
G90 G01 F100 Z[#5063 + 1]
G91 G38.2 Z-3 F10
G90 G10 L20 P0 Z0
M66 P0 L2 Q10
G53 G0 z0
%

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 22:13
solanto
Спасибо. Теперь бы хотелось по подробнее куда ето записать, а то я :monkey:

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 22:21
NightV
я этот скрипт делал 2 года назад, так что тоже не ахти все помню, единственное что поудалял с него все не нужное для тебя, там большой станок был, в начале каждой программы сам ехал и замерял толщину стекла с помощью пневматического щупа.
погоди... почитаю доки чтоб вспомнить, че там тогда понаписал :)

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 22:53
NightV

Код: Выделить всё


%
G53 G0  Z0 (едем на самый вверх, наверно тебе это тоже не надо, там у станка выпускался щуп)
G10 L2 P0 Z0 (не помню зачем, это говорит станку что это его ноль, Р0 значит что в любой системе координат, точнее записать в ту которой щас находишся)
M66 P0 L1 Q10 (ждем сигнала на входе, от твоей "таблетки", Р0 - на первом Дигитал входе, L- режим КАК ждем, см. по ссылке, Q - сколько времени ждать)
G91 G38.2 Z-26 F1000 (едем вниз 26мм, до контакта, скорость для себя убавь, ато врежешся на полном ходу)
G90 G01 F100 Z[#5063 + 1] (от того места где был контакт, медленно приподнялись на 1мм)
G91 G38.2 Z-3 F10 (теперь уже очень медленно едем до косания, чтобы получить более точную высоту, коточе теперь уточняем высоту на более маленькой скорости)
G90 G10 L20 P0 Z0 (сдесь говорим системе что вот ее ноль, НО вместо Z0 впиши высоту таблетки, например Z-10)
M66 P0 L2 Q10 (это не помню зачем делал, здесь просто меняется режим, ждет пока разорвется контакт, наверно тоже тебе не надо)
G53 G0 z0 (ехать в машиный ноль, тоесть самый вверх)
%

ну как-то так :hehehe:

тут почитать по М66
тут про G10 L2
тут про G10 L20
здесь про G38.2

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 23:17
nkp
G53 G0 Z0 - активная G53 , приехали по z в координату 0 (ноль)
G10 L2 P0 Z0 - говорим ,что в текущей системе (G53) это 0 по z
но вроде бы и без этой команды (G10 L2 P0 Z0 ) в этой точке 0 по z
??

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 23:22
PKM
Не факт что G53 текущая.

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 23:26
NightV
да, наверно G10 L2 P0 Z0 лишняя... хотя и не мешает, может перестраховался :hehehe:
скоро тоже, на вабеко буду экспериментировать

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 23:26
nkp
PKM писал(а):Не факт что G53 текущая.
ну так же вот:
%
G53 G0 Z0 (едем на самый вверх, наверно тебе это тоже не надо, там у станка выпускался щуп)
G10 L2 P0 Z0

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 23:28
PKM
G53 здесь относится только к текущей команде. Имхо

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 23:29
nkp
еще:
G90 G01 F100 Z[#5063 + 1] (от того места где был контакт, медленно приподнялись на 1мм)
вот эта строка по идее поднимает не на 1мм ,а в координату 1 - потому как G90
или ошибаюсь??

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 23:30
nkp
PKM писал(а):G53 здесь относится только к текущей команде. Имхо
может ты и прав - проверим...
upd:
если G54 по умолчанию активна - тогда и про G90 надо проверять...

Re: Датчик длины инструмента

Добавлено: 03 ноя 2014, 23:41
nkp
PKM писал(а):G53 здесь относится только к текущей команде. Имхо
да - ты прав ! +1
вышеизложенные замечания снимаются...))
(для просмотра содержимого нажмите на ссылку)
Выделение_058.png (10961 просмотр) <a class='original' href='./download/file.php?id=35988&mode=view' target=_blank>Загрузить оригинал (41.42 КБ)</a>

Re: Датчик длины инструмента

Добавлено: 04 ноя 2014, 00:36
NightV
помню долго над скриптами пыхтел...
но этот, и тот скрипт по обнулению двух инструментов (дисков), работают уже два года
щас покажу оригиналы... придется сходить к другому компу...

cходил
zerro_on_z

Код: Выделить всё

%
M65P1
G53 G0  Z0
G10 L2 P0 Z0 
M64 P1
M66 P0 L1 Q10
G91 G38.2 Z-26 F1000
G90 G01 F100 Z[#5063 + 1]
G91 G38.2 Z-3 F10
G90 G10 L20 P0 Z0
M65 P1
M66 P0 L2 Q10
G53 G0 z0
%
zerro_tool.ngc

Код: Выделить всё

o<zero_tool> sub
#1=#5400
M65P1
M65P2
G49 G90 G21
G00 g53 X127 Y768 

M6T1
G53 G0  Z0
G10 l2 p0 z0
M64 P2
M66 P1 L1 Q10
G38.2 Z-35 F1000
G01 F200 Z[#5063 + 1]
G91 G38.2 Z-3 F10
g90
G10 L10 P1 Z-30


M6T2
G53 G0  Z0
G38.2 Z-35 F1000
G01 F200 Z[#5063 + 1]
G91 G38.2 Z-3 F10
G90
G10 L10 P2 Z-29.90
M65 P2
M6T[#1]
G43
G53 G0 z0
f100
o<zero_tool> endsub

Re: Датчик длины инструмента

Добавлено: 04 ноя 2014, 00:53
NightV
забыл добавить, обнуление дисков делалось при каждом обнулении (поэтому и sub, вызывался через Lader > MDI, износ дисков большой).
А по Z вызывается в начале каждой программы.. чтобы случайно не сунули стекло другой толщины, это сделал принудительно..

Re: Датчик длины инструмента

Добавлено: 04 ноя 2014, 03:43
Сергей Саныч
эээ... G10 L2 P0 Z0 тут P0 означает, что нужно установить Z=0 в текущей пользовательской СК, неважно, какая у нас сейчас установлена.
А задавая значения P (1..9), можно менять смещения в любой из пользовательских СК (G54..G59.2), неважно, какая сейчас текущая.
Самое смешное, что я про "особый случай" P0 только вчера прочитал, хотя вопросом занимался довольно плотно :thinking:

Re: Датчик длины инструмента

Добавлено: 04 ноя 2014, 11:02
solanto
NightV писал(а):

Код: Выделить всё


%
G53 G0  Z0 (едем на самый вверх, наверно тебе это тоже не надо, там у станка выпускался щуп)
G10 L2 P0 Z0 (не помню зачем, это говорит станку что это его ноль, Р0 значит что в любой системе координат, точнее записать в ту которой щас находишся)
M66 P0 L1 Q10 (ждем сигнала на входе, от твоей "таблетки", Р0 - на первом Дигитал входе, L- режим КАК ждем, см. по ссылке, Q - сколько времени ждать)
G91 G38.2 Z-26 F1000 (едем вниз 26мм, до контакта, скорость для себя убавь, ато врежешся на полном ходу)
G90 G01 F100 Z[#5063 + 1] (от того места где был контакт, медленно приподнялись на 1мм)
G91 G38.2 Z-3 F10 (теперь уже очень медленно едем до косания, чтобы получить более точную высоту, коточе теперь уточняем высоту на более маленькой скорости)
G90 G10 L20 P0 Z0 (сдесь говорим системе что вот ее ноль, НО вместо Z0 впиши высоту таблетки, например Z-10)
M66 P0 L2 Q10 (это не помню зачем делал, здесь просто меняется режим, ждет пока разорвется контакт, наверно тоже тебе не надо)
G53 G0 z0 (ехать в машиный ноль, тоесть самый вверх)
%

А отсюда поподробнее можно? Куда это прописать? И как к созданной мною кнопке это подципить?
Вот код кнопки:

Код: Выделить всё

<pyvcp>
  <!-- 
  -->
    <hbox>
      <relief>RIDGE</relief>
      <bd>3</bd>
      <led>
        <halpin>"probe-led"</halpin>
        <size>15</size>
        <on_color>"green"</on_color>
        <off_color>"red"</off_color>
      </led>
      <button>
        <halpin>"probe-button"</halpin>
        <text>"Probe"</text>
      </button>
    </hbox>
</pyvcp>

Re: Датчик длины инструмента

Добавлено: 04 ноя 2014, 11:38
NightV
solanto писал(а):Куда это прописать?
в ini файле в разделе [HALUI] вставь (первой строчкой, тогда он будет halui.mdi-command-00)

Код: Выделить всё

MDI_COMMAND = o<zerro_on_z> call
в папке с программами, создаеш такой файл zerro_on_z.ngc

Код: Выделить всё

o<zerro_on_z> sub
G53 G0  Z0
G10 L2 P0 Z0 
M66 P0 L1 Q10
G91 G38.2 Z-26 F1000
G90 G01 F100 Z[#5063 + 1]
G91 G38.2 Z-3 F10
G90 G10 L20 P0 Z0
M66 P0 L2 Q10
G53 G0 z0
o<zerro_on_z> endsub
M2
в хал файле создаеш связь, между кнопкой и mdi командой

Код: Выделить всё

net probe-button_z halui.mdi-command-00 <= pyvcp.probe-button
вот тогда твоя кнопка должна заработать

Код: Выделить всё

      <button>
        <halpin>"probe-button"</halpin>
        <text>"Probe"</text>
      </button>
:attention: НО! саму программу нужно доработать, как я уже и писал
сам датчик уже подцепил? у тебя LPT?