Добрый день, помогите с помощью подпрограммы упростить мою программку. Имею что-то по типу укладчика компонентов. К примеру вот такая задача выложить матрицу из 9 компонентов
A,B,C. Координаты бункеров с компонентами фиксированные координаты бункера A X-50 Y135, координаты бункера A X 25 Y100, координаты бункера A X-25 Y150.
Так вот Опускание захвата в бункер за компонентом (кадры N20-N40) и укладка захватом компонента (кадры N60-N80) будут повторятся в зависимости от количества компонентов в матрице
Подскажите как эти действия захвата засунуть в подпрограммы. И где эти подпрограммы надо прописать..
Подскажите по использованию подпрограммы
Автор
artclonic
, 04 Авг 2014 20:48
Сообщений в теме: 9
#1 OFFLINE
Отправлено 04 Август 2014 - 20:48
Скрытый текст
#2 OFFLINE
Отправлено 04 Август 2014 - 21:07
Скрытый текст
Сообщение отредактировал lkbyysq: 04 Август 2014 - 21:10
Станислав Ерофеев
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
Отправлено 05 Август 2014 - 21:37
Это под Mach совместимо?
#4 OFFLINE
Отправлено 05 Август 2014 - 22:20
Под Mach3 немного по другому. Принцип - синим шрифтом.
G0X0Y0
M98P1 ; вызов подпрограммы О1
G0X10Y10
M98P1 ; вызов подпрограммы О1
M30
O1 ; подпрограмма
G0Z0
G0Z10
M99 ; возврат из ПП
#5 OFFLINE
Отправлено 05 Август 2014 - 22:27
Roma, а параметры в Mach3 передаются? А глобальные переменные есть?
Станислав Ерофеев
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
Отправлено 05 Август 2014 - 22:48
Вот не могу точно сказать... Непосредственно, в G коде - скорее нет, чем да.
А вот в своём макросе на бейсике, вызываемом М789 (цифра с потолка) можно всяческие параметры с переменными использовать.
PS. Заглянул в букварь... оказывается, в Mach3 можно работать с параметрами/переменными, непосредственно, в G коде.
Сообщение отредактировал Roma: 05 Август 2014 - 23:28
#7 OFFLINE
Отправлено 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
Я по мнению сообщества безграмотен,могу дать вредные или ошибочные советы.
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
#9 OFFLINE
Отправлено 06 Август 2014 - 00:18
Станислав Ерофеев
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
Отправлено 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 анонимных