FAQ по Gcode, примеры

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

Re: FAQ по Gcode, примеры

Сообщение Nick »

Скинь Gкод...
Аватара пользователя
sr480
Мастер
Сообщения: 1295
Зарегистрирован: 08 янв 2012, 20:48
Репутация: 139
Откуда: Ростов-на-Дону
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение sr480 »

Вот:

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

G17
G80 G49 G40
G90
M01
N1 M6 T1
G90 G00 G40 G54
G0 X50.755 Y2.499 Z50. S1000 M3
M8
   X50.755 Y2.499 Z10.
   Z2.
G1 Z-4. F33
G42 G1 Y4. F100
   X125.
   Y0.
   X135.
   Y4.
   X146.
   Y24.
   X150.
   Y44.
   X146.
   Y64.
   X150.
   Y84.
   X146.
   Y104.
   X131.351 Y117.617
   X134.075 Y120.547
   X119.426 Y134.164
   X116.703 Y131.234
   X77. Y168.141
   Y148.141
   X73.
   Y168.141
   X33.297 Y131.234
   X30.574 Y134.164
   X15.925 Y120.547
   X18.649 Y117.617
   X4. Y104.
   Y84.
   X0.
   Y64.
   X4.
   Y44.
   X0.
   Y24.
   X4.
   Y4.
   X15.
   Y0.
   X25.
   Y4.
   X50.755
G40 G1 Y2.499
G0 Z10.
   X31.501 Y64.
   Z2.
G1 Z-4. F33
G42 G1 X30. F100
G2 X30. Y64. I45. J0.
G40 G1 X31.501
G0 Z10.
M30
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Viper »

Здравствуйте. Подскажите,кто знает, какими командами можно в подпрограмме включить/выключить выход и записать состояние входа в переменную. Заранее спасибо.
П.с. Если где было, ткните носом, весь форум перерыл–не нашел.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

По умолчанию у нас 4 входных и 4 выходных пина:
Выделение(019).png (4200 просмотров) <a class='original' href='./download/file.php?id=6200&sid=381ceefd10333fb28debc03f61fede1f&mode=view' target=_blank>Загрузить оригинал (79.62 КБ)</a>
в ж-код:
М64 P00 - активирует motion.digital-out-00
М65 P00 - деактивирует motion.digital-out-00

в хал пишем:
net name motion.digital-out-00 => parport.0.pin-03-out
теперь М64 P00 "включает 03-й выход" порта
М65 P00 выключает
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Viper »

Эт я нашел, но нужно немного подругому. У меня 5 выходов, которыми нужно управлять из подпрограммы (о123), а что написать в скрипте, чтобы активировать выход я не нашел.
Спасибо
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

Viper писал(а): 5 выходов
выходы-это выходы парпорта или чего?
Viper писал(а):подпрограммы (о123)
о123 - это файл ж-кода?
Viper писал(а):написать в скрипте,
что есть "скрипт" ?
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Viper »

Да эт выходы лпт порта.
О123 это подпрограмма, 123 название файла(эт я к примеру написал.
А под скриптом, я подразумевал тело подпрограммы.
Сразу еще вопрос возник - а м65 можно управлять пятым выходом?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

Viper писал(а):а м65 можно управлять пятым выходом?
хоть 25-м
добавляем пинов в хал и усё

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

loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES   num_dio=5
num_dio=5 - цифровых пинов добавили 5
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

Viper писал(а):немного подругому
только в числе пинов был затык?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

Viper писал(а):записать состояние входа в переменную
если цифровое - то:
М66 P00 L00
аналог
M66 E00 L00
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Viper »

За м65 огромное спасибо. Хал файл уже был настроен - не знал как включить.
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Viper »

А в какую переменную будет записывать?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

Viper писал(а):А в какую переменную будет записывать?
если ты про м66 - то в #5399
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение sandman »

Nick, есть ли какая-нибудь возможность реализовать G86 ?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

sandman писал(а):Nick, есть ли какая-нибудь возможность реализовать G86
(пока Ника нет)
Емс "понимает" ж86 и реализуется (по моему) он стандартно:

G86 X_Y_Z_R_F_L_Р_
X, Y – координаты отверстия по осям Х и У,
Z – глубина сверления,
R – исходное положение по оси Z,
F – величина рабочей подачи,
L – число проходов,
P – время в секундах задержки на дне отверстия.
попробовал такой код:

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

g21 s3000 m3 
g86 x4 y4 z-4 r13 f20 l3 p2
m2
теперь ниже пишем только координаты x,y
и в каждом кадре будет выполнятся цикл пока не отменим кодом G80

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

g21 s3000 m3 
g86 x4 y4 z-4 r13 f20 l3 p2
x5 y5
x7 y7
x1 y1
g80
g1 f40 x8 y8
g1 f40 x9 y4
m2
вроде все корректно отрабатывает-выключает шпиндель,делает задержки.
(или я не о том? :wik: )
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение sandman »

Интересно, их что ,несколько разных форматов?
Я имел ввиду G86 x_y_z_i_d , где x длина кармана, y ширина, z глубина, i угол поворота по оси x, и d - заглубление за проход... Очень удобно фрезеровать карманы которые расположенны не паралельно оси x.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

sandman писал(а):их что ,несколько разных форматов?
http://www.linuxcnc.org/docs/2.5/html/g ... apid_out_a
а где почитать про твой формат?
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение sandman »

Здесь например, если немецкий осилишь: http://www.sn.schule.de/~dvt/lpe19/g86.htm :)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

sandman писал(а):Здесь например,
Я думал ж86 в таком формате именно для емс где то описан.Ну да ладно.......
Такие (да и любые другие) вещи очень удобно делать с ngcgui- еще удобней чем циклами.
Не надо CAD-CAM .
Ответить

Вернуться в «LinuxCNC»