271 вопросов

281 ответов

354 комментариев

874 пользователей

Добро пожаловать на сайт Вопросы и Ответы, где вы можете задавать вопросы и получать ответы от других членов сообщества.

G65 L3 .

0 голосов
Подскажите, когда я вызываю подпрограмму G65 P0008 L3 X40 Y50 Z20, инструмент будет три раза по одним и тем же координатам двигаться? Тогда не понятно в чем смысл многократного вызова?

Вопрос связан с тем. что у меня в симуляторе в CimcoEdit программа не хочет три раза вызывать подпрограмму. Только один раз. Хотя синтаксис вроде бы правильный. Может симулятор просто не хочет три раза по одному маршруту ходить?
спросил 01 Ноя, 15 от nikolai_42 (430 баллов) в категории Макро-программирование и автоматизация производства

1 Ответ

0 голосов
Честно говоря я ничего не понял с того, что Вы написали. G65 нужен для вызова макро-программ, с использованием локальных макро-переменных. Эту программу Вы не показываете мне, как я могу ответить на Ваш вопрос? Возможно Вы не совсем понимаете, что такое G65. Или переформулируйте Ваш вопрос.
ответил 01 Ноя, 15 от Anton Laufer (13,620 баллов)
Вопрос наверное вот в чем. Мне непонятно зачем с помощью G65 вызывать подпрограмму  с помощью L (количество повторов) несколько раз? В каких случаях это нужно на практике? Я, честно говоря. не представляю.
Для того же, для чего и использование M98 L2 Предлагаю Вам открыть программу SharpCam. Нарисовать прямоугольник, выбрать операцию фрезерование, использовать Number of Passes : 3 например, и поставить галочку возле Subroatine. После чего откройте вкладку УП, и посмотрите на неё. У вас будет изменение глубины Z, после чего переход M98 P0001. Для этого нужны M98. Это чтобы Вы поняли принцип. G65 практически такой же, но с предопределением макропеременных, смотрите видео записи занятий 2-05, 2-06 в системе обучения. Если внутрь M98 P0001 вставить L3, то блок повторится 3 раза. Нужно чтобы досверлить, дофрезеровать, использовать кол-во подходов больше 2.
Я не пойму другого. Вот я вызвал подпрограмму M98 L3 P0001. Как я понимаю, она начинает выполняться от своего начала до М99. И так три раза. Кроме трехкратного выполнения этой программы в этот момент ничего другого не выполняется. К примеру, подпрограмма состоит из одной строки - G01 X50. Так зачем ей это делать три раза подряд? Первый раз она срежет металл, а остальные два раза пройдет по воздуху. Зачем??? Как она вернется из Х50 обратно в начальную точку чтобы выполнить подпрограмму повторно - второй, а затем третий раз?

Т.е. смысл вопроса в том, что подпрограмма М98 в процессе своего выполнения ведь никак не меняется. Если её использовать один раз, а потом поменять в основной программе координаты, а потом снова использовать - тогда всё понятно. Но зачем подряд три раза по одному и тому же месту?

Или я не так что-то понимаю?
Я кажется начинаю понимать. Наверное с подпрограммами нужно работать только с G91. Тогда вроде все становится на свои места. Тогда каждое повторение подпрограммы (например трехкратное L3)  будет в инкрементных координатах.
Николай, Ваш последний вариант неверен, а в предыдущем варианте Вы ответили на вопрос. Вы забываете что координат у станка от 2 до 10. И если в основной программе поменять Z5., а потом запустить M98P0001 с кодом G01X50 M99 то интерполяция произойдет на глубине Z5., потом сменяя на Z3. и запуская M98, произойдет обработка по тем же координатам но ниже по Z. (то есть обработка уже возникнет многопроходная). Если у Вас код на 50 строк обработки с круговыми интерполяциями, и 5 проходов, то Ваша программа будет состоять и 60 строк кода к примеру, используя подпрограммы M98, а если не использовать то в коде нужно повторять эти блоки обработки и такая программа будет состоять из (50*5)+10 = 260 строк в УП. Это объясняет желание программистов использовать subroatines. Но именно для такого примера обработки нет необходимости использовать повторы L, это бессмыслено. CAM- система так и не напишет L3 , она не укажет L, то есть L1. Программист ЧПУ может изменять кол-во повторов L в подпрограммах для своих нужд, для каких было указано выше в комментариях. С повторами работать можно по разному. Например: #100=0 #101=3 #102 = 100 ....... IF [#100 EQ 5] THEN M98 L#101 P0008 G04 X1. ....... M30 ------ O0008 G00 X#102 Y0. Z5. Z3. G01 Z-5. F500 G01 X#102+50. Y0. F1000 G00 Z5. #102 = #102 + 50 IF [#5041 GE 300] THEN M99 M99 Написал пример куска пользовательской программы с макро, где оператор указывает кол-во повторов, программа О0008 производит обработку (3) раза по умолчанию #101, если выполнится условие в переменной #100. Обработка заключается в продольном перемещении шпинделя (или стола), относительно заготовки на глубине Z, всегда в разных координатах по X, из-за изменения переменной Х #102, при этом есть доп. Счетчик который выходит из программы в случае достижения максимальной ширины допустимой заготовки закрепленной на станке 300мм, если бы кол-во L был бы 5-6, то условие бы сработало. Это пример того, что иногда есть смысл использования M98 L3, с результатом обработки по другим координатам. Если вопрос закрыт, укажите это в след. Комментарии. Хочу дать Вам некоторые рекомендации/советы: 1. Изучайте предметы по порядку 1,2,... и т.д. 2. Не зацикливайтесь на одной программе, например CimcoEdit, иначе не сможете себе объяснить много вещей, изучайте и рассматривайте больше разнообразных продуктов CAD/CAE/CAM/CAPP и т.д. 3. Если у Вас возникает так много вопросов, подумайте не перейти ли Вам на курс 0001. Если такой возможности нет, перед задачей вопроса попробуйте на него ответить сами, просмотрите видео-материалы, после чего задавайте вопрос. Ведь это довольно простые вещи, которые рассматривались неоднократно.
Да. Всё понятно. Спасибо!
...