Всего понемногу (реанимация 4 axis гравера по стеклу)

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

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Тогда ок. Но ты пробовал это убирать?

Если не получимтся, нужно пойти кардинальнее:
1. берем старый hal и копируем оттуда все в новый, запускаем - смотрим
2. если все по прежнему копируем все из старого ini

Как только что-то начинает работать выполняем двоичный поиск критической строки, т.е. копируем не все, а половину, если работает, то половину половины и т.д.

ЗЫ вот поэтому я и говорил, что обновлять ПО на рабочем станке не рекомендуется ;). Вроде должно работать, но есть один момент :).
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

закоментировал
net x-vel-fb => pid.x.command-deriv
все заработало ;)
но может хорошая строчка была :think:
вечером попробую с ней настройку пид проделать ручками как раньше, а может щас и at_pid заработает
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

at_pid незнает пина pid.N.command-deriv, как и pid.N.index-enable
и at_pid как и раньше не запускается
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Да... странно... а как ты ее настроишь? К ней дополнительный параметр должен быть...
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

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

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

По идее простой отступ от траектории должен сработать... И кстати G42 модет сработать, но если разбиение слишком большое или расстояние до центра вращение большое может и не сработать...

ЗЫ колись, куда пропал? по бабам пошел :tongue: :lol: ? :lol:
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

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

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

while (true)
{Терпение, смирение и труд.}
-- Наше все :)
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

народ! нужно ваше вмешательство... уже второй вечер сижу немогу разобраться с запуском шпинделя
если в ручном режиме включаю\выключаю шпиндель работает, но стоит в MDI или в Gcode указать М3 вырубается, при этом кнопки в "ручном" режиме переключаются в соответствии с М3 М5 но сам шпиндель стоит, если снова вручную включаю\выключаю кнопками (или F9\F10) работает :evil:
HAL (для просмотра содержимого нажмите на ссылку)
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2
loadrt hm2_pci config="firmware=hm2/5i23/SVST8_4.BIT num_encoders=4 num_pwmgens=4 num_3pwmgens=0 num_stepgens=0 "
setp hm2_5i23.0.pwmgen.pwm_frequency 60000
setp hm2_5i23.0.pwmgen.pdm_frequency 60000
setp hm2_5i23.0.watchdog.timeout_ns 10000000
loadrt pid names=pid.x,pid.y,pid.z,pid.a

loadrt abs names=abs.spindle
loadrt lowpass names=lowpass.spindle
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10


addf hm2_5i23.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.a.do-pid-calcs servo-thread
addf classicladder.0.refresh servo-thread

addf abs.spindle servo-thread
addf lowpass.spindle servo-thread
addf hm2_5i23.0.write servo-thread
addf hm2_5i23.0.pet_watchdog servo-thread

#=================================================================
# external output signals

# --- SPINDLE-ENABLE ---
setp hm2_5i23.0.gpio.047.is_output true
setp hm2_5i23.0.gpio.047.invert_output true
net spindle-enable hm2_5i23.0.gpio.047.out

# --- Probe-on-table ---
#setp hm2_5i23.0.gpio.045.is_output true
#setp hm2_5i23.0.gpio.045.invert_output true
#net spindle-enable hm2_5i23.0.gpio.045.out


# --- MACHINE-IS-ENABLED ---
setp hm2_5i23.0.gpio.064.is_output true
setp hm2_5i23.0.gpio.064.invert_output true
net machine-is-enabled hm2_5i23.0.gpio.064.out

# --- COOLANT-FLOOD ---
setp hm2_5i23.0.gpio.065.is_output true
setp hm2_5i23.0.gpio.065.invert_output true
net coolant-flood => hm2_5i23.0.gpio.065.out
net coolant-flood => classicladder.0.in-05

# --- COOLANT-FLOOD-small
setp hm2_5i23.0.gpio.045.is_output true
setp hm2_5i23.0.gpio.045.invert_output true
#net coolant-small => hm2_5i23.0.gpio.045.out
net flood_valve => hm2_5i23.0.gpio.045.out


# --- COOLANT-MIST ---
setp hm2_5i23.0.gpio.066.is_output true
setp hm2_5i23.0.gpio.066.invert_output true
net coolant-mist hm2_5i23.0.gpio.066.out

# --- DOUT-00 ---
setp hm2_5i23.0.gpio.068.is_output true
setp hm2_5i23.0.gpio.068.invert_output true
#net dout-00 hm2_5i23.0.gpio.068.out

# --- DOUT-01 ---
setp hm2_5i23.0.gpio.071.is_output true
setp hm2_5i23.0.gpio.071.invert_output true
net dout-01 hm2_5i23.0.gpio.071.out

#===================================================================
# external input signals

# --- CYCLE-START ---
net cycle-start <= hm2_5i23.0.gpio.024.in

# --- SINGLE-STEP ---
net single-step <= hm2_5i23.0.gpio.025.in

# --- ABORT ---
net abort <= hm2_5i23.0.gpio.026.in

# --- SPINDLE-MANUAL-On/Off ---
net spindle-manual-cw <= hm2_5i23.0.gpio.027.in_not
net spindle-manual-stop <= hm2_5i23.0.gpio.028.in_not

# --- HOME_ALL_BN ---
net home_all_bn <= hm2_5i23.0.gpio.029.in

# --- JOG-X-POS ---
net jog-x-pos <= hm2_5i23.0.gpio.030.in

# --- JOG-X-NEG ---
net jog-x-neg <= hm2_5i23.0.gpio.031.in

# --- VACUUM_ON ---
net vacuum_on <= hm2_5i23.0.gpio.032.in

# --- VACUUM_OFF ---
net vacuum_off <= hm2_5i23.0.gpio.033.in

# --- JOG-Y-POS ---
net jog-y-pos <= hm2_5i23.0.gpio.034.in

# --- JOG-Y-NEG ---
net jog-y-neg <= hm2_5i23.0.gpio.035.in

# --- PROBE-IN ---
net probe-in <= hm2_5i23.0.gpio.036.in_not

# --- PROBE Limit SW ---
net din-00 <= hm2_5i23.0.gpio.037.in_not

# --- HOME-X ---
net home-x <= hm2_5i23.0.gpio.048.in

# --- HOME-Y ---
net home-y <= hm2_5i23.0.gpio.049.in

# --- HOME-Z ---
net home-z <= hm2_5i23.0.gpio.050.in

# --- HOME-A ---
net home-a <= hm2_5i23.0.gpio.051.in

# --- MIN-X ---
net min-x <= hm2_5i23.0.gpio.052.in

# --- MAX-X ---
net max-x <= hm2_5i23.0.gpio.053.in

# --- MIN-Y ---
net min-y <= hm2_5i23.0.gpio.054.in

# --- MAX-Y ---
net max-y <= hm2_5i23.0.gpio.055.in

# --- MIN-Z ---
net min-z <= hm2_5i23.0.gpio.056.in

# --- MAX-Z ---
net max-z <= hm2_5i23.0.gpio.057.in

# --- ESTOP-EXT ---
net estop-ext <= hm2_5i23.0.gpio.058.in

# --- SPINDLE-AT-SPEED ---
#net spindle-at-speed <= hm2_5i23.0.gpio.059.in_not

# --- machine-on-off ---
#hm2_5i23.0.gpio.063.in > see ladder section

# --- Sensor TOOL 1 ---
#hm2_5i23.0.gpio.060.in > see costom_postgui.hal

# --- Sensor TOOL 2 ---
#hm2_5i23.0.gpio.061.in > see costom_postgui.hal

# --- DIN-03 ---
net din-03 <= hm2_5i23.0.gpio.062.in

#net spindle-at-speed motion.spindle-at-speed <= hm2_5i23.0.gpio.059.in_not

#*******************
# AXIS X
#*******************

setp pid.x.Pgain [AXIS_0]P
setp pid.x.Igain [AXIS_0]I
setp pid.x.Dgain [AXIS_0]D
setp pid.x.bias [AXIS_0]BIAS
setp pid.x.FF0 [AXIS_0]FF0
setp pid.x.FF1 [AXIS_0]FF1
setp pid.x.FF2 [AXIS_0]FF2
setp pid.x.deadband [AXIS_0]DEADBAND
setp pid.x.maxoutput [AXIS_0]MAX_OUTPUT

net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-output => pid.x.output
net x-pos-cmd => pid.x.command
#net x-vel-fb => pid.x.command-deriv
net x-pos-fb => pid.x.feedback

# ---PWM Generator signals/setup---

setp hm2_5i23.0.pwmgen.00.output-type 1
setp hm2_5i23.0.pwmgen.00.scale [AXIS_0]OUTPUT_SCALE

net x-output => hm2_5i23.0.pwmgen.00.value
net x-pos-cmd axis.0.motor-pos-cmd
net x-enable axis.0.amp-enable-out => hm2_5i23.0.pwmgen.00.enable

# ---Encoder feedback signals/setup---

setp hm2_5i23.0.encoder.00.counter-mode 0
setp hm2_5i23.0.encoder.00.filter 1
setp hm2_5i23.0.encoder.00.index-invert 0
setp hm2_5i23.0.encoder.00.index-mask 0
setp hm2_5i23.0.encoder.00.index-mask-invert 0
setp hm2_5i23.0.encoder.00.scale [AXIS_0]ENCODER_SCALE

net x-pos-fb <= hm2_5i23.0.encoder.00.position
net x-vel-fb <= hm2_5i23.0.encoder.00.velocity
net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_5i23.0.encoder.00.index-enable
net x-pos-rawcounts <= hm2_5i23.0.encoder.00.rawcounts
#net x-vel-fb xx-vel-fb

# ---setup home / limit switch signals---

net home-x => axis.0.home-sw-in
net min-x => axis.0.neg-lim-sw-in
net max-x => axis.0.pos-lim-sw-in

#*******************
# AXIS Y
#*******************

setp pid.y.Pgain [AXIS_1]P
setp pid.y.Igain [AXIS_1]I
setp pid.y.Dgain [AXIS_1]D
setp pid.y.bias [AXIS_1]BIAS
setp pid.y.FF0 [AXIS_1]FF0
setp pid.y.FF1 [AXIS_1]FF1
setp pid.y.FF2 [AXIS_1]FF2
setp pid.y.deadband [AXIS_1]DEADBAND
setp pid.y.maxoutput [AXIS_1]MAX_OUTPUT

net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-output => pid.y.output
net y-pos-cmd => pid.y.command
#net y-vel-fb => pid.y.command-deriv
net y-pos-fb => pid.y.feedback

# ---PWM Generator signals/setup---

setp hm2_5i23.0.pwmgen.01.output-type 1
setp hm2_5i23.0.pwmgen.01.scale [AXIS_1]OUTPUT_SCALE

net y-output => hm2_5i23.0.pwmgen.01.value
net y-pos-cmd axis.1.motor-pos-cmd
net y-enable axis.1.amp-enable-out => hm2_5i23.0.pwmgen.01.enable

# ---Encoder feedback signals/setup---

setp hm2_5i23.0.encoder.01.counter-mode 0
setp hm2_5i23.0.encoder.01.filter 1
setp hm2_5i23.0.encoder.01.index-invert 0
setp hm2_5i23.0.encoder.01.index-mask 0
setp hm2_5i23.0.encoder.01.index-mask-invert 0
setp hm2_5i23.0.encoder.01.scale [AXIS_1]ENCODER_SCALE

net y-pos-fb <= hm2_5i23.0.encoder.01.position
net y-vel-fb <= hm2_5i23.0.encoder.01.velocity
net y-pos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_5i23.0.encoder.01.index-enable
net y-pos-rawcounts <= hm2_5i23.0.encoder.01.rawcounts

# ---setup home / limit switch signals---

net home-y => axis.1.home-sw-in
net min-y => axis.1.neg-lim-sw-in
net max-y => axis.1.pos-lim-sw-in

#*******************
# AXIS Z
#*******************

setp pid.z.Pgain [AXIS_2]P
setp pid.z.Igain [AXIS_2]I
setp pid.z.Dgain [AXIS_2]D
setp pid.z.bias [AXIS_2]BIAS
setp pid.z.FF0 [AXIS_2]FF0
setp pid.z.FF1 [AXIS_2]FF1
setp pid.z.FF2 [AXIS_2]FF2
setp pid.z.deadband [AXIS_2]DEADBAND
setp pid.z.maxoutput [AXIS_2]MAX_OUTPUT

net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-output => pid.z.output
net z-pos-cmd => pid.z.command
#net z-vel-fb => pid.z.command-deriv
net z-pos-fb => pid.z.feedback

# ---PWM Generator signals/setup---

setp hm2_5i23.0.pwmgen.02.output-type 1
setp hm2_5i23.0.pwmgen.02.scale [AXIS_2]OUTPUT_SCALE

net z-output => hm2_5i23.0.pwmgen.02.value
net z-pos-cmd axis.2.motor-pos-cmd
net z-enable axis.2.amp-enable-out => hm2_5i23.0.pwmgen.02.enable

# ---Encoder feedback signals/setup---

setp hm2_5i23.0.encoder.02.counter-mode 0
setp hm2_5i23.0.encoder.02.filter 1
setp hm2_5i23.0.encoder.02.index-invert 0
setp hm2_5i23.0.encoder.02.index-mask 0
setp hm2_5i23.0.encoder.02.index-mask-invert 0
setp hm2_5i23.0.encoder.02.scale [AXIS_2]ENCODER_SCALE

net z-pos-fb <= hm2_5i23.0.encoder.02.position
net z-vel-fb <= hm2_5i23.0.encoder.02.velocity
net z-pos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_5i23.0.encoder.02.index-enable
net z-pos-rawcounts <= hm2_5i23.0.encoder.02.rawcounts

# ---setup home / limit switch signals---

net home-z => axis.2.home-sw-in
net min-z => axis.2.neg-lim-sw-in
net max-z => axis.2.pos-lim-sw-in

#*******************
# AXIS A
#*******************

setp pid.a.Pgain [AXIS_3]P
setp pid.a.Igain [AXIS_3]I
setp pid.a.Dgain [AXIS_3]D
setp pid.a.bias [AXIS_3]BIAS
setp pid.a.FF0 [AXIS_3]FF0
setp pid.a.FF1 [AXIS_3]FF1
setp pid.a.FF2 [AXIS_3]FF2
setp pid.a.deadband [AXIS_3]DEADBAND
setp pid.a.maxoutput [AXIS_3]MAX_OUTPUT

net a-index-enable <=> pid.a.index-enable

# ---PWM Generator signals/setup---

setp hm2_5i23.0.pwmgen.03.output-type 1
setp hm2_5i23.0.pwmgen.03.scale [AXIS_3]OUTPUT_SCALE

net aenable => pid.a.enable
net aoutput pid.a.output => hm2_5i23.0.pwmgen.03.value
net apos-cmd axis.3.motor-pos-cmd => pid.a.command
net aenable axis.3.amp-enable-out => hm2_5i23.0.pwmgen.03.enable

# ---Encoder feedback signals/setup---

setp hm2_5i23.0.encoder.03.counter-mode 0
setp hm2_5i23.0.encoder.03.filter 1
setp hm2_5i23.0.encoder.03.index-invert 0
setp hm2_5i23.0.encoder.03.index-mask 0
setp hm2_5i23.0.encoder.03.index-mask-invert 0
setp hm2_5i23.0.encoder.03.scale [AXIS_3]ENCODER_SCALE

net apos-fb <= hm2_5i23.0.encoder.03.position
net apos-fb => pid.a.feedback
net apos-fb => axis.3.motor-pos-fb
net a-index-enable axis.3.index-enable <=> hm2_5i23.0.encoder.03.index-enable

# ---setup home / limit switch signals---

net home-a => axis.3.home-sw-in
net a-neg-limit => axis.3.neg-lim-sw-in
net a-pos-limit => axis.3.pos-lim-sw-in

#*******************
# SPINDLE S
#*******************

# ---setup spindle control signals---

net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-enable <= motion.spindle-on => motion.spindle-at-speed
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
#net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable

# Use COMMANDED spindle velocity from EMC because no spindle encoder was specified
# COMMANDED velocity is signed so we use absolute component to remove sign

net spindle-vel-cmd => abs.spindle.in
net absolute-spindle-vel <= abs.spindle.out

#******************************
# connect miscellaneous signals
#******************************

# ---HALUI signals---

#net tool-change

net joint-select-a halui.joint.0.select
net x-is-homed halui.joint.0.is-homed
net jog-x-pos halui.jog.0.plus
net jog-x-neg halui.jog.0.minus
net jog-x-analog halui.jog.0.analog
net joint-select-b halui.joint.1.select
net y-is-homed halui.joint.1.is-homed
net jog-y-pos halui.jog.1.plus
net jog-y-neg halui.jog.1.minus
net jog-y-analog halui.jog.1.analog
net joint-select-c halui.joint.2.select
net z-is-homed halui.joint.2.is-homed
net jog-z-pos halui.jog.2.plus
net jog-z-neg halui.jog.2.minus
net jog-z-analog halui.jog.2.analog
net joint-select-d halui.joint.3.select
net a-is-homed halui.joint.3.is-homed
net jog-a-pos halui.jog.3.plus
net jog-a-neg halui.jog.3.minus
net jog-a-analog halui.jog.3.analog
net jog-selected-pos halui.jog.selected.plus
net jog-selected-neg halui.jog.selected.minus
net spindle-manual-cw halui.spindle.forward
net spindle-manual-ccw halui.spindle.reverse
net spindle-manual-stop halui.spindle.stop
net machine-is-on halui.machine.is-on
net jog-speed halui.jog-speed
net MDI-mode halui.mode.is-mdi

# ---coolant signals---

net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood

# ---probe signal---

net probe-in => motion.probe-input

# ---motion control signals---

net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled

# ---digital in / out signals---

net dout-00 <= motion.digital-out-00
net dout-01 <= motion.digital-out-01
net din-00 => motion.digital-in-00
net din-01 => motion.digital-in-01
net din-02 => motion.digital-in-02
net din-03 => motion.digital-in-03


# ---estop signals---

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

# ---toolchange signals for custom tool changer---

# Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI
loadusr -w classicladder --nogui custom.clp

net tool-number iocontrol.0.tool-number
net tool-prep-number iocontrol.0.tool-prep-number => classicladder.0.s32in-01
net tool-change-request iocontrol.0.tool-change => classicladder.0.in-04
net tool-change-confirmed iocontrol.0.tool-changed <= classicladder.0.out-02
net tool-prepare-confirmed iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net machine-on-off-ladder-in hm2_5i23.0.gpio.063.in_not => classicladder.0.in-06
net machine-on-ladder-out halui.machine.on => classicladder.0.out-03
net machine-off-ladder-out halui.machine.off => classicladder.0.out-04





net flood_valve => classicladder.0.out-01
net Zpos_for_ladder halui.axis.2.pos-relative => classicladder.0.floatin-00
INI (для просмотра содержимого нажмите на ссылку)
[EMC]
MACHINE = cnc2
DEBUG = 0

[DISPLAY]
DISPLAY = axis
#EMBED_TAB_NAME = GladeVCP
#EMBED_TAB_COMMAND = halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -H gvcp_call_list.hal -x {XID} gvcp-panel.ui
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 0.001
PROGRAM_PREFIX = /home/vladimir/emc2/nc_files
#PYVCP = pyvcp-panel.xml
PYVCP = custompanel.xml
INCREMENTS = 50 10 5 1 .5 .1 .05 .01 .005 .10
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 100
MAX_LINEAR_VELOCITY = 100.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 50
MAX_ANGULAR_VELOCITY = 50.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
GEOMETRY = xyzc

[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.0001

[RS274NGC]
PARAMETER_FILE = emc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 500000

[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_pci
# BOARD0=5i23

[HAL]
HALUI = halui
HALFILE = cnc2.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal

[HALUI]
MDI_COMMAND = M6 T1 (смена диска кнопками с панели)
MDI_COMMAND = M6 T2 (смена диска кнопками с панели)
#MDI_COMMAND = G10 L20 P0 X0 ( Set X to zero )
#MDI_COMMAND = G38.2 Z-2 F16 ( search for touch off plate )
#MDI_COMMAND = G10 L20 P0 Z.25 ( Ofset current Origin by plate thickness )
#MDI_COMMAND = G0 Z.5 ( Rapid away from touch off plate )

[TRAJ]
AXES = 4
COORDINATES = X Y Z A
MAX_ANGULAR_VELOCITY = 50
DEFAULT_ANGULAR_VELOCITY = 50
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.0001
DEFAULT_VELOCITY = 100
MAX_LINEAR_VELOCITY = 100

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
TOOLCHANGE_WITH_SPINDLE_ON = 1
TOOLCHANGE_QUILL_UP = 1
RANDOM_TOOLCHANGER = 1

#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 1
MIN_FERROR = 0.7
MAX_VELOCITY = 100
MAX_ACCELERATION =300.0
P = 15
I = 0
D = 0.23
FF0 = 0
FF1 = 0.0004
FF2 = 0.00063
BIAS = 0.1
DEADBAND = 0.0001
OUTPUT_SCALE = -1
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 10
ENCODER_SCALE = 1000
MIN_LIMIT = -1.0
MAX_LIMIT = 2500.5
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -40.666667
HOME_LATCH_VEL = 1
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 0

#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 1
MIN_FERROR = 0.7
MAX_VELOCITY = 80
MAX_ACCELERATION = 300.0
P = 15
I = 0
D = 0.2
FF0 = 0
FF1 = 0.0025
FF2 = 0.0008
BIAS = 0
DEADBAND = 0.0002
OUTPUT_SCALE = 1
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 5
ENCODER_SCALE = 1000
MIN_LIMIT = -1.0
MAX_LIMIT = 1000.5
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -40.050000
HOME_LATCH_VEL = 1.5
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 0

#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 1
MIN_FERROR = 0.7
MAX_VELOCITY = 8
MAX_ACCELERATION = 40.0
P = 40
I = 0
D = 0.4
FF0 = 0
FF1 = 1.1
FF2 = 0.007
BIAS = 0
DEADBAND = 1e-05
OUTPUT_SCALE = 10
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 200
ENCODER_SCALE = -1000
MIN_LIMIT = -32.0
MAX_LIMIT = 2.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 5.0
HOME_LATCH_VEL = -0.6
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 0

#********************
# Axis A
#********************
[AXIS_3]
TYPE = ANGULAR
WRAPPED_ROTARY = 0
ANGULAR_UNITS = deg
HOME = 0.0
FERROR = 1
MIN_FERROR = 0.7
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 150.0
P = 3
I = 0
D = 0.009
FF0 = 0
FF1 = 0.1907
FF2 = 0.00105
BIAS = 0
DEADBAND = 0.0001
OUTPUT_SCALE = 10
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 100
ENCODER_SCALE = 250
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 25
HOME_LATCH_VEL = -0.6
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0

#********************
# Spindle
#********************
[SPINDLE_9]
MAX_VELOCITY = 3000
MAX_ACCELERATION = 2.0
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

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

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

И внешние кнопки работают или нет?
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

"раньше" незнаю так-как использовал только кнопку на панели "ручного" управления :| М3 М5 как-то неподумал попробовать :wik:
в хал-метер меняется только motion.spindle-brake в соответствии с галгой на панели "ручного" управления :?
эксперементировал только с spindle-at-speed, но так как частотник древний и глюкавый то отказался от этой функции просто паузой в Gcode :|

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

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

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

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Кстати, что-то не вижу строчки где выводится наружу скорость шпинделя, есть только вкл/выкл и все.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

а ее и нет, темболее что вчерашние испытания показали что чем быстрее тем луче.... а так как макс, скорость шпинделя 3000 а ременная передача "почти" прямая то и заморачиватся смысла (пока) нет
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

застрелистя!!!! проблема оказалась в прокладке между креслом и монитором, тоесть во мне!!! даже и в голову не пришло дать скорость S1000, иначе говоря при команде М3 или М4 параметр S обязателен..... 3 дня убил... перелопатил весь ХАЛ... а оказалась проблема лежала под носом :pssdoff: :D :D
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Т.е. он у тебя с S0 стартовал? Спасибо, что первым наступил на эти грабли :hehehe:!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

стартовал если влючал вручную, но фактически то скорость не задал, поэтому когда проходила команда М3 он просто вставал хотя кнопка включения шпинделя оставалась нажата,
НО в ХАЛметре все отрубалось по шпинделю кроме тормоза
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

можете поздравлять! :D испытания прошли успешно! если не учитывать что пока подобрали нужную подачу сожгли алмазный диск :D ну нето-чтоб сожгли, но острых граней на нем теперь нет :hehehe:
IMG_10242.jpg (1909 просмотров) <a class='original' href='./download/file.php?id=4532&mode=view' target=_blank>Загрузить оригинал (17.12 КБ)</a>
IMG_10231.jpg (1909 просмотров) <a class='original' href='./download/file.php?id=4530&mode=view' target=_blank>Загрузить оригинал (38.68 КБ)</a>
теперь нужно что-то делать с компенсацией
IMG_10241.jpg (1909 просмотров) <a class='original' href='./download/file.php?id=4531&mode=view' target=_blank>Загрузить оригинал (37 КБ)</a>
это был "чистый" треугольник
Николай, что скажеш? пост для Gcodetools или какой другой вариант?
G42 думаю не прокатит, так-как он сварганит кампенсацию сбоку от траектории, а мне нужно чтоб шел ПО траектории но отступ в начале и в конце пути
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Я думаю нужен не пост, а пре-процессор. Насколько я понимаю, нужно просто в каждом углу траектории сделать дырку определенной длинны. Так?
Ответить

Вернуться в «Фрезерные станки по дереву и пластикам, гравировальные станки, роутеры»