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

Прошу о помощи! два участка + останов

Добавлено: 23 сен 2014, 17:34
chew55
Задача:
Два линейных участка; перед первым включаем шпиндель;
перед вторым - его останавливаем. Требуется, чтобы движение по
лин. участкам НЕ прерывалось, т.е. без остановки на границе.

Пробовал два варианта:

1)
m3 s6000
g1 x500 f7500 s0
g1 x150 f7500

Остановки на границе нет; НО шпиндель сразу же останавливается!

2)
m3 s6000
g1 x500 f7500
s0
g1 x150 f7500

Останов вращения как задумано; НО наблюдается торможение и ускорение
на границе, т.е. скорость изменяется!

Помогите решить проблему!
Какие есть соображения по этому поводу?

Программа: Mach3; лицензионная.

ЗЫ: На самом деле не шпиндель, а бетононасос ;)

Re: Прошу о помощи! два участка + останов

Добавлено: 23 сен 2014, 17:45
ukr-sasha
Может так?:

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

m3 s6000
g1 x500 f7500
g1 x150 f7500 s0
chew55 писал(а):ЗЫ: На самом деле не шпиндель, а бетононасос
Дома станком с ЧПУ строите?

Re: Прошу о помощи! два участка + останов

Добавлено: 23 сен 2014, 18:10
aftaev
chew55 писал(а):Задача:
Два линейных участка; перед первым включаем шпиндель;
Задача нифига не понятна. Расписывай что за станок что будет делать.

Re: Прошу о помощи! два участка + останов

Добавлено: 23 сен 2014, 18:10
mhael
А просто установить длину паузы = 0 не пробовали?
Mach3_Turn_spindle_setup.jpg (2977 просмотров) <a class='original' href='./download/file.php?id=33700&mode=view' target=_blank>Загрузить оригинал (118.55 КБ)</a>
Эти опции позволяют вам управлять задержкой после старта и остановки вращения шпинделя перед выполнением Mach3 каких-либо команд ( т.н. Пауза (Dwell)). Эта задержка может использоваться, чтобы дать время для разгона шпинделя перед началом обработки и обеспечивать защиту на программном уровне от поломок при переходе с вращения по часовой стрелке в сторону против
вращения стрелки и наоборот. Время задержки вводится в секундах.
Немедленное отключ.реле после задержки (Immediate Relay off before delay), если отмечено, выключение реле шпинделя будет производиться насколько можно быстро после появления команды
M5. Если не отмечено, он будет оставаться включенным на протяжении времени, заданного в окошках выше.

Re: Прошу о помощи! два участка + останов

Добавлено: 24 сен 2014, 13:21
chew55
Спасибо за совет!
НО: пробовал и так - всё равно наблюдаются торможение и разгон

ЗЫ Строить будем дом, точно. Но не станком, а роботом. Программу управления выбирал не я -
вот боремся с тем, что уже куплено. Не исключено, что придётся программу сменить!

Re: Прошу о помощи! два участка + останов

Добавлено: 24 сен 2014, 13:57
ukr-sasha
А если схитрить?
В код писать не S0, а S10 например. Тогда, возможно, Масн3 не будет тратить время на разгон/торможение.
Шпиндель/насос настроить, чтобы он воспринимал S10, как нулевое задание.

Re: Прошу о помощи! два участка + останов

Добавлено: 24 сен 2014, 15:51
Andrey_tlt
Как шпиндель включается?
если через выход, т.е. просто вкл-выкл, то можно попробовать макрос написать с отслеживанием текущего положения
и включением шпинделя после перехода в определенную точку, работать будет, скорее всего только в координатах станка,
Если через PWM, то тут сложнее.

Re: Прошу о помощи! два участка + останов

Добавлено: 24 сен 2014, 17:02
chew55
Вопрос-то вот какой: ПОЧЕМУ не выдерживается линейная скорость (происходит торможение-разгон) только если в этой строке (или между ними) встречается ДРУГАЯ команда (типа остановить шпиндель) ?

ЗЫ: пробовал не S0 а S10, S100 и m5 - результата нет!

Re: Прошу о помощи! два участка + останов

Добавлено: 24 сен 2014, 17:13
aftaev
Как вариант прописать ось А например и к этой оси на выход Dir прицепить управление насосом.
G0 А 0.1 (включили)
G0 А-0.1 (выключили)

Re: Прошу о помощи! два участка + останов

Добавлено: 24 сен 2014, 17:18
gendos
Мне похожую задачу нужно было решить с включением - выключением лазера в маче не получилось(возможно мало уделил этому времени)
Подсказали как это сделать в EMC2 вот ссылка пост 212
http://www.cnc-club.ru/forum/viewtopic. ... &start=200
Перейти на EMC2 нет ничего сложного и в дальнейшем избежите возможных проблем с матчем

Re: Прошу о помощи! два участка + останов

Добавлено: 24 сен 2014, 18:40
Andrey_tlt
Если насос управляется по принципу вкл-выкл, то можно вот такой макрос вставить
Движение должно запускаться в макросе, управление насосом на Output1 (можно другой выход поставить)
Если во время выполнения макроса нажать стоп программы, то насос останется включенным,
если нажать Е-стоп, то выключится все.

Возможно, придется подбирать точки включения - отключения с учетом времени реакции насоса
С какой точностью бетон заливаете? :)

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

Code "G01 F100 Y120"                                   'это куда надо ехать
While isMoving()                                           'цикл - ждем завершения движения
	Y_DRO = GetDRO(1)                              'получить текущее значение координаты
	If Y_DRO > 30 Then                              'точка включения насоса
	
		If Y_DRO > 70 Then                      'точка выключения насоса
			DeactivateSignal(Output1)
		Else
			ActivateSignal(Output1)         'насос включится между 30 и 70, после 70 выключится
		End If
	
	End If
	
sleep (10)            ' без этого может повиснуть
Wend

Re: Прошу о помощи! два участка + останов

Добавлено: 24 сен 2014, 20:06
mhael
Вот тут вроде описывается, как править время задержки
http://www.cnczone.com/forums/tormach-p ... ost1171303

Re: Прошу о помощи! два участка + останов

Добавлено: 18 июл 2015, 15:58
snova
У меня та же самая проблема не могу решить!

Помогите справится с ней, от меня 2000 руб. в благодарность первому кто предложит любое правильное решение.

Собираю своими руками ЧПУ для продольной сварки. К выходу Output2 привязано реле, которое включает/выключает сварочную горелку.

Программа простейшая:

G0 X0 Y0 Z0
G0 X150 Y0 Z0
G0 M3 X350 Y0 Z0 ( Здесь включается горелка и начинает двигаться вдоль заготовки. вначале этой строчки происходит пауза небольшая - ее можно оставить.)
G0 M5 X400 Y0 Z0 (Здесь горелка выключается и должна в режиме затухания двигаться еще 50 шагов до конца заготовки. Вначале этой строчки происходит пауза небольшая - ее оставлять ни в коем случае нельзя, иначе горелка зависнув прожжет заготовку)
G0 X500 Y0 Z0

Что пробовал и какой результат?

1. Подредактировал макрос от Andrey_tlt:
Andrey_tlt писал(а):

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

Code "G01 F100 X120"                                   'это куда надо ехать
While isMoving()                                           'цикл - ждем завершения движения
	X_DRO = GetDRO(1)                              'получить текущее значение координаты
	If X_DRO > 30 Then                              'точка включения насоса
	
		If X_DRO > 70 Then                      'точка выключения насоса
			DeactivateSignal(Output2)
		Else
			ActivateSignal(Output2)         'насос включится между 30 и 70, после 70 выключится
		End If
	
	End If
	
sleep (10)            ' без этого может повиснуть
Wend
Пробовал. Горелка просто проезжает до конечной точки. Реле не включается. По логике должно работать, но у меня почему-то не работает, может подскажете в чем ошибка?

2.
mhael писал(а):А просто установить длину паузы = 0 не пробовали?
Вложение Mach3_Turn_spindle_setup.jpg больше недоступно
Пробовал. Все осталось попрежнему.

3. Пробовал вместо M3/M5 использовать свои макросы M62/M63. В них прописывал ActivateSignal(Output2)/DeactivateSignal(Output2) соответственно. Паузы по-прежнему оставались.

4.
mhael писал(а):Вот тут вроде описывается, как править время задержки
http://www.cnczone.com/forums/tormach-p ... ost1171303
У меня в m3.m1s такого нет. Там только DoSpinCW() . Может чего-то не правильно понял, я с помощью гугл переводчика читал. Подскажите пожалуйста.

5.
aftaev писал(а):Как вариант прописать ось А например и к этой оси на выход Dir прицепить управление насосом.
G0 А 0.1 (включили)
G0 А-0.1 (выключили)
Этот вариант не пробовал. Но он для меня вполне приемлимый так-как контроллер у меня 3х осный, а задействовано в работе 2 оси. Т.е. 3тью ось я бы мог задействовать для включения реле. Но не знаю как правильно подключить реле вместо оси. Может кто знает как это сделать?

Контроллер у меня TB6560 в алюминевом корпусе. Управляющая программа Mach3
Без-имени-2.jpg (2656 просмотров) <a class='original' href='./download/file.php?id=54348&mode=view' target=_blank>Загрузить оригинал (151.29 КБ)</a>
Тему мониторю, отвечать на вопросы и пробовать решения буду быстро. Если нужно сниму видео.

Re: Прошу о помощи! два участка + останов

Добавлено: 18 июл 2015, 20:37
snova
Ответ подсказали на другом форуме. В макросе для моего случая необходимо было изменить "X_DRO = GetDRO(1)" на "X_DRO = GetDRO(0)"

Code "G01 F100 X120" 'это куда надо ехать
While isMoving() 'цикл - ждем завершения движения
X_DRO = GetDRO(0) 'получить текущее значение координаты
If X_DRO > 30 Then 'точка включения насоса

If X_DRO > 70 Then 'точка выключения насоса
DeactivateSignal(Output1)
Else
ActivateSignal(Output1) 'насос включится между 30 и 70, после 70 выключится
End If

End If

sleep (10) ' без этого может повиснуть
Wend