Перейти к содержимому


Фотография

Подскажите по использованию подпрограммы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 OFFLINE   artclonic

artclonic

    Абитуриент

  • Пользователи
  • Pip
  • 3 сообщений
  • Из:Камышин

Отправлено 04 Август 2014 - 20:48

Добрый день, помогите с помощью подпрограммы упростить мою программку. Имею что-то по типу укладчика компонентов. К примеру вот такая задача выложить матрицу из 9 компонентов
A,B,C. Координаты бункеров с компонентами фиксированные координаты бункера A X-50 Y135, координаты бункера A X 25 Y100, координаты бункера A X-25 Y150.
Так вот Опускание захвата в бункер за компонентом (кадры N20-N40) и укладка захватом компонента (кадры N60-N80) будут повторятся в зависимости от количества компонентов в матрице
Подскажите как эти действия захвата засунуть в подпрограммы. И где эти подпрограммы надо прописать..

Скрытый текст

  • 0

#2 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 04 Август 2014 - 21:07

Скрытый текст


Сообщение отредактировал lkbyysq: 04 Август 2014 - 21:10

  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#3 OFFLINE   artclonic

artclonic

    Абитуриент

  • Пользователи
  • Pip
  • 3 сообщений
  • Из:Камышин

Отправлено 05 Август 2014 - 21:37

Это под Mach совместимо?


  • 0

#4 OFFLINE   Roma

Roma

    Гуру CNC

  • Продвинутый
  • PipPipPipPipPipPipPipPipPipPip
  • 1 219 сообщений
  • Пол:Мужчина
  • Из:Воронеж

Отправлено 05 Август 2014 - 22:20

Под Mach3 немного по другому. Принцип - синим шрифтом.

 

G0X0Y0
M98P1           ; вызов подпрограммы О1
G0X10Y10
M98P1           ; вызов подпрограммы О1
M30               

O1                  ; подпрограмма
G0Z0      
G0Z10        
M99                ; возврат из ПП


  • 0

#5 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 05 Август 2014 - 22:27

Roma, а параметры в Mach3 передаются? А глобальные переменные есть?


  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#6 OFFLINE   Roma

Roma

    Гуру CNC

  • Продвинутый
  • PipPipPipPipPipPipPipPipPipPip
  • 1 219 сообщений
  • Пол:Мужчина
  • Из:Воронеж

Отправлено 05 Август 2014 - 22:48

Вот не могу точно сказать... Непосредственно, в G коде - скорее нет, чем да.
А вот в своём макросе на бейсике, вызываемом М789 (цифра с потолка) можно всяческие параметры с переменными использовать.

PS. Заглянул в букварь... оказывается, в Mach3 можно работать с параметрами/переменными, непосредственно, в G коде.


Сообщение отредактировал Roma: 05 Август 2014 - 23:28

  • 0

#7 OFFLINE   torvn77

torvn77

    Пользователь LinuxCNC

  • Заблокированные
  • PipPipPipPipPipPipPipPipPipPip
  • 2 151 сообщений
  • Пол:Мужчина
  • Из:Санкт-Петербурга

Отправлено 05 Август 2014 - 22:49

Roma, а параметры в Mach3 передаются? А глобальные переменные есть?

Вот не могу точно сказать... Непосредственно, в G коде - скорее нет, чем да.


Ну коли по видимому в МАЧ этого нет,то добро пожаловать ко мне в раздел:
Вопросы по LinuxCNC (EMC, EMC2)
Передача параметров суброутинусам в LinuxCNC есть,параметров для передачи может быть аж целых 30 штук.
Так же есть поддержка Щ-кодов(if,while,арифметические и логические операции,вычисление тригонометрических функции)
Правда если захочется писать М-коды,то придётся осваивать питон,но учитывая
развитость реализации G-cod'a,скорее всего вам это будет не нужно.
Пример программы на G-code:
Скрытый текст

Всё это написано лично мной при всей моей безграмотности и не компетентности.
Ну и естественно код рабочий. Прикрепленный файл  tool_length.tar.gz   1,47К   663 скачиваний

Сообщение отредактировал torvn77: 06 Август 2014 - 04:31

  • 0
Я по мнению сообщества безграмотен,могу дать вредные или ошибочные советы.
Используйте их после обдумывания и на свой страх и риск.

У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...

#8 OFFLINE   artclonic

artclonic

    Абитуриент

  • Пользователи
  • Pip
  • 3 сообщений
  • Из:Камышин

Отправлено 06 Август 2014 - 00:06

Т.е. в Масн 3 предложенный пример 

lkbyysq  -я реализовать не смогу?
  • 0

#9 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 06 Август 2014 - 00:18

artclonic, читайте документацию 

 

вот пример оттуда

Скрытый текст


  • 0

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).


#10 OFFLINE   torvn77

torvn77

    Пользователь LinuxCNC

  • Заблокированные
  • PipPipPipPipPipPipPipPipPipPip
  • 2 151 сообщений
  • Пол:Мужчина
  • Из:Санкт-Петербурга

Отправлено 06 Август 2014 - 00:30

Возьмите МАЧ и отдайте отдельные команды или выполните мелкие программы вида,
 
 

#<ggg> = -10
O<measurement_tool_length> sub
F240
G0 Z0
G0 Z[#1]
G0 Z0
O<measurement_tool_length> endsub
O<measurement_tool_length> call [#<ggg>]
M02
#<select> = 1
F240
O101 if [#<select> eq 1]
G0 Z0
G0 Z-10
G0 Z0
O101 endif
M02

В обоих примерах совершается движение к Z = 0 если текущая координата Z отлична от нуля,
потом движение к Z = -10 и обратно Z = 0
Смотрите как и на что МАЧ будет ругаться исправляйте его притензии и потихоньку наращивайте функционал.
Если надо написать коментарии то для исключения сюрпризов для коментирования пользуйтесь только скобками.
Далее разбирайтесь с МАЧем самостоятельно.

Ещё пример

F240
G00 Z-1
#<swith> = 1
O101 while [#<swith> LE 5]
G00 Z-10
G00 Z-1
#<swith> = [#<swith> + 1]
O101 endwhile
M02

Если решите использовать LinuxCNC то я к вашим услугам.

Все примеры оттестированы и у меня работают


Сообщение отредактировал torvn77: 06 Август 2014 - 00:52

  • 0
Я по мнению сообщества безграмотен,могу дать вредные или ошибочные советы.
Используйте их после обдумывания и на свой страх и риск.

У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных