EMC2 LinuxCNC и Joystick

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

Виталий писал(а):а как будет осущетлятся сама проба ,вызовом кода ?
а чем ты будешь "пробовать" ?
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

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

Re: EMC2 и Joystick

Сообщение nkp »

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

net start_probe  input.0.btn-joystick=> halui.mdi-command-00
Вместо input.0.btn-joystick можешь пробовать любую кнопку,кроме занятых:

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

  9  bit   OUT         FALSE  input.0.btn-base
     9  bit   OUT          TRUE  input.0.btn-base-not
     9  bit   OUT         FALSE  input.0.btn-base2
     9  bit   OUT          TRUE  input.0.btn-base2-not
     9  bit   OUT         FALSE  input.0.btn-joystick
     9  bit   OUT          TRUE  input.0.btn-joystick-not
     9  bit   OUT         FALSE  input.0.btn-pinkie
     9  bit   OUT          TRUE  input.0.btn-pinkie-not
     9  bit   OUT         FALSE  input.0.btn-thumb
     9  bit   OUT          TRUE  input.0.btn-thumb-not
     9  bit   OUT         FALSE  input.0.btn-thumb2
     9  bit   OUT          TRUE  input.0.btn-thumb2-not
     9  bit   OUT         FALSE  input.0.btn-top
     9  bit   OUT          TRUE  input.0.btn-top-not
     9  bit   OUT         FALSE  input.0.btn-top2
     9  bit   OUT          TRUE  input.0.btn-top2-not
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

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

Re: EMC2 и Joystick

Сообщение nkp »

выложи ошибку
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

ладно все по порядку в ini файл вставляю это
[HALUI]
MDI_COMMAND = O<touchoff> CALL

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

# Создан stepconf в Thu May 31 20:59:36 2012
# Все изменения в этом файле будут перезаписаны
# при следующем запуске stepconf

[EMC]
MACHINE = cnc
DEBUG = 0


[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/vitaliy/emc2/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = emc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000

[HAL]
HALFILE = cnc.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
HALUI = halui

[HALUI]
MDI_COMMAND = O<touchoff> CALL


[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 20.00
MAX_LINEAR_VELOCITY = 200.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 375.0
SCALE = 5.28
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -1000.0
MAX_LIMIT = 1000.0
HOME_OFFSET = 1.000000
HOME_SEARCH_VEL = 50.000000
HOME_LATCH_VEL = 50.000000

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 375.0
SCALE = 5.28
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -1000.0
MAX_LIMIT = 1000.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 50.000000
HOME_LATCH_VEL = 50.000000

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 8.0
MAX_ACCELERATION = 303.0
STEPGEN_MAXACCEL = 378.75
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -200.0
MAX_LIMIT = 200.0
HOME_OFFSET = 0.0
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

так выглядит hal

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

# Создан stepconf в Sun May 27 15:27:55 2012
# Все изменения в этом файле будут перезаписаны
# при следующем запуске stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg="0x378 out  "
setp parport.0.reset-time 500
loadrt stepgen step_type=0,0,0

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd <= motion.spindle-speed-out

setp parport.0.pin-02-out-invert 1
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net xdir => parport.0.pin-03-out
setp parport.0.pin-04-out-invert 1
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir => parport.0.pin-07-out


net home-x <= parport.0.pin-10-in
net home-y <= parport.0.pin-11-in
net estop-ext <= parport.0.pin-13-in-not


setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 19000
setp stepgen.0.dirsetup 16000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
net home-x => axis.0.home-sw-in

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 19000
setp stepgen.1.dirsetup 16000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
net home-y => axis.1.home-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 19000
setp stepgen.2.dirsetup 16000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable

net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in


loadusr -W hal_input -KRAL 2-Axis,8-Button

net joystick_enable <= input.0.btn-base => axis.0.jog-enable
net joystick_enable => axis.1.jog-enable

setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1
setp  halui.jog-speed 5000

net jog_scale input.0.abs-x-position => halui.jog.0.analog
net jog_scale1 input.0.abs-y-position => halui.jog.1.analog


net probe motion.probe-input => parport.0.pin-14-out
net start_probe  input.0.btn-top => halui.mdi-command-00
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

net probe motion.probe-input => parport.0.pin-14-out
надо
net probe motion.probe-input => parport.0.pin-NN-in
(чтоб был свободный)
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

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

Re: EMC2 и Joystick

Сообщение nkp »

попробуй
O<touchoff> SUB
G91 F20
G38.2 Z-10
F1
G38.4 Z10
G92 Z0
G90
G01 Z5
O<touchoff> ENDSUB
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

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

Re: EMC2 и Joystick

Сообщение nkp »

да ,это скорость для уточнения
http://cnc-club.ru/forum/viewtopic.php? ... 3&start=20
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

тоисть получается фреза опускается до того момента как каснется пластины потом подымается верх ,а на какое ростояние?
и еще, должна ли где небудь указыватся толщина пластины.
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: EMC2 и Joystick

Сообщение billsmith »

Виталий писал(а):тоисть получается фреза опускается до того момента как каснется пластины потом подымается верх ,а на какое ростояние?
и еще, должна ли где небудь указыватся толщина пластины.
По команде "G38.4 Z10" фреза подымается для уточнения пока не разомкнётся пластина или не дойдёт до Z10.
Далее по коду "G92 Z0" мы обнуляем Z. Если допустим пластина толщиной 2,5мм, то в строке обнуления пишем "G92 Z2.5".
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и Joystick

Сообщение Nick »

Да. Фактически по нажатию кнопки выполняется MDI команда O<touchoff> CALL, которая вызывает файл touchoff.ngc. И уже он делает следующее:

G91 - включаем относительные координаты, чтобы Z-10 ехало из любого на 10мм вниз а не черте знает на сколько
G38.2 Z-10 - едем на 10 мм вниз до срабатывания датчика probe-in. (если за 10 мм не сработает выдаст ошибку)
F1 - уменьшаем подачу, для уточнения положения
G38.4 Z10 - едем до размыкания датчика вверх
G92 Z0 - как только датчик разомкнут - устанавливаем 0 по оси Z
G90 - возвращаемся к абсолютным координатам
G01 Z5 - едем на безопасную высоту.


Кстати прямо после G91 можно добавить F100 - для задания начальной скорости поиска.
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

ладно с этим ясно.Вариан второй если не пластина и не кнопка,ели в определенном месте на рабочем поле заподлицо стоит металическая бобышка ,тогда как?
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: EMC2 и Joystick

Сообщение billsmith »

Ну тогда без уточнения, только G38.2 на мааленькой скорости. G38.4 тогда не нужен.
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

nkp писал(а):net probe motion.probe-input => parport.0.pin-14-out
надо
net probe motion.probe-input => parport.0.pin-NN-in
(чтоб был свободный)
вот человек все видит что не так (шучу) если серьезно то правельное замечание, нада ставить 12 пин - вход ,а не 14 пин- выход.очередной раз спасиба. :good:
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

снова прикол.заганяю оси на 0.дальше пытаюсь сделать пробу 0 по z ,прога ругается
Вложения
Снимок.png (2412 просмотров) <a class='original' href='./download/file.php?id=5741&mode=view' target=_blank>Загрузить оригинал (72.87 КБ)</a>
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: EMC2 и Joystick

Сообщение billsmith »

Виталий писал(а):снова прикол.заганяю оси на 0.дальше пытаюсь сделать пробу 0 по z ,прога ругается
Ну скорее всего вам просто нужно инвертировать пин.
Ответить

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