EMC2 LinuxCNC и Joystick

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

Re: EMC2 и Joystick

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

nkp писал(а):А пробовал из #77 ?

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

Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.5
EMC2 - 2.4.6
Machine configuration directory is '/home/vitaliy/emc2/configs/cnc'
Machine configuration file is 'cnc.ini'
INIFILE=/home/vitaliy/emc2/configs/cnc/cnc.ini
PARAMETER_FILE=emc.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=
DISPLAY=axis
NML_FILE=
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
Shutting down and cleaning up EMC2...
Killing task emcsvr, PID=3511
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
cnc.hal:90: parameter or pin 'halui.jog-speed' not found
3511
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 1678.113693] I-pipe: Domain RTAI registered.
[ 1678.113704] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 1678.113706] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 1678.113711] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 1678.113714] PIPELINE layers:
[ 1678.113717] f878fe20 9ac15d93 RTAI 200
[ 1678.113719] c085cb20 0 Linux 100
[ 1678.138744] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 1678.138937] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 1678.138941] RTAI[sched]: hard timer type/freq = APIC/12564314(Hz); default timing: periodic; linear timed lists.
[ 1678.138945] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 2211269000 hz.
[ 1678.138947] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[ 1678.139078] RTAI[usi]: enabled.
[ 1678.227419] RTAI[math]: loaded.
[ 1678.302791] config string '0x378 out  '
[ 1678.721106] RTAI[math]: unloaded.
[ 1678.779722] SCHED releases registered named ALIEN RTGLBH
[ 1678.792883] RTAI[malloc]: unloaded.
[ 1678.892028] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 1678.896211] I-pipe: Domain RTAI unregistered.
[ 1678.896221] RTAI[hal]: unmounted.
не стартует зараза
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

Сообщение nkp »

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

Re: EMC2 и Joystick

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

nkp писал(а):А выложи весь хал на эту минуту

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

# Создан 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 100

net jog_scale input.0.abs-x-position => halui.jog.0.analog
net jog_scale1 input.0.abs-y-position => halui.jog.1.analog
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

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

nkp писал(а):С копками все проще-будут вкл все что захочешь(кроме печатного станка для денег )
это есть гуд.спасиба ото я руки опустил
Последний раз редактировалось Виталий 04 июн 2012, 20:01, всего редактировалось 1 раз.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

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

Re: EMC2 и Joystick

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

nkp писал(а):Ну еще помучаю-покажи ini файл
не это я вас терзаю
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

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

nkp писал(а):Ну еще помучаю-покажи ini файл

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

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

[EMC]
MACHINE = cnc
DEBUG = 0
HALUI = halui

[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

[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
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

Пост #63-64
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

убери из секции [EMC] и пропиши в [HAL]
HALUI = halui
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

Сообщение nkp »

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

Сообщение Nick »

Виталий писал(а):а как с помощью джойстика реализовать probe/touchoff
В смысле запуск пробы?
В ini
[HALUI]
MDI_COMMAND = G38.2 Z0

И потом в hal
net start_probe => halui.mdi-command-00
net start_probe <= [сюда название пина кнопки]

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

Re: EMC2 и Joystick

Сообщение Nick »

О, точнее даже так:
в ini:
[HALUI]
MDI_COMMAND = O<touchoff> CALL

+ создаешь файл touchoff
в нем

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

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

Сообщение nkp »

В хал файл

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

net probe motion.probe-input => parport.0.pin-0N-in
N-номер пина паралельного порта
в ini файл создаешь секцию [HALUI] и пишешь:
[HALUI]

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

MDI_COMMAND = O<touchoff> CALL
Вот этот код :

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

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

Re: EMC2 и Joystick

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

nkp писал(а):В хал файл

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

net probe motion.probe-input => parport.0.pin-0N-in
N-номер пина паралельного порта
в ini файл создаешь секцию [HALUI] и пишешь:
[HALUI]

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

MDI_COMMAND = O<touchoff> CALL
Вот этот код :

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

O<touchoff> SUB
  G91
  G38.2 Z-10
  F1
  G38.4 Z10
  G92 Z0
  G90 
  G01 Z5
O<touchoff> ENDSUB
во вновь созданый файл touchoff.ngc
и положить его в nc_files
вроде так......
а как будет осущетлятся сама проба ,вызовом кода ?
Ответить

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