Страница 9 из 14
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 16:30
Виталий
Nick писал(а):ЗЫ nkp, может свой костыль придумаем ? Есть идеи?
да,я думаю года через 5 и придумаю
на счет кретичности ,может и нет смысла лепить пробу на джойстик,тогда помогите сделаь кнопку для пробы в программе.
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 16:36
Nick
Там же вроде есть кнопка touchoff???
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 16:39
Виталий
как бы нет .или плохо смотрел?
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 16:45
nkp
Ну еще только попробуй обновиться до 2.5
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 16:47
Виталий
nkp писал(а):Ну еще только попробуй обновиться до 2.5
что даст обновлениекроме touchoff?
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 17:04
nkp
может появиться возможность избавиться:

- Выделение(003).png (9.4 КБ) 3195 просмотров
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 17:21
Виталий
обновляюсь,посмотрю что нового
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 18:48
Виталий
итак .продолжу,обновил емс и получил linux cnc 2.5.0. кнопку пробы невидать.как ее туда втулить?
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 21:06
Виталий
есть ли такой ж код или команда которая обнуляет ось z когда замыкается probe
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 22:09
Виталий
вот первое писание ,в котором получилось сделать так как хотелось.
Код: Выделить всё
G38.2 Z-10 F100
G00 Z3 f50
G38.3 Z-6
G00 z5 F300
загружаю как обычный ж код,как не странно получается:
-опуск
-касание
-подьем
-опуск (уточнение)
-подьем на высоту 5 (на экране ось тоже z 5)
(класс ,балдею)
но ,нужна помощь в создании кнопки под загрузку этого ж.к ,через папку не удобно.
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 22:23
nkp
а если этот код вставить в файл-от кнопки тоже не работает(от джойст.)?
Re: EMC2 и Joystick
Добавлено: 09 июн 2012, 22:55
Виталий
джойстик отложил в сторону ,времени нет зниматся с моими познаничми.надо подымать станок,а это так игрушка .хотя многое с его помощью понял в линуксе
Re: EMC2 и Joystick
Добавлено: 11 июн 2012, 14:51
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, но но не слишком простой.
Re: EMC2 и Joystick
Добавлено: 26 окт 2012, 22:05
shvv
Nick нужна твоя помощь, настроил джойстик по вашим заметкам но только ось ху, а uv не могу. хотелось бы стиками управлять осями а крестовиной ход по осям одновременно. подскажите в какую сторону двигаться
з.ы. на убунти недавно... так что не обессудь
Re: EMC2 и Joystick
Добавлено: 26 окт 2012, 22:56
Nick
А как именно настраивал? А то я уже не помню ничего

. Скинь ссылку.
ЗЫ со мной можно "на ты", надеюсь, взаимно

Re: EMC2 и Joystick
Добавлено: 27 окт 2012, 09:43
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.
Re: EMC2 и Joystick
Добавлено: 27 окт 2012, 10:20
shvv
хочу еще спросить чем закончилось дело с визуализацией под четыре оси (для пенорезки)?
Re: EMC2 и Joystick
Добавлено: 27 окт 2012, 10:20
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
какие пины у нас появились
потом их коннектим
Re: EMC2 и Joystick
Добавлено: 27 окт 2012, 10:33
nkp
shvv писал(а):хочу еще спросить чем закончилось дело с визуализацией под четыре оси (для пенорезки)?
может я не про то - но визуализация для 4-х осевой пенорезки есть в стандарт. емс:
https://www.youtube.com/watch?v=rd4KejP1b48
Re: EMC2 и Joystick
Добавлено: 27 окт 2012, 17:45
shvv
эта визуализация присутствует только в симе, в "нормальном" станке её нет
