Страница 1 из 17
MESA 5i25 / MESA 6i25
Добавлено: 01 ноя 2012, 18:37
Nick
MESA 5i25 - Anything I/O 25 pin
Возможности
Дочерние платы
Прошивка
Платы Mesa 5i25 сохраняют во внутренней памяти прошивку, поэтому при загрузке hostmot2 прошивка не указывается. Вместо этого плату можно прошить специальной утилитой. Процесс прошивки очень прост, скачиваем и распаковываем архив отсюда:
http://www.cnc-box.ru/content/Mesa_5i25
архив запакован при помощи zip, поэтому права на выполнение могут не сохраниться, поэтому добавляем права на выполнение для mesaflash:
После этого можно приступать к прошивке, для записи файла прошивки выполняем:
Например:
Код: Выделить всё
sudo ./mesaflash ../../configs/hostmot2/7i77_7i74.bit write
Также можно узнать текущую прошивку, или проверить файлы прошивок, для этого используются команды info, verify.
Прошивка PROB_RFX2
Прошивка PROB_RFX2 предназначена для управления шаговыми двигателями через стандартные breakout платы. Mesa 5i25 с этой прошивкой может реализовывать:
- до 8 генераторов шагов stepgen,
- до 2 ШИМ, pwmgen,
- до 2 обработчиков квадратурных энкодеров.
- неиспользованные пины становятся GPIO
Важная особенность при использовании этой прошивки значение steplen должно быть не 1, как это бывает в стандартных конфигурациях для LPT порта, а равно длительности шага в нс.
Например:
В стандартных конфигурациях для LPT порта используется значение 1 для того, чтобы импульс шага не занимал больше 1 такта base-thread, а т.к. обычно этот такт длиннее 10мкс, и импульс не может быть короче по времени, чем 1 такт base-thread, то значение stepgen.0.steplen 1 является достаточным.
Re: MESA 5i25
Добавлено: 12 янв 2013, 16:55
de-signer
А что за fallback.bit? И чем прошивать 5i25, если к ней подключена дочерняя 7i76 ?
Re: MESA 5i25
Добавлено: 12 янв 2013, 17:07
nkp
а какая цель преследуется прошивкой ???
кстати чуть выше описывается пошагово метод прошивки:
вставили плату 5и25
скачали архив
в терминале прописали команды
Re: MESA 5i25
Добавлено: 12 янв 2013, 17:16
de-signer
После прошивки 7i77-7i73.bit стали работать светодиоды на 5i25 по команде setp hm2_5i25.0.led.CR01 true
Пока ползал по интернету натолкнулся на (с моей точки зрения) правильную команду для того, чтобы зажечь светодиод на дочерней 7i76 могу ошибиться, но было что-то вроде setp hm2_5i25.0.7i76.led.CR01 true . В настройках HAL в упор не вижу ветку 7i76 у hm2_5i25.0 (на 7i76 есть два светодиода CR1 и CR2)
> а какая цель преследуется прошивкой ???
После прошивки 5i25 прошивкой 7i77-7i73.bit , как я понял она стала работать как дочерняя в диапазоне 7i77-7i73. Мне нужно чтобы она работала как "материнская" и давала сигналы на дочернюю 7i76
Re: MESA 5i25
Добавлено: 12 янв 2013, 17:26
nkp
то есть изначально (без прошивок) вот это :
Код: Выделить всё
# load the generic driver
loadrt hostmot2
# load the PCI driver and configure
loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=0XXX"
не работало ???
Re: MESA 5i25
Добавлено: 13 янв 2013, 10:12
Lexxa
а прощивок то всего сколько?
Re: MESA 5i25
Добавлено: 14 янв 2013, 10:48
Nick
de-signer писал(а):После прошивки 5i25 прошивкой 7i77-7i73.bit , как я понял она стала работать как дочерняя в диапазоне 7i77-7i73.
Нет. В каждой прошивке указаны именно те платы, которые будут с ней работать. 7i77-7i73 - значит одна 7i77, и одна 7i73. Причем именно по одной, если нужно две одинаковые дочерние платы, то в прошивке пишется 7i77x2.
Если у тебя только одна 7i76, то прошивай любой прошивкой в которой есть 7i76.
Re: MESA 5i25
Добавлено: 14 янв 2013, 18:59
de-signer
У меня 7i76 . Прошил 7i76x2 Запускаю в очередной раз pncconf. Настраиваю 5i25, говорю, что прошивка 7i76x2. Настраиваю stepgen'ы. Кнопочка проверка/настройка оси. Читаю доку по 7i76. На пинах разъёма TB2 пин 4 = Dir-, пин 5 = Dir+, пин 6 = +5vp Тыкаю вольтметром в +5vp (пин 1 = GND) - тишина. Тыкаю в +-DIR, одновременно катая ось то в + то в - = тишина. Протыкал ВСЕ пины = тишина. У меня скоро взрыв мозга будет. Где я лажаюсь?
Re: MESA 5i25
Добавлено: 14 янв 2013, 19:04
Nick
Скинь свой hal и ini. В какой разъем тыркаешься?
Re: MESA 5i25
Добавлено: 14 янв 2013, 19:08
nkp
de-signer писал(а):Кнопочка проверка/настройка оси.
а может позапускать с созданного конфига
может тест подглючивает...
Re: MESA 5i25
Добавлено: 14 янв 2013, 19:28
de-signer
Тыркаюсь в TB2 на 7i76
hal:
Код: Выделить всё
# Generated by PNCconf at Mon Jan 14 19:51:35 2013
# Все изменения в этом файле будут перезаписаны
# 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_pci config=" num_encoders=2 num_pwmgens=0 num_3pwmgens=0 num_stepgens=10 sserial_port_0=0000xxxx "
setp hm2_5i25.0.watchdog.timeout_ns 10000000
addf hm2_5i25.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf hm2_5i25.0.write servo-thread
addf hm2_5i25.0.pet_watchdog servo-thread
# external output signals
# external input signals
#*******************
# AXIS X
#*******************
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_5i25.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_5i25.0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_5i25.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_5i25.0.stepgen.00.position-scale [AXIS_0]STEP_SCALE
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 0
setp hm2_5i25.0.stepgen.00.maxaccel 2.5
setp hm2_5i25.0.stepgen.00.maxvel 2.1
net x-pos-fb axis.0.motor-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
net x-pos-cmd axis.0.motor-pos-cmd => hm2_5i25.0.stepgen.00.position-cmd
net x-enable axis.0.amp-enable-out => hm2_5i25.0.stepgen.00.enable
# ---setup home / limit switch signals---
net x-home-sw => 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_5i25.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_5i25.0.stepgen.01.position-scale [AXIS_1]STEP_SCALE
setp hm2_5i25.0.stepgen.01.step_type 0
setp hm2_5i25.0.stepgen.01.control-type 0
setp hm2_5i25.0.stepgen.01.maxaccel 2.5
setp hm2_5i25.0.stepgen.01.maxvel 2.1
net y-pos-fb axis.1.motor-pos-fb <= hm2_5i25.0.stepgen.01.position-fb
net y-pos-cmd axis.1.motor-pos-cmd => hm2_5i25.0.stepgen.01.position-cmd
net y-enable axis.1.amp-enable-out => hm2_5i25.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_5i25.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_5i25.0.stepgen.02.dirhold [AXIS_2]DIRHOLD
setp hm2_5i25.0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_5i25.0.stepgen.02.stepspace [AXIS_2]STEPSPACE
setp hm2_5i25.0.stepgen.02.position-scale [AXIS_2]STEP_SCALE
setp hm2_5i25.0.stepgen.02.step_type 0
setp hm2_5i25.0.stepgen.02.control-type 0
setp hm2_5i25.0.stepgen.02.maxaccel 2.5
setp hm2_5i25.0.stepgen.02.maxvel 2.1
net z-pos-fb axis.2.motor-pos-fb <= hm2_5i25.0.stepgen.02.position-fb
net z-pos-cmd axis.2.motor-pos-cmd => hm2_5i25.0.stepgen.02.position-cmd
net z-enable axis.2.amp-enable-out => hm2_5i25.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
#*******************
# ---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
# ---Setup spindle at speed signals---
sets spindle-at-speed true
#******************************
# connect miscellaneous signals
#******************************
# ---HALUI signals---
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 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---
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
net estop-out => 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
ini:
Код: Выделить всё
# Generated by PNCconf at Mon Jan 14 19:51:35 2013
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again
[EMC]
MACHINE = mill3
DEBUG = 0
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/user/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.250000
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
GEOMETRY = xyz
[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
SERVO_PERIOD = 1000000
[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_pci
# BOARD0=5i25
[HAL]
HALUI = halui
HALFILE = mill3.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal
[HALUI]
[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 0.17
MAX_LINEAR_VELOCITY = 1.67
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 1.66666666667
MAX_ACCELERATION = 2.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 20.0
MIN_LIMIT = -0.01
MAX_LIMIT = 8.0
HOME_OFFSET = 0.0
#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 1.66666666667
MAX_ACCELERATION = 2.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 20.0
MIN_LIMIT = -0.01
MAX_LIMIT = 8.0
HOME_OFFSET = 0.0
#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 1.66666666667
MAX_ACCELERATION = 2.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
STEP_SCALE = 20.0
MIN_LIMIT = -0.01
MAX_LIMIT = 8.0
HOME_OFFSET = 0.0
#********************
# Spindle
#********************
[SPINDLE_9]
Re: MESA 5i25
Добавлено: 14 янв 2013, 19:33
de-signer
Кстати. Хвост, соединяющий 5i25 и 7i76 был куплен отдельно. Проверка тестером показала, что все проводки разведены 1:1, т.е. 1 пин на одном разъёме звонится с 1-ым пином на втором разъёме, 2-ой со 2-ым и т.д.
Re: MESA 5i25
Добавлено: 14 янв 2013, 19:34
de-signer
nkp писал(а):de-signer писал(а):Кнопочка проверка/настройка оси.
а может позапускать с созданного конфига
может тест подглючивает...
Проверил. Результат тот же.
Re: MESA 5i25
Добавлено: 14 янв 2013, 19:53
de-signer
Ещё сегодня добавлю:
Плата успешно детектируется вот отрывок из messages от руки:
hm2_pci: loading MESA AnyIO HostMot2 driver version 0.7
hm2_pci: 0000:01:0a.0 PCI INT A ... (пропускаю) ... -> IRQ 22
hm2_pci: discovered 5i25 at 0000:01:0a.0
hm2/hm2_5i25.0: Smart Serial Firmware Version 35
hm2/hm2_5i25.0: 34 I/O Pins used:
... список пинов
Re: MESA 5i25
Добавлено: 14 янв 2013, 20:02
nkp
переключатели W1 и W2 на плате 5i25 в верхнем положении ???
Re: MESA 5i25
Добавлено: 15 янв 2013, 09:46
Nick
А что пишет halcmd show ?
Честно говоря не пробовал подключать 7i76, не знаю как должны определяться пины stepgen, как будто они на 5i25 или как с 7i77, как hm2_5i25.0.7i76...
Запусти LinuxCNC со своей конфигурацией и выполни
halcmd show > out.txt и потом добавь сюда получившийся файл.
Re: MESA 5i25
Добавлено: 15 янв 2013, 12:44
zilk
de-signer писал(а): Где я лажаюсь?
Может быть здесь? У Вас за один шаг двигателя максимально допустимая ошибка FERROR превышается в 10 раз...
de-signer писал(а):
FERROR = 0.005
MIN_FERROR = 0.0005
STEP_SCALE = 20.0
А дальше:
FERROR is the maximum allowable following error, in machine units. If the difference between commanded and sensed position exceeds this amount, the controller disables servo calculations, sets all the outputs to 0.0, and disables the amplifiers.
Re: MESA 5i25
Добавлено: 15 янв 2013, 14:04
Lexxa
ferror 10 делай
Re: MESA 5i25
Добавлено: 15 янв 2013, 19:01
de-signer
Вот вывод halcmd show, если понадобится
Код: Выделить всё
Loaded HAL Components:
ID Type Name PID State
17 User halcmd2568 2568 ready
15 User axisui 2538 ready
14 User hal_manualtoolchange 2527 ready
12 RT hm2_pci ready
11 RT hostmot2 ready
10 RT probe_parport ready
9 RT motmod ready
8 RT trivkins ready
7 User halui 2516 ready
5 User iocontrol 2514 ready
Component Pins:
Owner Type Dir Value Name
9 bit OUT TRUE axis.0.active
9 bit OUT FALSE axis.0.amp-enable-out ==> x-enable
9 bit IN FALSE axis.0.amp-fault-in
9 float OUT 0 axis.0.backlash-corr
9 float OUT 0 axis.0.backlash-filt
9 float OUT 0 axis.0.backlash-vel
9 float OUT 0 axis.0.coarse-pos-cmd
9 bit OUT FALSE axis.0.error
9 float OUT 0 axis.0.f-error
9 float OUT 0.0005 axis.0.f-error-lim
9 bit OUT FALSE axis.0.f-errored
9 bit OUT FALSE axis.0.faulted
9 float OUT 0 axis.0.free-pos-cmd
9 bit OUT FALSE axis.0.free-tp-enable
9 float OUT 0 axis.0.free-vel-lim
9 bit IN FALSE axis.0.home-sw-in <== x-home-sw
9 bit OUT FALSE axis.0.homed
9 bit OUT FALSE axis.0.homing
9 bit OUT TRUE axis.0.in-position
9 bit I/O FALSE axis.0.index-enable
9 s32 IN 0 axis.0.jog-counts
9 bit IN FALSE axis.0.jog-enable
9 float IN 0 axis.0.jog-scale
9 bit IN FALSE axis.0.jog-vel-mode
9 float OUT 0 axis.0.joint-pos-cmd
9 float OUT 0 axis.0.joint-pos-fb
9 float OUT 0 axis.0.joint-vel-cmd
9 bit OUT FALSE axis.0.kb-jog-active
9 float OUT 0 axis.0.motor-offset
9 float OUT 0 axis.0.motor-pos-cmd ==> x-pos-cmd
9 float IN 0 axis.0.motor-pos-fb <== x-pos-fb
9 bit OUT TRUE axis.0.neg-hard-limit
9 bit IN TRUE axis.0.neg-lim-sw-in <== both-x
9 bit OUT TRUE axis.0.pos-hard-limit
9 bit IN TRUE axis.0.pos-lim-sw-in <== both-x
9 bit OUT FALSE axis.0.wheel-jog-active
9 bit OUT TRUE axis.1.active
9 bit OUT FALSE axis.1.amp-enable-out ==> y-enable
9 bit IN FALSE axis.1.amp-fault-in
9 float OUT 0 axis.1.backlash-corr
9 float OUT 0 axis.1.backlash-filt
9 float OUT 0 axis.1.backlash-vel
9 float OUT 0 axis.1.coarse-pos-cmd
9 bit OUT FALSE axis.1.error
9 float OUT 0 axis.1.f-error
9 float OUT 0.0005 axis.1.f-error-lim
9 bit OUT FALSE axis.1.f-errored
9 bit OUT FALSE axis.1.faulted
9 float OUT 0 axis.1.free-pos-cmd
9 bit OUT FALSE axis.1.free-tp-enable
9 float OUT 0 axis.1.free-vel-lim
9 bit IN FALSE axis.1.home-sw-in <== y-home-sw
9 bit OUT FALSE axis.1.homed
9 bit OUT FALSE axis.1.homing
9 bit OUT TRUE axis.1.in-position
9 bit I/O FALSE axis.1.index-enable
9 s32 IN 0 axis.1.jog-counts
9 bit IN FALSE axis.1.jog-enable
9 float IN 0 axis.1.jog-scale
9 bit IN FALSE axis.1.jog-vel-mode
9 float OUT 0 axis.1.joint-pos-cmd
9 float OUT 0 axis.1.joint-pos-fb
9 float OUT 0 axis.1.joint-vel-cmd
9 bit OUT FALSE axis.1.kb-jog-active
9 float OUT 0 axis.1.motor-offset
9 float OUT 0 axis.1.motor-pos-cmd ==> y-pos-cmd
9 float IN 0 axis.1.motor-pos-fb <== y-pos-fb
9 bit OUT FALSE axis.1.neg-hard-limit
9 bit IN FALSE axis.1.neg-lim-sw-in <== y-neg-limit
9 bit OUT FALSE axis.1.pos-hard-limit
9 bit IN FALSE axis.1.pos-lim-sw-in <== y-pos-limit
9 bit OUT FALSE axis.1.wheel-jog-active
9 bit OUT TRUE axis.2.active
9 bit OUT FALSE axis.2.amp-enable-out ==> z-enable
9 bit IN FALSE axis.2.amp-fault-in
9 float OUT 0 axis.2.backlash-corr
9 float OUT 0 axis.2.backlash-filt
9 float OUT 0 axis.2.backlash-vel
9 float OUT 0 axis.2.coarse-pos-cmd
9 bit OUT FALSE axis.2.error
9 float OUT 0 axis.2.f-error
9 float OUT 0.0005 axis.2.f-error-lim
9 bit OUT FALSE axis.2.f-errored
9 bit OUT FALSE axis.2.faulted
9 float OUT 0 axis.2.free-pos-cmd
9 bit OUT FALSE axis.2.free-tp-enable
9 float OUT 0 axis.2.free-vel-lim
9 bit IN FALSE axis.2.home-sw-in <== z-home-sw
9 bit OUT FALSE axis.2.homed
9 bit OUT FALSE axis.2.homing
9 bit OUT TRUE axis.2.in-position
9 bit I/O FALSE axis.2.index-enable
9 s32 IN 0 axis.2.jog-counts
9 bit IN FALSE axis.2.jog-enable
9 float IN 0 axis.2.jog-scale
9 bit IN FALSE axis.2.jog-vel-mode
9 float OUT 0 axis.2.joint-pos-cmd
9 float OUT 0 axis.2.joint-pos-fb
9 float OUT 0 axis.2.joint-vel-cmd
9 bit OUT FALSE axis.2.kb-jog-active
9 float OUT 0 axis.2.motor-offset
9 float OUT 0 axis.2.motor-pos-cmd ==> z-pos-cmd
9 float IN 0 axis.2.motor-pos-fb <== z-pos-fb
9 bit OUT FALSE axis.2.neg-hard-limit
9 bit IN FALSE axis.2.neg-lim-sw-in <== z-neg-limit
9 bit OUT FALSE axis.2.pos-hard-limit
9 bit IN FALSE axis.2.pos-lim-sw-in <== z-pos-limit
9 bit OUT FALSE axis.2.wheel-jog-active
15 bit OUT FALSE axisui.jog.a
15 bit OUT FALSE axisui.jog.b
15 bit OUT FALSE axisui.jog.c
15 float OUT 0 axisui.jog.increment
15 bit OUT FALSE axisui.jog.u
15 bit OUT FALSE axisui.jog.v
15 bit OUT FALSE axisui.jog.w
15 bit OUT TRUE axisui.jog.x
15 bit OUT FALSE axisui.jog.y
15 bit OUT FALSE axisui.jog.z
15 bit IN FALSE axisui.notifications-clear
15 bit IN FALSE axisui.notifications-clear-error
15 bit IN FALSE axisui.notifications-clear-info
15 bit IN FALSE axisui.set-manual-mode
14 bit IN FALSE hal_manualtoolchange.change <== tool-change-request
14 bit OUT FALSE hal_manualtoolchange.changed ==> tool-change-confirmed
14 s32 IN 0 hal_manualtoolchange.number <== tool-number
7 bit IN FALSE halui.abort
7 float OUT 0 halui.axis.0.pos-commanded
7 float OUT 0 halui.axis.0.pos-feedback
7 float OUT 0 halui.axis.0.pos-relative
7 float OUT 0 halui.axis.1.pos-commanded
7 float OUT 0 halui.axis.1.pos-feedback
7 float OUT 0 halui.axis.1.pos-relative
7 float OUT 0 halui.axis.2.pos-commanded
7 float OUT 0 halui.axis.2.pos-feedback
7 float OUT 0 halui.axis.2.pos-relative
7 float OUT 0 halui.axis.3.pos-commanded
7 float OUT 0 halui.axis.3.pos-feedback
7 float OUT 0 halui.axis.3.pos-relative
7 float OUT 0 halui.axis.4.pos-commanded
7 float OUT 0 halui.axis.4.pos-feedback
7 float OUT 0 halui.axis.4.pos-relative
7 float OUT 0 halui.axis.5.pos-commanded
7 float OUT 0 halui.axis.5.pos-feedback
7 float OUT 0 halui.axis.5.pos-relative
7 float OUT 0 halui.axis.6.pos-commanded
7 float OUT 0 halui.axis.6.pos-feedback
7 float OUT 0 halui.axis.6.pos-relative
7 float OUT 0 halui.axis.7.pos-commanded
7 float OUT 0 halui.axis.7.pos-feedback
7 float OUT 0 halui.axis.7.pos-relative
7 float OUT 0 halui.axis.8.pos-commanded
7 float OUT 0 halui.axis.8.pos-feedback
7 float OUT 0 halui.axis.8.pos-relative
7 bit IN FALSE halui.estop.activate
7 bit OUT FALSE halui.estop.is-activated
7 bit IN FALSE halui.estop.reset
7 bit IN TRUE halui.feed-override.count-enable
7 s32 IN 0 halui.feed-override.counts
7 bit IN FALSE halui.feed-override.decrease
7 bit IN FALSE halui.feed-override.direct-value
7 bit IN FALSE halui.feed-override.increase
7 float IN 0.1 halui.feed-override.scale
7 float OUT 1 halui.feed-override.value
7 bit OUT FALSE halui.flood.is-on
7 bit IN FALSE halui.flood.off
7 bit IN FALSE halui.flood.on
7 float IN 0.2 halui.jog-deadband
7 float IN 0 halui.jog-speed <== jog-speed
7 float IN 0 halui.jog.0.analog <== jog-x-analog
7 float IN 0 halui.jog.0.increment
7 bit IN FALSE halui.jog.0.increment-minus
7 bit IN FALSE halui.jog.0.increment-plus
7 bit IN FALSE halui.jog.0.minus <== jog-x-neg
7 bit IN FALSE halui.jog.0.plus <== jog-x-pos
7 float IN 0 halui.jog.1.analog <== jog-y-analog
7 float IN 0 halui.jog.1.increment
7 bit IN FALSE halui.jog.1.increment-minus
7 bit IN FALSE halui.jog.1.increment-plus
7 bit IN FALSE halui.jog.1.minus <== jog-y-neg
7 bit IN FALSE halui.jog.1.plus <== jog-y-pos
7 float IN 0 halui.jog.2.analog <== jog-z-analog
7 float IN 0 halui.jog.2.increment
7 bit IN FALSE halui.jog.2.increment-minus
7 bit IN FALSE halui.jog.2.increment-plus
7 bit IN FALSE halui.jog.2.minus <== jog-z-neg
7 bit IN FALSE halui.jog.2.plus <== jog-z-pos
7 float IN 0 halui.jog.selected.increment
7 bit IN FALSE halui.jog.selected.increment-minus
7 bit IN FALSE halui.jog.selected.increment-plus
7 bit IN FALSE halui.jog.selected.minus <== jog-selected-neg
7 bit IN FALSE halui.jog.selected.plus <== jog-selected-pos
7 bit OUT FALSE halui.joint.0.has-fault
7 bit IN FALSE halui.joint.0.home
7 bit OUT FALSE halui.joint.0.is-homed ==> x-is-homed
7 bit OUT FALSE halui.joint.0.is-selected
7 bit OUT TRUE halui.joint.0.on-hard-max-limit
7 bit OUT TRUE halui.joint.0.on-hard-min-limit
7 bit OUT FALSE halui.joint.0.on-soft-max-limit
7 bit OUT FALSE halui.joint.0.on-soft-min-limit
7 bit IN FALSE halui.joint.0.select <== joint-select-a
7 bit IN FALSE halui.joint.0.unhome
7 bit OUT FALSE halui.joint.1.has-fault
7 bit IN FALSE halui.joint.1.home
7 bit OUT FALSE halui.joint.1.is-homed ==> y-is-homed
7 bit OUT FALSE halui.joint.1.is-selected
7 bit OUT FALSE halui.joint.1.on-hard-max-limit
7 bit OUT FALSE halui.joint.1.on-hard-min-limit
7 bit OUT FALSE halui.joint.1.on-soft-max-limit
7 bit OUT FALSE halui.joint.1.on-soft-min-limit
7 bit IN FALSE halui.joint.1.select <== joint-select-b
7 bit IN FALSE halui.joint.1.unhome
7 bit OUT FALSE halui.joint.2.has-fault
7 bit IN FALSE halui.joint.2.home
7 bit OUT FALSE halui.joint.2.is-homed ==> z-is-homed
7 bit OUT FALSE halui.joint.2.is-selected
7 bit OUT FALSE halui.joint.2.on-hard-max-limit
7 bit OUT FALSE halui.joint.2.on-hard-min-limit
7 bit OUT FALSE halui.joint.2.on-soft-max-limit
7 bit OUT FALSE halui.joint.2.on-soft-min-limit
7 bit IN FALSE halui.joint.2.select <== joint-select-c
7 bit IN FALSE halui.joint.2.unhome
7 u32 OUT 0x00000000 halui.joint.selected
7 bit OUT FALSE halui.joint.selected.has-fault
7 bit IN FALSE halui.joint.selected.home
7 bit OUT FALSE halui.joint.selected.is_homed
7 bit OUT TRUE halui.joint.selected.on-hard-max-limit
7 bit OUT TRUE halui.joint.selected.on-hard-min-limit
7 bit OUT FALSE halui.joint.selected.on-soft-limit
7 bit OUT FALSE halui.joint.selected.on-soft-min-limit
7 bit IN FALSE halui.joint.selected.unhome
7 bit OUT FALSE halui.lube.is-on
7 bit IN FALSE halui.lube.off
7 bit IN FALSE halui.lube.on
7 bit OUT FALSE halui.machine.is-on ==> machine-is-on
7 bit IN FALSE halui.machine.off
7 bit IN FALSE halui.machine.on
7 bit IN TRUE halui.max-velocity.count-enable
7 s32 IN 0 halui.max-velocity.counts
7 bit IN FALSE halui.max-velocity.decrease
7 bit IN FALSE halui.max-velocity.direct-value
7 bit IN FALSE halui.max-velocity.increase
7 float IN 0 halui.max-velocity.scale
7 float OUT 1.666667 halui.max-velocity.value
7 bit OUT FALSE halui.mist.is-on
7 bit IN FALSE halui.mist.off
7 bit IN FALSE halui.mist.on
7 bit IN FALSE halui.mode.auto
7 bit OUT TRUE halui.mode.is-auto
7 bit OUT TRUE halui.mode.is-joint
7 bit OUT FALSE halui.mode.is-manual
7 bit OUT FALSE halui.mode.is-mdi ==> MDI-mode
7 bit OUT FALSE halui.mode.is-teleop
7 bit IN FALSE halui.mode.joint
7 bit IN FALSE halui.mode.manual
7 bit IN FALSE halui.mode.mdi
7 bit IN FALSE halui.mode.teleop
7 bit OUT TRUE halui.program.block-delete.is-on
7 bit IN FALSE halui.program.block-delete.off
7 bit IN FALSE halui.program.block-delete.on
7 bit OUT TRUE halui.program.is-idle
7 bit OUT FALSE halui.program.is-paused
7 bit OUT FALSE halui.program.is-running
7 bit OUT TRUE halui.program.optional-stop.is-on
7 bit IN FALSE halui.program.optional-stop.off
7 bit IN FALSE halui.program.optional-stop.on
7 bit IN FALSE halui.program.pause
7 bit IN FALSE halui.program.resume
7 bit IN FALSE halui.program.run
7 bit IN FALSE halui.program.step
7 bit IN FALSE halui.program.stop
7 bit IN TRUE halui.spindle-override.count-enable
7 s32 IN 0 halui.spindle-override.counts
7 bit IN FALSE halui.spindle-override.decrease
7 bit IN FALSE halui.spindle-override.direct-value
7 bit IN FALSE halui.spindle-override.increase
7 float IN 0.1 halui.spindle-override.scale
7 float OUT 1 halui.spindle-override.value
7 bit OUT TRUE halui.spindle.brake-is-on
7 bit IN FALSE halui.spindle.brake-off
7 bit IN FALSE halui.spindle.brake-on
7 bit IN FALSE halui.spindle.decrease
7 bit IN FALSE halui.spindle.forward <== spindle-manual-cw
7 bit IN FALSE halui.spindle.increase
7 bit OUT FALSE halui.spindle.is-on
7 bit IN FALSE halui.spindle.reverse <== spindle-manual-ccw
7 bit OUT FALSE halui.spindle.runs-backward
7 bit OUT FALSE halui.spindle.runs-forward
7 bit IN FALSE halui.spindle.start
7 bit IN FALSE halui.spindle.stop <== spindle-manual-stop
7 float OUT 0 halui.tool.length_offset.a
7 float OUT 0 halui.tool.length_offset.b
7 float OUT 0 halui.tool.length_offset.c
7 float OUT 0 halui.tool.length_offset.u
7 float OUT 0 halui.tool.length_offset.v
7 float OUT 0 halui.tool.length_offset.w
7 float OUT 0 halui.tool.length_offset.x
7 float OUT 0 halui.tool.length_offset.y
7 float OUT 0 halui.tool.length_offset.z
7 u32 OUT 0x00000000 halui.tool.number
12 bit OUT FALSE hm2_5i25.0.gpio.000.in
12 bit OUT TRUE hm2_5i25.0.gpio.000.in_not
12 bit OUT FALSE hm2_5i25.0.gpio.001.in
12 bit OUT TRUE hm2_5i25.0.gpio.001.in_not
12 bit OUT FALSE hm2_5i25.0.gpio.002.in
12 bit OUT TRUE hm2_5i25.0.gpio.002.in_not
12 bit OUT FALSE hm2_5i25.0.gpio.003.in
12 bit OUT TRUE hm2_5i25.0.gpio.003.in_not
12 bit OUT FALSE hm2_5i25.0.gpio.004.in
12 bit OUT TRUE hm2_5i25.0.gpio.004.in_not
12 bit OUT FALSE hm2_5i25.0.gpio.005.in
12 bit OUT TRUE hm2_5i25.0.gpio.005.in_not
12 bit OUT TRUE hm2_5i25.0.gpio.006.in ==> both-x
12 bit OUT FALSE hm2_5i25.0.gpio.006.in_not
12 bit IN FALSE hm2_5i25.0.gpio.006.out
12 bit OUT TRUE hm2_5i25.0.gpio.007.in
12 bit OUT FALSE hm2_5i25.0.gpio.007.in_not
12 bit IN FALSE hm2_5i25.0.gpio.007.out
12 bit OUT TRUE hm2_5i25.0.gpio.008.in
12 bit OUT FALSE hm2_5i25.0.gpio.008.in_not
12 bit IN FALSE hm2_5i25.0.gpio.008.out
12 bit OUT TRUE hm2_5i25.0.gpio.009.in
12 bit OUT FALSE hm2_5i25.0.gpio.009.in_not
12 bit IN FALSE hm2_5i25.0.gpio.009.out
12 bit OUT TRUE hm2_5i25.0.gpio.010.in
12 bit OUT FALSE hm2_5i25.0.gpio.010.in_not
12 bit IN FALSE hm2_5i25.0.gpio.010.out
12 bit OUT FALSE hm2_5i25.0.gpio.011.in
12 bit OUT TRUE hm2_5i25.0.gpio.011.in_not
12 bit IN FALSE hm2_5i25.0.gpio.011.out
12 bit OUT TRUE hm2_5i25.0.gpio.012.in
12 bit OUT FALSE hm2_5i25.0.gpio.012.in_not
12 bit IN FALSE hm2_5i25.0.gpio.012.out
12 bit OUT TRUE hm2_5i25.0.gpio.013.in
12 bit OUT FALSE hm2_5i25.0.gpio.013.in_not
12 bit IN FALSE hm2_5i25.0.gpio.013.out
12 bit OUT FALSE hm2_5i25.0.gpio.014.in
12 bit OUT TRUE hm2_5i25.0.gpio.014.in_not
12 bit IN FALSE hm2_5i25.0.gpio.014.out
12 bit OUT FALSE hm2_5i25.0.gpio.015.in
12 bit OUT TRUE hm2_5i25.0.gpio.015.in_not
12 bit IN FALSE hm2_5i25.0.gpio.015.out
12 bit OUT FALSE hm2_5i25.0.gpio.016.in
12 bit OUT TRUE hm2_5i25.0.gpio.016.in_not
12 bit IN FALSE hm2_5i25.0.gpio.016.out
12 bit OUT TRUE hm2_5i25.0.gpio.017.in
12 bit OUT FALSE hm2_5i25.0.gpio.017.in_not
12 bit IN FALSE hm2_5i25.0.gpio.017.out
12 bit OUT TRUE hm2_5i25.0.gpio.018.in
12 bit OUT FALSE hm2_5i25.0.gpio.018.in_not
12 bit IN FALSE hm2_5i25.0.gpio.018.out
12 bit OUT TRUE hm2_5i25.0.gpio.019.in
12 bit OUT FALSE hm2_5i25.0.gpio.019.in_not
12 bit IN FALSE hm2_5i25.0.gpio.019.out
12 bit OUT TRUE hm2_5i25.0.gpio.020.in
12 bit OUT FALSE hm2_5i25.0.gpio.020.in_not
12 bit IN FALSE hm2_5i25.0.gpio.020.out
12 bit OUT TRUE hm2_5i25.0.gpio.021.in
12 bit OUT FALSE hm2_5i25.0.gpio.021.in_not
12 bit IN FALSE hm2_5i25.0.gpio.021.out
12 bit OUT TRUE hm2_5i25.0.gpio.022.in
12 bit OUT FALSE hm2_5i25.0.gpio.022.in_not
12 bit IN FALSE hm2_5i25.0.gpio.022.out
12 bit OUT TRUE hm2_5i25.0.gpio.023.in
12 bit OUT FALSE hm2_5i25.0.gpio.023.in_not
12 bit IN FALSE hm2_5i25.0.gpio.023.out
12 bit OUT TRUE hm2_5i25.0.gpio.024.in
12 bit OUT FALSE hm2_5i25.0.gpio.024.in_not
12 bit IN FALSE hm2_5i25.0.gpio.024.out
12 bit OUT TRUE hm2_5i25.0.gpio.025.in
12 bit OUT FALSE hm2_5i25.0.gpio.025.in_not
12 bit IN FALSE hm2_5i25.0.gpio.025.out
12 bit OUT TRUE hm2_5i25.0.gpio.026.in
12 bit OUT FALSE hm2_5i25.0.gpio.026.in_not
12 bit IN FALSE hm2_5i25.0.gpio.026.out
12 bit OUT TRUE hm2_5i25.0.gpio.027.in
12 bit OUT FALSE hm2_5i25.0.gpio.027.in_not
12 bit IN FALSE hm2_5i25.0.gpio.027.out
12 bit OUT TRUE hm2_5i25.0.gpio.028.in
12 bit OUT FALSE hm2_5i25.0.gpio.028.in_not
12 bit IN FALSE hm2_5i25.0.gpio.028.out
12 bit OUT TRUE hm2_5i25.0.gpio.029.in
12 bit OUT FALSE hm2_5i25.0.gpio.029.in_not
12 bit IN FALSE hm2_5i25.0.gpio.029.out
12 bit OUT TRUE hm2_5i25.0.gpio.030.in
12 bit OUT FALSE hm2_5i25.0.gpio.030.in_not
12 bit IN FALSE hm2_5i25.0.gpio.030.out
12 bit OUT TRUE hm2_5i25.0.gpio.031.in
12 bit OUT FALSE hm2_5i25.0.gpio.031.in_not
12 bit IN FALSE hm2_5i25.0.gpio.031.out
12 bit OUT TRUE hm2_5i25.0.gpio.032.in
12 bit OUT FALSE hm2_5i25.0.gpio.032.in_not
12 bit IN FALSE hm2_5i25.0.gpio.032.out
12 bit OUT TRUE hm2_5i25.0.gpio.033.in
12 bit OUT FALSE hm2_5i25.0.gpio.033.in_not
12 bit IN FALSE hm2_5i25.0.gpio.033.out
12 bit IN FALSE hm2_5i25.0.led.CR01
12 bit IN FALSE hm2_5i25.0.led.CR02
12 bit IN FALSE hm2_5i25.0.stepgen.00.control-type
12 s32 OUT 0 hm2_5i25.0.stepgen.00.counts
12 float OUT 0 hm2_5i25.0.stepgen.00.dbg_err_at_match
12 float OUT 0 hm2_5i25.0.stepgen.00.dbg_ff_vel
12 float OUT 0 hm2_5i25.0.stepgen.00.dbg_pos_minus_prev_
12 float OUT 0 hm2_5i25.0.stepgen.00.dbg_s_to_match
12 s32 OUT 0 hm2_5i25.0.stepgen.00.dbg_step_rate
12 float OUT 0 hm2_5i25.0.stepgen.00.dbg_vel_error
12 bit IN FALSE hm2_5i25.0.stepgen.00.enable <== x-enable
12 float IN 0 hm2_5i25.0.stepgen.00.position-cmd <== x-pos-cmd
12 float OUT 0 hm2_5i25.0.stepgen.00.position-fb ==> x-pos-fb
12 float IN 0 hm2_5i25.0.stepgen.00.velocity-cmd
12 float OUT 0 hm2_5i25.0.stepgen.00.velocity-fb
12 bit IN FALSE hm2_5i25.0.stepgen.01.control-type
12 s32 OUT 0 hm2_5i25.0.stepgen.01.counts
12 float OUT 0 hm2_5i25.0.stepgen.01.dbg_err_at_match
12 float OUT 0 hm2_5i25.0.stepgen.01.dbg_ff_vel
12 float OUT 0 hm2_5i25.0.stepgen.01.dbg_pos_minus_prev_
12 float OUT 0 hm2_5i25.0.stepgen.01.dbg_s_to_match
12 s32 OUT 0 hm2_5i25.0.stepgen.01.dbg_step_rate
12 float OUT 0 hm2_5i25.0.stepgen.01.dbg_vel_error
12 bit IN FALSE hm2_5i25.0.stepgen.01.enable <== y-enable
12 float IN 0 hm2_5i25.0.stepgen.01.position-cmd <== y-pos-cmd
12 float OUT 0 hm2_5i25.0.stepgen.01.position-fb ==> y-pos-fb
12 float IN 0 hm2_5i25.0.stepgen.01.velocity-cmd
12 float OUT 0 hm2_5i25.0.stepgen.01.velocity-fb
12 bit IN FALSE hm2_5i25.0.stepgen.02.control-type
12 s32 OUT 0 hm2_5i25.0.stepgen.02.counts
12 float OUT 0 hm2_5i25.0.stepgen.02.dbg_err_at_match
12 float OUT 0 hm2_5i25.0.stepgen.02.dbg_ff_vel
12 float OUT 0 hm2_5i25.0.stepgen.02.dbg_pos_minus_prev_
12 float OUT 0 hm2_5i25.0.stepgen.02.dbg_s_to_match
12 s32 OUT 0 hm2_5i25.0.stepgen.02.dbg_step_rate
12 float OUT 0 hm2_5i25.0.stepgen.02.dbg_vel_error
12 bit IN FALSE hm2_5i25.0.stepgen.02.enable <== z-enable
12 float IN 0 hm2_5i25.0.stepgen.02.position-cmd <== z-pos-cmd
12 float OUT 0 hm2_5i25.0.stepgen.02.position-fb ==> z-pos-fb
12 float IN 0 hm2_5i25.0.stepgen.02.velocity-cmd
12 float OUT 0 hm2_5i25.0.stepgen.02.velocity-fb
12 bit I/O FALSE hm2_5i25.0.watchdog.has_bit
5 bit OUT FALSE iocontrol.0.coolant-flood ==> coolant-flood
5 bit OUT FALSE iocontrol.0.coolant-mist ==> coolant-mist
5 bit IN TRUE iocontrol.0.emc-enable-in <== estop-out
5 bit OUT FALSE iocontrol.0.lube
5 bit IN FALSE iocontrol.0.lube_level
5 bit OUT FALSE iocontrol.0.tool-change ==> tool-change-request
5 bit IN FALSE iocontrol.0.tool-changed <== tool-change-confirmed
5 s32 OUT 0 iocontrol.0.tool-number
5 s32 OUT 0 iocontrol.0.tool-prep-number ==> tool-number
5 s32 OUT 0 iocontrol.0.tool-prep-pocket
5 bit OUT FALSE iocontrol.0.tool-prepare ==> tool-prepare-loopback
5 bit IN FALSE iocontrol.0.tool-prepared <== tool-prepare-loopback
5 bit OUT TRUE iocontrol.0.user-enable-out ==> estop-out
5 bit OUT FALSE iocontrol.0.user-request-enable
9 float IN 1 motion.adaptive-feed
9 float IN 0 motion.analog-in-00
9 float IN 0 motion.analog-in-01
9 float IN 0 motion.analog-in-02
9 float IN 0 motion.analog-in-03
9 float OUT 0 motion.analog-out-00
9 float OUT 0 motion.analog-out-01
9 float OUT 0 motion.analog-out-02
9 float OUT 0 motion.analog-out-03
9 bit OUT FALSE motion.coord-error
9 bit OUT TRUE motion.coord-mode
9 float OUT 0 motion.current-vel
9 bit IN FALSE motion.digital-in-00
9 bit IN FALSE motion.digital-in-01
9 bit IN FALSE motion.digital-in-02
9 bit IN FALSE motion.digital-in-03
9 bit OUT FALSE motion.digital-out-00
9 bit OUT FALSE motion.digital-out-01
9 bit OUT FALSE motion.digital-out-02
9 bit OUT FALSE motion.digital-out-03
9 float OUT 0 motion.distance-to-go
9 bit IN TRUE motion.enable
9 bit IN FALSE motion.feed-hold
9 bit OUT TRUE motion.in-position ==> in-position
9 bit IN FALSE motion.motion-enabled <== machine-is-enabled
9 bit OUT FALSE motion.on-soft-limit
9 bit IN FALSE motion.probe-input <== probe-in
9 s32 OUT 0 motion.program-line
9 float OUT 0 motion.requested-vel
9 bit IN TRUE motion.spindle-at-speed <== spindle-at-speed
9 bit OUT TRUE motion.spindle-brake ==> spindle-brake
9 bit OUT FALSE motion.spindle-forward ==> spindle-cw
9 bit I/O FALSE motion.spindle-index-enable <=> spindle-index-enable
9 bit OUT FALSE motion.spindle-on ==> spindle-enable
9 bit OUT FALSE motion.spindle-reverse ==> spindle-ccw
9 float IN 0 motion.spindle-revs <== spindle-revs
9 float OUT 0 motion.spindle-speed-cmd-rps
9 float IN 0 motion.spindle-speed-in <== spindle-vel-fb
9 float OUT 0 motion.spindle-speed-out ==> spindle-vel-cmd
9 float OUT 0 motion.spindle-speed-out-rps ==> spindle-vel-cmd-rps
9 bit OUT FALSE motion.teleop-mode
9 float OUT 0 motion.tooloffset.a
9 float OUT 0 motion.tooloffset.b
9 float OUT 0 motion.tooloffset.c
9 float OUT 0 motion.tooloffset.u
9 float OUT 0 motion.tooloffset.v
9 float OUT 0 motion.tooloffset.w
9 float OUT 0 motion.tooloffset.x
9 float OUT 0 motion.tooloffset.y
9 float OUT 0 motion.tooloffset.z
Pin Aliases:
Alias Original Name
Signals:
Type Value Name (linked to)
bit FALSE MDI-mode
<== halui.mode.is-mdi
bit TRUE both-x
==> axis.0.neg-lim-sw-in
==> axis.0.pos-lim-sw-in
<== hm2_5i25.0.gpio.006.in
bit FALSE coolant-flood
<== iocontrol.0.coolant-flood
bit FALSE coolant-mist
<== iocontrol.0.coolant-mist
bit TRUE estop-out
==> iocontrol.0.emc-enable-in
<== iocontrol.0.user-enable-out
bit TRUE in-position
<== motion.in-position
bit FALSE jog-selected-neg
==> halui.jog.selected.minus
bit FALSE jog-selected-pos
==> halui.jog.selected.plus
float 0 jog-speed
==> halui.jog-speed
float 0 jog-x-analog
==> halui.jog.0.analog
bit FALSE jog-x-neg
==> halui.jog.0.minus
bit FALSE jog-x-pos
==> halui.jog.0.plus
float 0 jog-y-analog
==> halui.jog.1.analog
bit FALSE jog-y-neg
==> halui.jog.1.minus
bit FALSE jog-y-pos
==> halui.jog.1.plus
float 0 jog-z-analog
==> halui.jog.2.analog
bit FALSE jog-z-neg
==> halui.jog.2.minus
bit FALSE jog-z-pos
==> halui.jog.2.plus
bit FALSE joint-select-a
==> halui.joint.0.select
bit FALSE joint-select-b
==> halui.joint.1.select
bit FALSE joint-select-c
==> halui.joint.2.select
bit FALSE machine-is-enabled
==> motion.motion-enabled
bit FALSE machine-is-on
<== halui.machine.is-on
bit FALSE probe-in
==> motion.probe-input
bit TRUE spindle-at-speed
==> motion.spindle-at-speed
bit TRUE spindle-brake
<== motion.spindle-brake
bit FALSE spindle-ccw
<== motion.spindle-reverse
bit FALSE spindle-cw
<== motion.spindle-forward
bit FALSE spindle-enable
<== motion.spindle-on
bit FALSE spindle-index-enable
<=> motion.spindle-index-enable
bit FALSE spindle-manual-ccw
==> halui.spindle.reverse
bit FALSE spindle-manual-cw
==> halui.spindle.forward
bit FALSE spindle-manual-stop
==> halui.spindle.stop
float 0 spindle-revs
==> motion.spindle-revs
float 0 spindle-vel-cmd
<== motion.spindle-speed-out
float 0 spindle-vel-cmd-rps
<== motion.spindle-speed-out-rps
float 0 spindle-vel-fb
==> motion.spindle-speed-in
bit FALSE tool-change-confirmed
<== hal_manualtoolchange.changed
==> iocontrol.0.tool-changed
bit FALSE tool-change-request
==> hal_manualtoolchange.change
<== iocontrol.0.tool-change
s32 0 tool-number
==> hal_manualtoolchange.number
<== iocontrol.0.tool-prep-number
bit FALSE tool-prepare-loopback
<== iocontrol.0.tool-prepare
==> iocontrol.0.tool-prepared
bit FALSE x-enable
<== axis.0.amp-enable-out
==> hm2_5i25.0.stepgen.00.enable
bit FALSE x-home-sw
==> axis.0.home-sw-in
bit FALSE x-is-homed
<== halui.joint.0.is-homed
float 0 x-pos-cmd
<== axis.0.motor-pos-cmd
==> hm2_5i25.0.stepgen.00.position-cmd
float 0 x-pos-fb
==> axis.0.motor-pos-fb
<== hm2_5i25.0.stepgen.00.position-fb
bit FALSE y-enable
<== axis.1.amp-enable-out
==> hm2_5i25.0.stepgen.01.enable
bit FALSE y-home-sw
==> axis.1.home-sw-in
bit FALSE y-is-homed
<== halui.joint.1.is-homed
bit FALSE y-neg-limit
==> axis.1.neg-lim-sw-in
float 0 y-pos-cmd
<== axis.1.motor-pos-cmd
==> hm2_5i25.0.stepgen.01.position-cmd
float 0 y-pos-fb
==> axis.1.motor-pos-fb
<== hm2_5i25.0.stepgen.01.position-fb
bit FALSE y-pos-limit
==> axis.1.pos-lim-sw-in
bit FALSE z-enable
<== axis.2.amp-enable-out
==> hm2_5i25.0.stepgen.02.enable
bit FALSE z-home-sw
==> axis.2.home-sw-in
bit FALSE z-is-homed
<== halui.joint.2.is-homed
bit FALSE z-neg-limit
==> axis.2.neg-lim-sw-in
float 0 z-pos-cmd
<== axis.2.motor-pos-cmd
==> hm2_5i25.0.stepgen.02.position-cmd
float 0 z-pos-fb
==> axis.2.motor-pos-fb
<== hm2_5i25.0.stepgen.02.position-fb
bit FALSE z-pos-limit
==> axis.2.pos-lim-sw-in
Parameters:
Owner Type Dir Value Name
9 s32 RO 0 axis.0.home-state
9 s32 RO 0 axis.1.home-state
9 s32 RO 0 axis.2.home-state
12 bit RW FALSE hm2_5i25.0.gpio.000.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.000.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.001.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.001.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.002.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.002.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.003.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.003.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.004.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.004.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.005.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.005.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.006.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.006.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.006.is_output
12 bit RW FALSE hm2_5i25.0.gpio.007.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.007.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.007.is_output
12 bit RW FALSE hm2_5i25.0.gpio.008.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.008.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.008.is_output
12 bit RW FALSE hm2_5i25.0.gpio.009.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.009.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.009.is_output
12 bit RW FALSE hm2_5i25.0.gpio.010.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.010.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.010.is_output
12 bit RW FALSE hm2_5i25.0.gpio.011.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.011.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.011.is_output
12 bit RW FALSE hm2_5i25.0.gpio.012.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.012.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.012.is_output
12 bit RW FALSE hm2_5i25.0.gpio.013.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.013.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.013.is_output
12 bit RW FALSE hm2_5i25.0.gpio.014.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.014.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.014.is_output
12 bit RW FALSE hm2_5i25.0.gpio.015.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.015.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.015.is_output
12 bit RW FALSE hm2_5i25.0.gpio.016.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.016.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.016.is_output
12 bit RW FALSE hm2_5i25.0.gpio.017.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.017.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.017.is_output
12 bit RW FALSE hm2_5i25.0.gpio.018.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.018.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.018.is_output
12 bit RW FALSE hm2_5i25.0.gpio.019.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.019.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.019.is_output
12 bit RW FALSE hm2_5i25.0.gpio.020.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.020.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.020.is_output
12 bit RW FALSE hm2_5i25.0.gpio.021.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.021.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.021.is_output
12 bit RW FALSE hm2_5i25.0.gpio.022.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.022.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.022.is_output
12 bit RW FALSE hm2_5i25.0.gpio.023.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.023.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.023.is_output
12 bit RW FALSE hm2_5i25.0.gpio.024.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.024.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.024.is_output
12 bit RW FALSE hm2_5i25.0.gpio.025.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.025.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.025.is_output
12 bit RW FALSE hm2_5i25.0.gpio.026.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.026.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.026.is_output
12 bit RW FALSE hm2_5i25.0.gpio.027.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.027.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.027.is_output
12 bit RW FALSE hm2_5i25.0.gpio.028.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.028.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.028.is_output
12 bit RW FALSE hm2_5i25.0.gpio.029.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.029.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.029.is_output
12 bit RW FALSE hm2_5i25.0.gpio.030.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.030.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.030.is_output
12 bit RW FALSE hm2_5i25.0.gpio.031.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.031.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.031.is_output
12 bit RW FALSE hm2_5i25.0.gpio.032.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.032.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.032.is_output
12 bit RW FALSE hm2_5i25.0.gpio.033.invert_output
12 bit RW FALSE hm2_5i25.0.gpio.033.is_opendrain
12 bit RW FALSE hm2_5i25.0.gpio.033.is_output
12 bit RW FALSE hm2_5i25.0.io_error
12 s32 RO 1220 hm2_5i25.0.pet_watchdog.time
12 s32 RW 17690 hm2_5i25.0.pet_watchdog.tmax
12 s32 RO 34130 hm2_5i25.0.read.time
12 s32 RW 60600 hm2_5i25.0.read.tmax
12 s32 RO 0 hm2_5i25.0.read_gpio.time
12 s32 RW 0 hm2_5i25.0.read_gpio.tmax
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.00.dirhold
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.00.dirsetup
12 float RW 125 hm2_5i25.0.stepgen.00.maxaccel
12 float RW 2.1 hm2_5i25.0.stepgen.00.maxvel
12 float RW 28.444 hm2_5i25.0.stepgen.00.position-scale
12 u32 RW 0x00000000 hm2_5i25.0.stepgen.00.step_type
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.00.steplen
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.00.stepspace
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.01.dirhold
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.01.dirsetup
12 float RW 125 hm2_5i25.0.stepgen.01.maxaccel
12 float RW 2.1 hm2_5i25.0.stepgen.01.maxvel
12 float RW 28.444 hm2_5i25.0.stepgen.01.position-scale
12 u32 RW 0x00000000 hm2_5i25.0.stepgen.01.step_type
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.01.steplen
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.01.stepspace
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.02.dirhold
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.02.dirsetup
12 float RW 125 hm2_5i25.0.stepgen.02.maxaccel
12 float RW 2.1 hm2_5i25.0.stepgen.02.maxvel
12 float RW 28.444 hm2_5i25.0.stepgen.02.position-scale
12 u32 RW 0x00000000 hm2_5i25.0.stepgen.02.step_type
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.02.steplen
12 u32 RW 0x000003E8 hm2_5i25.0.stepgen.02.stepspace
12 u32 RW 0x00989680 hm2_5i25.0.watchdog.timeout_ns
12 s32 RO 15780 hm2_5i25.0.write.time
12 s32 RW 38960 hm2_5i25.0.write.tmax
12 s32 RO 0 hm2_5i25.0.write_gpio.time
12 s32 RW 0 hm2_5i25.0.write_gpio.tmax
9 s32 RO 3450 motion-command-handler.time
9 s32 RW 19170 motion-command-handler.tmax
9 s32 RO 25000 motion-controller.time
9 s32 RW 55360 motion-controller.tmax
9 bit RO FALSE motion.debug-bit-0
9 bit RO FALSE motion.debug-bit-1
9 float RO 1 motion.debug-float-0
9 float RO 0 motion.debug-float-1
9 float RO 0 motion.debug-float-2
9 float RO 1 motion.debug-float-3
9 s32 RO 0 motion.debug-s32-0
9 s32 RO 0 motion.debug-s32-1
9 u32 RO 0x0028BB1C motion.servo.last-period
9 float RO 997430 motion.servo.last-period-ns
9 u32 RW 0x00000000 motion.servo.overruns
9 float RO 0 tc.0.acc
9 float RO 0 tc.0.pos
9 float RO 0 tc.0.vel
9 float RO 0 tc.1.acc
9 float RO 0 tc.1.pos
9 float RO 0 tc.1.vel
9 float RO 0 tc.2.acc
9 float RO 0 tc.2.pos
9 float RO 0 tc.2.vel
9 float RO 0 tc.3.acc
9 float RO 0 tc.3.pos
9 float RO 0 tc.3.vel
9 u32 RO 0x00000000 traj.active_tc
9 float RO 0 traj.pos_out
9 float RO 0 traj.vel_out
Parameter Aliases:
Alias Original Name
Exported Functions:
Owner CodeAddr Arg FP Users Name
00012 fb437552 f4dbc000 NO 1 hm2_5i25.0.pet_watchdog
00012 fb4299dc f4dbc000 YES 1 hm2_5i25.0.read
00012 fb429906 f4dbc000 YES 0 hm2_5i25.0.read_gpio
00012 fb429936 f4dbc000 YES 1 hm2_5i25.0.write
00012 fb4298d6 f4dbc000 YES 0 hm2_5i25.0.write_gpio
00009 fb14f759 00000000 YES 1 motion-command-handler
00009 fb151cb2 00000000 YES 1 motion-controller
Realtime Threads:
Period FP Name ( Time, Max-Time )
999893 YES servo-thread ( 79580, 136830 )
1 hm2_5i25.0.read
2 motion-command-handler
3 motion-controller
4 hm2_5i25.0.write
5 hm2_5i25.0.pet_watchdog
2nkp
С меня пузырь. Ведь прочитал мануал, подумал "потом прочитаю вдумчивее, а пока оставлю всё по заводским установкам". Перекинул пины и дочка запустилась =) Спасибо огромное.
Теперь начал плавать в другом. Если 7i76 рассчитана на 5 шаговиков, я в конфиге pncconf просто _обязан_ указать 5 шаговиков, даже если использую 3 или оставшиеся пины можно использовать как gpio.
Если нельзя (т.е. плата 7i76 "заточена" именно под то, что у неё написано в спецификации) то как мне можно завести конечные выключатели. Никак не найду куда их ткнуть на плате и где ждать ответа, на каком hm2_5i75.0.gpio* В pncconf вижу т.н. Connector 2 - это видимо тот, который на самой плате. Исходя из названия прошивки 7i76x2 туда как-то можно вторую "дочку" подключить? Если да, то что это за кабель? Как он выглядит.
Re: MESA 5i25
Добавлено: 15 янв 2013, 19:05
de-signer
С другой стороны на 7i76 есть ещё TB5 и TB6 разъёмы чисто под ввод/вывод, никак не соображу. Где-то я запутался =(
Спасибо, что терпите мой бред =)