Пример использования GOTO в токарке

Fanuc, Okuma, Sinumerik и т.д.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6585
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2271
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Пример использования GOTO в токарке

Сообщение NightV »

некоторые знакомые ЧПУшники, спрашивали, не боюсь ли я запускать программу так близко от патрона, (а один дедок даже одернул мне руку, от кнопки Старт, кода увидел что голова с инструментами находится в 10см от патрона).
секрет прост, я НЕ запускаю программу с самого начала, когда меняю заготовку, она зациклена.
тоесть, шапка программы (где вызывается инструмент), отрабатывает на безопасном расстоянии от патрона, а дальше программа работает по кругу, не касаясь шапки программы.
все делается только с помощью одной команды GOTO и меток.
GOTO - говорит станку чтобы он перескочил на такую-то строку, номера строк начинаются с буквы N.
метки - этим можно заменить номер строки, сделано для простоты использования. должны начинаться с буквы N, а дальше в произвольной форме. в моем случае я использовал слова NSKIP и NLOOP.
есть (в моем случае) ограничение, в метках, после N можно использовать ДО 4 символов
6677777.jpg (8800 просмотров) <a class='original' href='./download/file.php?id=36171&sid=796ee6c939132a721c4265dd472dfbfc&mode=view' target=_blank>Загрузить оригинал (67.99 КБ)</a>
пример рабочей программы:

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

%
(SHAPKA FINISH)
G50 S1800
G0 X1400 Z1000
G97 G95 S1000 T030303 M42
M3 M8
GOTO NSKIP
NLOOP
M5 M9
/M84
M00
G97 S1000
M3 M8
NSKIP
G0 X41 Z5
G0 Z-1.0
G0 X41
G1 X38.5 F0.1
G1 X36.8 Z0.1 F0.1
G1 X4 F0.3
G1 X-1.6 F0.08
G0 Z10 
G0 X38.3
G50 S1800
G96 S100
G0 Z-1.5 
G1 X37.85 F0.3
G2 X35.5 Z0.0 L1.5 F0.1
G1 X5 F0.2
G1 X-1.6 F0.1
G0 Z10
M9
G0 X300
GOTO NLOOP
M2
%
она же, в работе

https://www.youtube.com/watch?v=JWp9Nrc4rSs
Всё просто! если знаешь КАК!
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Алексс »

да, да, я тоже думал что все под контролем и совал руки куда не следует...
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6585
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2271
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение NightV »

Алексс писал(а):да, да, я тоже думал что все под контролем и совал руки куда не следует..
и как это относится к теме? дедок одернул мне руку от кнопки старт, при закрытой двери
именно это программа, из примера, работает без изменений 2 с лишним года
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22731
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Nick »

NightV писал(а):и как это относится к теме? дедок одернул мне руку от кнопки старт, при закрытой двери
Я тоже сначала подумал, что ты сам был рядом с патроном, помнится кто-то мечтал кнопку старт на шпиндель приделать ;)
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Алексс »

NightV писал(а):и как это относится к теме?
видимо обстоятельства одергивания не были описаны достаточно подробно, чтобы понять, что дверь была закрыта и тп.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Алексс »

к стати... у меня сильное впечатление, что linuxcnc впадет в кому на бесконечном цикле.
у меня это случалось частенько при отладке программы с циклами и условиями.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Nick
Мастер
Сообщения: 22731
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Nick »

Алексс писал(а):у меня это случалось частенько при отладке программы с циклами и условиями.
вроде как условие должно останавливать интерпретатор... ну и axis-hide в помощь :)
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8878
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2783
Откуда: Тюмень
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Сергей Саныч »

Алексс писал(а):у меня сильное впечатление, что linuxcnc впадет в кому на бесконечном цикле
Если превьюшка включена, то да. Проверено на axis.
С версии 2.6 появилась переменная #<_task>, которая равна 1 при реальной работе и 0 при превью. Но я пока ее не пробовал.
Последний раз редактировалось Сергей Саныч 07 ноя 2014, 13:38, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Алексс »

Nick писал(а):ну и axis-hide в помощь
чето тебе никто и не ответил...
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Nick
Мастер
Сообщения: 22731
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Nick »

вот рабочий пример бесконечного цикла:
но да, аксису поплохело при загрузке - загружает на половину синей полоски и все... но как только нажимаем esc через 2 секунды оживает. :)

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

o100 while [1 eq 1]
	(DEBUG, Check din-00)
	M0
	M66 P0 L0 
	o101 if [#5399 NE 1]
		(DEBUG, Got 0)
		G0 X10
		G1 X0 F1000
	o101 else 
		(DEBUG, Break)
		o100 break	
	o101 endif 	
o100 endwhile
(DEBUG, End)

M2
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8878
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2783
Откуда: Тюмень
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Сергей Саныч »

А если такой вариант?

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

    o100 do
       (DEBUG, Check din-00)
       M0
       M66 P0 L0 
       o101 if [#5399 NE 1]
          (DEBUG, Got 0)
          G0 X10
          G1 X0 F1000
       o101 else 
          (DEBUG, Break)
          o100 break   
       o101 endif    
    o100 while [#<_task> NE 0]
    (DEBUG, End)

    M2
Должен нарисовать один раз превьюшку, а при запуске работать в цикле.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22731
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Nick »

Работает и загружается! :good:!

Добавил в вики, чтобы не забыть!
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Алексс »

Сергей Саныч писал(а):#<_task>
а объяснить ?
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6585
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2271
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение NightV »

добавил ведео в шапку, и поправил про деда, чтобы не было вопросов.
видео низкого качества, делал на скорую руку
Всё просто! если знаешь КАК!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8878
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2783
Откуда: Тюмень
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Сергей Саныч »

Алексс писал(а):а объяснить ?
Так вроде в примере всё ясно :thinking:

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

    o100 do (используем цикл do - while, ибо нам нужна проверка условия в конце цикла)
       M0 (ждем нажатия "продолжить")
       ........(собственно, тело программы)
    o100 while [#<_task> NE 0] (при работе #<_task> = 1 зациклит, при загрузке #<_task> = 0 нарисует один раз превьюшку и выйдет)
    M2
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Алексс »

:wik:
Последний раз редактировалось Алексс 07 ноя 2014, 15:10, всего редактировалось 1 раз.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
nik1
Мастер
Сообщения: 8034
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3547
Откуда: Красногорск
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение nik1 »

Володь, ты снижаешь подачу при отрезании, когда подходит к центру вращения?
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Алексс »

Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Nick
Мастер
Сообщения: 22731
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение Nick »

nik1 писал(а):Володь, ты снижаешь подачу при отрезании, когда подходит к центру вращения?
Это скорее всего Constant Surface Speed.

(в linuxcnc http://linuxcnc.org/docs/html/gcode/gco ... 97-Spindle )
nik1
Мастер
Сообщения: 8034
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3547
Откуда: Красногорск
Контактная информация:

Re: Пример использования GOTO в токарке

Сообщение nik1 »

Не, про постоянную скорость уже в курсе :)
Пишут типо это не есть правильно добавлять обороты на отрезании, правильнее снижать подачу
Вот и хотелось бы услышать от товарища с опытом работы :)
Ответить

Вернуться в «Промышленные стойки»