EMC2 LinuxCNC и Joystick

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

Сообщение Nick »

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

Re: EMC2 и Joystick

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

как бы нет .или плохо смотрел?
Вложения
Снимок-6.png (3001 просмотр) <a class='original' href='./download/file.php?id=5806&sid=cf2a0526a71147302c6f7f0a1de5e69f&mode=view' target=_blank>Загрузить оригинал (82.51 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

Сообщение nkp »

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

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

итак .продолжу,обновил емс и получил linux cnc 2.5.0. кнопку пробы невидать.как ее туда втулить?
Вложения
Снимок.png (2995 просмотров) <a class='original' href='./download/file.php?id=5818&sid=cf2a0526a71147302c6f7f0a1de5e69f&mode=view' target=_blank>Загрузить оригинал (92.3 КБ)</a>
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

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

вот первое писание ,в котором получилось сделать так как хотелось.

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

G38.2 Z-10 F100
G00 Z3 f50 
G38.3 Z-6
G00 z5 F300
загружаю как обычный ж код,как не странно получается:
-опуск
-касание
-подьем
-опуск (уточнение)
-подьем на высоту 5 (на экране ось тоже z 5)
(класс ,балдею)
но ,нужна помощь в создании кнопки под загрузку этого ж.к ,через папку не удобно.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

Сообщение Nick »

Самая поблема именно в 1 кнопке. Если делать просто через файл или в обычном файле Gкода, то все просто.

Можно даже совсем хитро делать:
G53 G0 X... Y... (едем в точку где стоит датчик в координатах станка, несмотря на все отступы.)
G91
F100
G38.2 Z-100 (быстро ищем датчик)
G0 Z5 (отъезжаем назад)
F1
G38.2 Z-100 (Медленно уточняем 0)
G92 Z0 (устанавливаем 0)

G90
G0 Z10

Это должно работать.

Почему-то часто уточняют 0 в том же направлении, что и ищут его. Поэтому здесь есть откат наверх и повторный поиск.
Вся сложность в том, что 1 кнопкой такой код не так просто запустить. Я давал ссылку на вариант с Classic Ladder, но но не слишком простой.
shvv
Новичок
Сообщения: 7
Зарегистрирован: 23 окт 2012, 20:26
Репутация: 0
Контактная информация:

Re: EMC2 и Joystick

Сообщение shvv »

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

Re: EMC2 и Joystick

Сообщение Nick »

А как именно настраивал? А то я уже не помню ничего :). Скинь ссылку.

ЗЫ со мной можно "на ты", надеюсь, взаимно :)
shvv
Новичок
Сообщения: 7
Зарегистрирован: 23 окт 2012, 20:26
Репутация: 0
Контактная информация:

Re: EMC2 и Joystick

Сообщение shvv »

настраивал как в посте #85
я не против на "ты" :)

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

[EMC]
MACHINE = FOAM
DEBUG = 0

[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/viyaliy/linuxcnc/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 = linuxcnc.var

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

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

[HALUI]
MDI_COMMAND = O<touchoff> CALL

[TRAJ]
AXES = 8
COORDINATES = X Y U V
MAX_ANGULAR_VELOCITY = 360.00
DEFAULT_ANGULAR_VELOCITY = 36.00
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 0.50
MAX_LINEAR_VELOCITY = 5.00

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

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 90.0
STEPGEN_MAXACCEL = 112.5
SCALE = 96.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 500.0
HOME_OFFSET = 0.0

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 90.0
STEPGEN_MAXACCEL = 112.5
SCALE = 400.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 500.0
HOME_OFFSET = 0.0

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 90.0
STEPGEN_MAXACCEL = 112.5
SCALE = 96.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 500.0
HOME_OFFSET = 0.0

[AXIS_3]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 90.0
STEPGEN_MAXACCEL = 112.5
SCALE = 96.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 500.0
HOME_OFFSET = 0.0

[AXIS_4]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 90.0
STEPGEN_MAXACCEL = 112.5
SCALE = 96.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 500.0
HOME_OFFSET = 0.0

[AXIS_5]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 90.0
STEPGEN_MAXACCEL = 112.5
SCALE = 96.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 500.0
HOME_OFFSET = 0.0

[AXIS_6]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 90.0
STEPGEN_MAXACCEL = 112.5
SCALE = 96.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 500.0
HOME_OFFSET = 0.0

[AXIS_7]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 90.0
STEPGEN_MAXACCEL = 112.5
SCALE = 384.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 500
HOME_OFFSET = 0.0

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

[code=xml]# Создан stepconf в Fri Oct 26 19:10:01 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 5000
loadrt stepgen step_type=0,0,0,0,0,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

net xdir => parport.0.pin-01-out
net ustep => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1
net xenable => parport.0.pin-04-out
net xenable => parport.0.pin-05-out
net udir => parport.0.pin-06-out
net ydir => parport.0.pin-07-out
net vdir => parport.0.pin-08-out
net vstep => parport.0.pin-09-out
setp parport.0.pin-09-out-reset 1
net ystep => parport.0.pin-14-out
setp parport.0.pin-14-out-reset 1
net xstep => parport.0.pin-16-out
setp parport.0.pin-16-out-reset 1
net xenable => parport.0.pin-17-out




setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 45000
setp stepgen.0.dirsetup 45000
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

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 45000
setp stepgen.1.dirsetup 45000
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

setp stepgen.6.position-scale [AXIS_6]SCALE
setp stepgen.6.steplen 1
setp stepgen.6.stepspace 0
setp stepgen.6.dirhold 45000
setp stepgen.6.dirsetup 45000
setp stepgen.6.maxaccel [AXIS_6]STEPGEN_MAXACCEL
net upos-cmd axis.6.motor-pos-cmd => stepgen.6.position-cmd
net upos-fb stepgen.6.position-fb => axis.6.motor-pos-fb
net ustep <= stepgen.6.step
net udir <= stepgen.6.dir
net uenable axis.6.amp-enable-out => stepgen.6.enable

setp stepgen.7.position-scale [AXIS_7]SCALE
setp stepgen.7.steplen 1
setp stepgen.7.stepspace 0
setp stepgen.7.dirhold 45000
setp stepgen.7.dirsetup 45000
setp stepgen.7.maxaccel [AXIS_7]STEPGEN_MAXACCEL
net vpos-cmd axis.7.motor-pos-cmd => stepgen.7.position-cmd
net vpos-fb stepgen.7.position-fb => axis.7.motor-pos-fb
net vstep <= stepgen.7.step
net vdir <= stepgen.7.dir
net venable axis.7.amp-enable-out => stepgen.7.enable

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

#joystick

loadusr -W hal_input -KRAL Generic USB Joystick
net joystick_enable <= input.0.btn-base => axis.0.jog-enable
net joystick_enable => axis.1.jog-enable
net joystick_enable => axis.6.jog-enable
net joystick_enable => axis.7.jog-enable

setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1
setp axis.6.jog-vel-mode 1
setp axis.7.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 jog_scale input.0.abs-u-position => halui.jog.6.analog
#net jog_scale1 input.0.abs-v-position => halui.jog.7.analog       если убрать #то выдаёт ошибку 

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
[/code]

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

Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
LINUXCNC - 2.5.1
Machine configuration directory is '/home/viyaliy/linuxcnc/configs/FOAM'
Machine configuration file is 'FOAM.ini'
INIFILE=/home/viyaliy/linuxcnc/configs/FOAM/FOAM.ini
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=halui
DISPLAY=axis
Cleaning up old LinuxCNC...
Shutting down and cleaning up LinuxCNC...
Waiting for other session to finish exiting... Ok
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
Shutting down and cleaning up LinuxCNC...
Killing task linuxcncsvr, PID=1828
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Can not find -sec MOT -var MOT -num 1 
Can not find -sec IO -var IO -num 1 
Can not find -sec LINUXCNC -var NML_FILE -num 1 
Can not find -sec EMC -var NML_FILE -num 1 
FOAM.hal:108: Pin 'input.0.abs-u-position' does not exist
1828
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 1861.292450] I-pipe: Domain RTAI registered.
[ 1861.292475] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 1861.292479] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 1861.292489] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 1861.292493] PIPELINE layers:
[ 1861.292498] f0c58e20 9ac15d93 RTAI 200
[ 1861.292502] c085cb20 0 Linux 100
[ 1861.345305] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 1861.345717] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 1861.345728] RTAI[sched]: hard timer type/freq = APIC/6250189(Hz); default timing: periodic; linear timed lists.
[ 1861.345734] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 2599921000 hz.
[ 1861.345738] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[ 1861.345973] RTAI[usi]: enabled.
[ 1861.593972] RTAI[math]: loaded.
[ 1861.802654] config string '0x378 out  '
[ 1864.567888] RTAI[math]: unloaded.
[ 1864.770218] SCHED releases registered named ALIEN RTGLBH
[ 1864.784762] RTAI[malloc]: unloaded.
[ 1864.884468] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 1864.896733] I-pipe: Domain RTAI unregistered.
[ 1864.896754] RTAI[hal]: unmounted.
shvv
Новичок
Сообщения: 7
Зарегистрирован: 23 окт 2012, 20:26
Репутация: 0
Контактная информация:

Re: EMC2 и Joystick

Сообщение shvv »

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

Re: EMC2 и Joystick

Сообщение nkp »

Ошибка:

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

FOAM.hal:108: Pin 'input.0.abs-u-position' does not exist
не находит пина с таким названием(input.0.abs-u-position)
убираем все связи джойстика (оставляем в хал файле только загрузку компонента)
что то примерно так:

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

loadusr -W hal_input -KRAL Generic USB Joystick
и смотрим halshow
какие пины у нас появились
потом их коннектим
Последний раз редактировалось nkp 27 окт 2012, 10:39, всего редактировалось 1 раз.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

shvv писал(а):хочу еще спросить чем закончилось дело с визуализацией под четыре оси (для пенорезки)?
может я не про то - но визуализация для 4-х осевой пенорезки есть в стандарт. емс:
https://www.youtube.com/watch?v=rd4KejP1b48
shvv
Новичок
Сообщения: 7
Зарегистрирован: 23 окт 2012, 20:26
Репутация: 0
Контактная информация:

Re: EMC2 и Joystick

Сообщение shvv »

эта визуализация присутствует только в симе, в "нормальном" станке её нет :(
Ответить

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