Страница 6 из 14

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 19:44
nkp
Виталий писал(а):а как будет осущетлятся сама проба ,вызовом кода ?
а чем ты будешь "пробовать" ?

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 19:47
Виталий
nkp писал(а):а чем ты будешь "пробовать" ?
нет я не за замыкание фрезы и металической пластины ,я прото как вызвать эту команду с джойстика.

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 19:55
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

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 19:59
Виталий
блин...что то опять накуролесил ,емс не рад моему програмированию не стартует

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:01
nkp
выложи ошибку

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:05
Виталий
ладно все по порядку в 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

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:08
Виталий
так выглядит 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

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:11
nkp
net probe motion.probe-input => parport.0.pin-14-out
надо
net probe motion.probe-input => parport.0.pin-NN-in
(чтоб был свободный)

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:13
Виталий
сам выноват .в хале небыло пробела после top ,сделал ,емс стартонул,нашел начала оси и нажал bth-top(кнопка номер 4) ,в низу емс написал- не могу мерять с нулевой подачей

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:20
nkp
попробуй
O<touchoff> SUB
G91 F20
G38.2 Z-10
F1
G38.4 Z10
G92 Z0
G90
G01 Z5
O<touchoff> ENDSUB

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:22
Виталий
f1 это скорость подачи?

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:23
nkp
да ,это скорость для уточнения
http://cnc-club.ru/forum/viewtopic.php? ... 3&start=20

Re: EMC2 и Joystick

Добавлено: 05 июн 2012, 20:30
Виталий
тоисть получается фреза опускается до того момента как каснется пластины потом подымается верх ,а на какое ростояние?
и еще, должна ли где небудь указыватся толщина пластины.

Re: EMC2 и Joystick

Добавлено: 06 июн 2012, 10:19
billsmith
Виталий писал(а):тоисть получается фреза опускается до того момента как каснется пластины потом подымается верх ,а на какое ростояние?
и еще, должна ли где небудь указыватся толщина пластины.
По команде "G38.4 Z10" фреза подымается для уточнения пока не разомкнётся пластина или не дойдёт до Z10.
Далее по коду "G92 Z0" мы обнуляем Z. Если допустим пластина толщиной 2,5мм, то в строке обнуления пишем "G92 Z2.5".

Re: EMC2 и Joystick

Добавлено: 06 июн 2012, 13:45
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 - для задания начальной скорости поиска.

Re: EMC2 и Joystick

Добавлено: 06 июн 2012, 14:28
Виталий
ладно с этим ясно.Вариан второй если не пластина и не кнопка,ели в определенном месте на рабочем поле заподлицо стоит металическая бобышка ,тогда как?

Re: EMC2 и Joystick

Добавлено: 06 июн 2012, 17:28
billsmith
Ну тогда без уточнения, только G38.2 на мааленькой скорости. G38.4 тогда не нужен.

Re: EMC2 и Joystick

Добавлено: 06 июн 2012, 18:57
Виталий
nkp писал(а):net probe motion.probe-input => parport.0.pin-14-out
надо
net probe motion.probe-input => parport.0.pin-NN-in
(чтоб был свободный)
вот человек все видит что не так (шучу) если серьезно то правельное замечание, нада ставить 12 пин - вход ,а не 14 пин- выход.очередной раз спасиба. :good:

Re: EMC2 и Joystick

Добавлено: 06 июн 2012, 19:36
Виталий
снова прикол.заганяю оси на 0.дальше пытаюсь сделать пробу 0 по z ,прога ругается

Re: EMC2 и Joystick

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