Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки
Добавлено: 23 июн 2011, 17:48
Что не понятно-то?
Нужно к каждому настраиваемому пину написать его тип и все.
Нужно к каждому настраиваемому пину написать его тип и все.
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
Пока нет. Там стоит частоник с регулятором. Ручками покручу не надорвусьNick писал(а):А ШИМ на шпиндель тебе не нужен?
И получил ошибку:Nick писал(а):Ну вывод на один пин:
net estop-out hm2_[HOSTMOT2](BOARD).0.gpio.000 <= iocontrol.0.user-enable-out
Его на реле. Или его на все сервы.
Привычка в программировании: описывается свойства объекта(настраиваются входы). Потом применяются методы. Как правило свойства и методы идут через точку.Nick писал(а):А что ты в синтаксисе не понимаешь?
Таже фигня: * до этого из буфера вставилась не та ошибкаNick писал(а):# включили станок, включили сервы S-ON
setp hm2_[HOSTMOT2](BOARD).0.io.035.is_output 1
net estop-out hm2_[HOSTMOT2](BOARD).0.io.035 <= iocontrol.0.user-enable-out
Код: Выделить всё
# Generated by PNCconf at Fri Jun 24 16:37:59 2011
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2
loadrt hm2_7i43 config="firmware=hm2/7i43/SV4_4.BIT num_encoders=1 num_pwmgens=1 num_stepgens=3"
setp hm2_7i43.0.pwmgen.pwm_frequency 100000
setp hm2_7i43.0.pwmgen.pdm_frequency 100000
setp hm2_7i43.0.watchdog.timeout_ns 10000000
loadrt near
addf hm2_7i43.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf near.0 servo-thread
addf hm2_7i43.0.write servo-thread
addf hm2_7i43.0.pet_watchdog servo-thread
# external output signals
# external input signals
# --- ESTOP-EXT ---
net estop-ext <= hm2_7i43.0.gpio.002.in
# --- HOME-X ---
net home-x <= hm2_7i43.0.gpio.003.in
# --- SPINDLE-MANUAL-CW ---
net spindle-manual-cw <= hm2_7i43.0.gpio.004.in
# --- SPINDLE-MANUAL-STOP ---
net spindle-manual-stop <= hm2_7i43.0.gpio.005.in
#*******************
# AXIS X
#*******************
# Step Gen signals/setup
setp hm2_7i43.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_7i43.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_7i43.0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_7i43.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_7i43.0.stepgen.00.position-scale [AXIS_0]SCALE
setp hm2_7i43.0.stepgen.00.maxaccel 0
setp hm2_7i43.0.stepgen.00.maxvel 0
setp hm2_7i43.0.stepgen.00.step_type 0
net xpos-fb axis.0.motor-pos-fb <= hm2_7i43.0.stepgen.00.position-fb
net xpos-cmd axis.0.motor-pos-cmd => hm2_7i43.0.stepgen.00.position-cmd
net xenable axis.0.amp-enable-out => hm2_7i43.0.stepgen.00.enable
# ---setup home / limit switch signals---
net home-x => axis.0.home-sw-in
net x-neg-limit => axis.0.neg-lim-sw-in
net x-pos-limit => axis.0.pos-lim-sw-in
#*******************
# AXIS Y
#*******************
# Step Gen signals/setup
setp hm2_7i43.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_7i43.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_7i43.0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_7i43.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_7i43.0.stepgen.01.position-scale [AXIS_1]SCALE
setp hm2_7i43.0.stepgen.01.maxaccel 0
setp hm2_7i43.0.stepgen.01.maxvel 0
setp hm2_7i43.0.stepgen.01.step_type 0
net ypos-fb axis.1.motor-pos-fb <= hm2_7i43.0.stepgen.01.position-fb
net ypos-cmd axis.1.motor-pos-cmd => hm2_7i43.0.stepgen.01.position-cmd
net yenable axis.1.amp-enable-out => hm2_7i43.0.stepgen.01.enable
# ---setup home / limit switch signals---
net y-home-sw => axis.1.home-sw-in
net y-neg-limit => axis.1.neg-lim-sw-in
net y-pos-limit => axis.1.pos-lim-sw-in
#*******************
# AXIS Z
#*******************
# Step Gen signals/setup
setp hm2_7i43.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_7i43.0.stepgen.02.dirhold [AXIS_2]DIRHOLD
setp hm2_7i43.0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_7i43.0.stepgen.02.stepspace [AXIS_2]STEPSPACE
setp hm2_7i43.0.stepgen.02.position-scale [AXIS_2]SCALE
setp hm2_7i43.0.stepgen.02.maxaccel 0
setp hm2_7i43.0.stepgen.02.maxvel 0
setp hm2_7i43.0.stepgen.02.step_type 0
net zpos-fb axis.2.motor-pos-fb <= hm2_7i43.0.stepgen.02.position-fb
net zpos-cmd axis.2.motor-pos-cmd => hm2_7i43.0.stepgen.02.position-cmd
net zenable axis.2.amp-enable-out => hm2_7i43.0.stepgen.02.enable
# ---setup home / limit switch signals---
net z-home-sw => axis.2.home-sw-in
net z-neg-limit => axis.2.neg-lim-sw-in
net z-pos-limit => axis.2.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.00.output-type 1
setp hm2_7i43.0.pwmgen.00.scale [SPINDLE_9]OUTPUT_SCALE
net spindle-vel-cmd => hm2_7i43.0.pwmgen.00.value
net spindle-enable => hm2_7i43.0.pwmgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.00.counter-mode 0
setp hm2_7i43.0.encoder.00.filter 1
setp hm2_7i43.0.encoder.00.index-invert 0
setp hm2_7i43.0.encoder.00.index-mask 0
setp hm2_7i43.0.encoder.00.index-mask-invert 0
setp hm2_7i43.0.encoder.00.scale [SPINDLE_9]INPUT_SCALE
net spindle-revs <= hm2_7i43.0.encoder.00.position
net spindle-vel-fb <= hm2_7i43.0.encoder.00.velocity
net spindle-index-enable <=> hm2_7i43.0.encoder.00.index-enable
# ---Setup spindle at speed signals---
net spindle-vel-cmd-rps => near.0.in1
net spindle-vel-fb => near.0.in2
net spindle-at-speed <= near.0.out
setp near.0.scale .9
# ---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
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
#******************************
# connect miscellaneous signals
#******************************
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---digital in / out signals---
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in
# ---manual tool change signals---
loadusr -W hal_manualtoolchange
net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-change-confirmed 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
Ставил с LiveCD с ЕМС 2.4.... потом обновился до версии 2.5......Nick писал(а):Как ты ставил 2.5? Может ее уже можно обновить...
Nick писал(а):Чтобы поставить emc2.5 из репозитория нужно примерно тоже самое:
sudo apt-add-repository "deb http://buildbot.linuxcnc.org/ lucid v2.5_branch-rt"
gpg --keyserver pgpkeys.mit.edu --recv-key 8F374FEF
gpg -a --export 8F374FEF | sudo apt-key add -
sudo apt-get update
sudo apt-get install emc2
Это если emc2 не был установлен, если он был установлен, то его нужно обновить, т.е. вместо последней строчки нужно написать sudo apt-get upgrade, правда это обновит все пакеты в системе ... Можно вместо этого запустить Система - Администрация - Менеджер обновлений и выбрать там только emc2.
Стоп не пойдет!!! Пиши скрипт как обновиться. Вдруг там работают мастера.Nick писал(а):О!!! Стой!
setp hm2_[HOSTMOT2](BOARD).0.gpio.035.is_output 1Nick писал(а):net estop-out hm2_[HOSTMOT2](BOARD).0.gpio.035.in <= iocontrol.0.user-enable-out
Nick разница есть где писать в Hal файле в низу вверху?Nick писал(а):net estop-out hm2_[HOSTMOT2](BOARD).0.gpio.035.out <= iocontrol.0.user-enable-out
Оптпары или индуктивные датчики поставлю на Ось. В сервах есть входы P-Not когда ось упирается в концевик серва не будет крутиться.Nick писал(а):Кстати, а как ты будешь оси обнулять? На серве есть выходы под нули?