ОПИС
Компонент xhc-hb04 підтримує звичайний USB-підвіс, який містить кілька кнопок, ручний генератор імпульсів (mpg або колесо керування) та перемикач для колеса керування.
Існує принаймні дві версії апаратного забезпечення — одна з 16 кнопками та більш поширена з 18 кнопками. Інформація, наведена в цьому документі, базується на пристрої з 18 кнопками та кодом виробника USB: 10CE:EB70.
Крім кнопок, підвісний пульт має РК-дисплей, на якому відображаються поточний коефіцієнт збільшення кроку (з набору доступних цілих значень), положення (абсолютне та відносне, позначені відповідно MC та WC), швидкість подачі (відсоток перевищення та значення в одиницях на хвилину) та швидкість обертання шпинделя (відсоток перевищення та значення в обертах на хвилину (RPM)). Дисплей керується поворотним перемикачем, який вибирає одну з чотирьох осей для позиціонування колеса, перевищення швидкості подачі, перевищення швидкості шпинделя або вимкнення.
На дисплеї підвісу, його поворотному селекторному перемикачі та назвах контактів компонентів використовуються позначення x, y, z, a. Хоча така схема передбачає конфігурацію машини як XYZA, контакти можуть бути призначені незалежно, як це потрібно в конфігурації HAL.
УДЕВ
Виконаний файл xhc-hb04 потребує дозволу на читання USB-пристрою підвіски. Інсталяції пакетів Debian (debs) обробляють це автоматично, але збірки Run-In-Place (RIP) можуть потребувати файлу правил udev. Цей файл слід створити (за допомогою sudo та текстового редактора) як:
/etc/udev/rules.d/99-xhc-hb04.rules with the single line:
ATTR{idProduct}=="eb70", ATTR{idVendor}=="10ce", MODE="0666", OWNER="root", GROUP="plugdev"
Автономне використання
Програму xhc-hb04 можна запустити з командного рядка без LinuxCNC, щоб протестувати пульт управління в режимі симуляції. Цей автономний режим використовується для ідентифікації кодів, що генеруються при натисканні кожної кнопки, та для перевірки правильності підрахунку обертів колеса управління. Визначені коди кнопок можна використовувати для створення файлу button-cfg. Якщо файл button-cfg існує, роботу пульта можна перевірити за допомогою опції -I для вказання файлу.
Використання:
xhc-hb04 [опції]
Опції
- -h
-
список параметрів командного рядка та вихід
- -I button-cfg-file
-
див. нижче формат файлу
- -H
-
працювати в режимі HAL реального часу (режим моделювання за замовчуванням)
- -x
-
Зачекайте на виявлення кулона, перш ніж створювати HAL-піни.
- -s n
-
n — одна з наступних послідовностей розмірів кроків
1: 1,10,100,1000 (за замовчуванням) 2: 1,5,10,20 3: 1,10,100 4: 1,5,10,20,50,100 5: 1,10,50,100,1000
Вибраний розмір кроку завжди множиться на 0,001.
button-cfg-file формат
У дистрибутиві надаються стандартні файли конфігурації для відомих конфігурацій кнопок:
/usr/share/linuxcnc/hallib/xhc-hb04-layout1.cfg /usr/share/linuxcnc/hallib/xhc-hb04-layout2.cfg або для збірки RIP: rip_base_dir/lib/hallib/xhc-hb04-layout1.cfg rip_base_dir/lib/hallib/xhc-hb04-layout2.cfg
макет 1 описує кулон на 16 ґудзиків, макет 2 описує більш поширений кулон на 18 ґудзиків.
Файл конфігурації кнопки має той самий формат, що й INI-файли, але повинен використовувати суфікс файлу .cfg.
Формат файлу: [XHC-HB04] BUTTON=X1:button-thename1 BUTTON=X2:button-thename2 BUTTON=X3:button-thename3 etc.
XN – це код, що повідомляється для натискання кнопки, а button-thenameN – це ім’я, яке буде призначено піну, створеному для кнопки.
Використання HAL
Використовуйте параметр -H, щоб вказати режим HAL та інші необхідні параметри:
loadusr -W xhc-hb04 -H [options]
Приклад: loadusr -W xhc-hb04-H -I шлях_до_cfg_файлу -s 2
Вхідні контакти (керування)
- xhc-hb04.stepsize-up (bit in)
-
1 імпульс на цьому виводі змінює розмір кроку на наступний більший розмір кроку в послідовності розмірів кроків, зазначеній у команді xhc-hb04 (loadusr).
- xhc-hb04.stepsize-down (bit in)
-
1 імпульс на цьому виводі змінює розмір кроку на наступний менший розмір кроку в послідовності розмірів кроків, зазначеній у команді xhc-hb04 (loadusr).
Вхідні контакти (до підвісного LCD-дисплея)
- xhc-hb04.[xyza].pos-absolute (float in)
-
Absolute position display. The LCD display for pos-absolute is fixed format with a sign, 4 number digits and 3 fraction digits (+XXXX.XXX), require: -9999.999 <= value <= 9999.999 (typically connect to:
halui.axis.N.pos-feedback). - xhc-hb04.[xyza].pos-relative (float in)
-
Relative position display (typically connect to: halui.axis.N.pos-relative). The LCD display for pos-relative is fixed format with a sign, 4 number digits and 3 fraction digits (+XXXX.XXX), require: -9999.999 <= value <= 9999.999.
- xhc-hb04.feed-override (float in)
-
Feed-override value. The float value is converted to a 16 bit integer and multiplied by 100 in order to display as percent, require: 0 <= pinvalue <= 655 (typically connect to:
halui.feed-override.value). - xhc-hb04.feed-value (float in)
-
Current Feed-value (units/sec). The float value is converted to a 16 bit integer and multiplied by 60 in order to display as units-per-minute, require: 0 <= pinvalue <= 1092 (65520 units-per-minute) (typically connect to:
motion.current-vel). - xhc-hb04.spindle-override (float in)
-
Spindle-override value. The float value is converted to a 16 bit integer and multiplied by 100 in order to display as percent, require: 0 <= pinvalue <= 655) (typically connect to:
halui.spindle-override.value). - xhc-hb04.spindle-rps (float in)
-
Spindle speed in RPS (revolutions per second). The float value is converted to a 16 bit integer and multiplied by 60 in order to display as RPMs, require: 0 <= pinvalue <= 1092 (65520 RPM) (typically connect to:
spindle.N.speed-out-rps-abs). - xhc-hb04.inch-icon (bit in)
-
Використовуйте значок дюймів (за замовчуванням — мм):
Вихідні контакти (стан)
- xhc-hb04.sleeping (bit out)
-
Значення True (істина), коли водій отримує повідомлення про неактивність (сплячий стан) підвіски.
- xhc-hb04.jog.enable-off (bit out)
-
Істина, коли поворотний перемикач підвісного пристрою знаходиться в положенні ВИМКНЕНО або коли підвісний пристрій перебуває в режимі сну.
- xhc-hb04.enable-[xyza] (bit out)
-
Істина, коли поворотний перемикач підвіски знаходиться в положенні [xyza] і не перебуває в режимі сну.
- xhc-hb04.enable-spindle-override (bit out)
-
Істина, коли підвісний поворотний перемикач знаходиться в положенні «Шпиндель» і не перебуває в режимі сну (зазвичай підключається до: halui.spindle-override-count-enable).
- xhc-hb04.enable-feed-override (bit out)
-
Істина, коли поворотний перемикач підвіски знаходиться в положенні подачі та не в режимі сну (зазвичай підключається до: halui.feed-override-count-enable).
- xhc-hb04.connected (bit out)
-
Істина, коли підключення до підвіски встановлено через USB-інтерфейс.
- xhc-hb04.require_pendant (bit out)
-
Істина, якщо драйвер запущено з опцією -x.
- xhc-hb04.stepsize (s32 out)
-
Поточний розмір кроку в послідовності розмірів кроків, що контролюється контактами збільшення та/або зменшення розміру кроку.
Вихідні контакти (для штовхання за допомогою axis.N.jog-counts)
- xhc-hb04.jog.counts (s32 out)
-
Кількість відліків обертання колеса з моменту запуску (50 відліків за оберт колеса) (зазвичай підключається до
axis.N.jog-counts(фільтрація низьких частот може бути корисною)). - xhc-hb04.jog.counts-neg (s32 out)
-
Значення
xhc-hb04.jog.counts, помножене на -1. - xhc-hb04.jog.scale (float out)
-
Значення — це поточний розмір кроку, помножений на 0,001 (зазвичай підключається до
axis.N.jog-scale).
Експериментально: Шпильки для халуї плюс/мінус біг підтюпцем.
Ці шпильки забезпечують певну підтримку для бігу підтюпцем у режимі світу, який не є тривкінами.
- xhc-hb04.jog.max-velocity (float in)
-
Підключитися до halui.max-velocity.value.
- xhc-hb04.jog.velocity (float out)
-
Підключитися до halui.jog-speed.
- xhc-hb04.jog.plus-[xyza] (bit out)
-
Підключитися до halui.jog.N.plus.
- xhc-hb04.jog.minus-[xyza] (bit out)
-
Підключитися до halui.jog.N.minus.
- xhc-hb04.jog.increment (float out)
-
PIN-код налагодження — abs(delta_pos).
Вихідні контакти кнопок (для підвіски 18 кнопок, макет 2)
Вихідні біти мають стан TRUE (істина), коли кнопка натиснута.
ROW 1
(bit out) xhc-hb04.button-reset
(bit out) xhc-hb04.button-stop
ROW 2
(bit out) xhc-hb04.button-goto-zero
(bit out) xhc-hb04.button-rewind
(bit out) xhc-hb04.button-start-pause
(bit out) xhc-hb04.button-probe-z
ROW 3
(bit out) xhc-hb04.button-spindle
(bit out) xhc-hb04.button-half
(bit out) xhc-hb04.button-zero
(bit out) xhc-hb04.button-safe-z
ROW 4
(bit out) xhc-hb04.button-home
(bit out) xhc-hb04.button-macro-1
(bit out) xhc-hb04.button-macro-2
(bit out) xhc-hb04.button-macro-3
ROW 5
(bit out) xhc-hb04.button-step
(bit out) xhc-hb04.button-mode
(bit out) xhc-hb04.button-macro-6
(bit out) xhc-hb04.button-macro-7
Синтезовані ґудзикові штифти
Додаткові кнопки синтезуються для кнопок з назвами zero, goto-zero та half. Ці синтезовані кнопки активні, коли кнопка натиснута І селекторний перемикач встановлений на відповідну вісь [xyza].
(bit out) xhc-hb04.button-zero-[xyza] (bit out) xhc-hb04.button-goto-zero-[xyza] (bit out) xhc-hb04.button-half-[xyza]
НАЛАГОДЖЕННЯ
Для налагодження активності USB використовуйте змінну середовища LIBUSB_DEBUG:
- export LIBUSB_DEBUG=[2 | 3 | 4]; xhc-hb04 [options]
-
2:попередження, 3:інформація, 4:налагодження
Конфігурації SIM-карти
Дистрибутив містить кілька конфігурацій симуляції в каталозі:
/usr/share/doc/linuxcnc/examples/sample-configs/sim/axis/xhc-hb04/ або для збірки RIP: rip_base_dir/configs/sim/axis/xhc-hb04/
Ці конфігурації використовують скрипт, що надається дистрибутивом (xhc-hb04.tcl), для налаштування підвісного пристрою та встановлення необхідних з’єднань HAL відповідно до ряду налаштувань файлу INI. Скрипт використовує додатковий компонент HAL (xhc_hb04_util) для забезпечення загальної функціональності та включає підтримку стандартного методу для кнопки запуску-паузи.
Доступні налаштування включають: * Вкажіть файл button-cfg для стандартного layout1 або layout2, * вибрати осі (до 4 осей з набору x, y, z, a, b, c, u, v, w), * реалізувати коефіцієнти фільтрації по осях, * реалізувати прискорення для кожної осі для бігової пробіжки з витратою миль на галон, * реалізувати налаштування масштабу для кожної осі, * виберіть звичайний або швидкісний режими штовхання, * виберіть послідовність розмірів кроків, * опція ініціалізації PIN-коду для піктограми відображення в дюймах або мм, * опція вимоги підвіски під час запуску.
Конфігурації симулятора ілюструють підключення кнопок, які: * Підключіть кнопку збільшення кроку на підвісці до вхідного контакту кроку, * підключіть кнопки до штифтів halui., * з’єднайте кнопки з рухом. шпильки.
Ще один скрипт включено для моніторингу підвіски та повідомлення про втрату USB-з’єднання. Дивіться файли README та .txt у вищевказаному каталозі для отримання інформації про використання.
Примітка
Конфігурації симулятора використовують графічний інтерфейс AXIS, але скрипти доступні з будь-якою конфігурацією HAL або графічним інтерфейсом. Ті самі скрипти можна використовувати для адаптації xhc-hb04 до існуючих конфігурацій, за умови, що необхідні контакти halui, motion та axis.N не зайняті іншим чином. Інструкції містяться у файлі README у вказаному вище каталозі.
Використайте halcmd для відображення контактів та сигналів, що використовуються скриптом xhc-hb04.tcl:
halcmd показати контакт xhc-hb04 (показати всі контакти xhc-hb04) halcmd показати контакт pendant_util (показати всі контакти pendant_util) halcmd показати сигнал підвіски: (показати всі сигнали підвіски)
АВТОР
Фредерік Рібл (frible@teaser.fr)