LinuxCNC Integrators Manual Глава X - Пользовательский интерфейс HAL (Halui)
Содержание
- 1 LinuxCNC Integrators Manual Глава X - Пользовательский интерфейс HAL (Halui)
- 2 Пользовательский интерфейс HAL (Halui)
- 2.1 10.1 Введение
- 2.2 10.2 Описание пинов Halui
- 2.2.1 10.2.1 Abort (Отмена)
- 2.2.2 10.2.2 Axis
- 2.2.3 10.2.3 E-Stop (АВОСТ)
- 2.2.4 10.2.4 Feed Override (Замещение подачи)
- 2.2.5 10.2.5 Flood
- 2.2.6 10.2.6 Homing
- 2.2.7 10.2.7 Jog
- 2.2.8 10.2.8 Joint (сочленение)
- 2.2.9 10.2.9 Lube (смазка)
- 2.2.10 10.2.10 Machine (Станок)
- 2.2.11 10.2.11 Максимальная скорость
- 2.2.12 10.2.12 MDI
- 2.2.13 10.2.13 Mist (Туман)
- 2.2.14 10.2.14 Mode (Режим)
- 2.2.15 10.2.15 Program
- 2.2.16 10.2.17 Spindle
- 2.2.17 10.2.18 Tool (Инструмент)
- 3 Оглавление книги LinuxCNC Integrators Manual
LinuxCNC Integrators Manual Глава X - Пользовательский интерфейс HAL (Halui)
Пользовательский интерфейс HAL (Halui)
10.1 Введение
Halui это основанный на HAL интерфейс пользователя для EMC, он соединяет пины HAL с NML командами. Большая часть функционала (кнопки, индикаторы и т.д.) которые представляются обычными GUI (mini, Axis, и т.п.), работает через пины HAL в Halui.
Самый простой способ добавить halui, это добавить следующее в секцию [HAL] в ini файл.
HALUI = halui
Другой способ запустить его (особенно когда используются конфигурационные файлы созданные при помощи stepconf) включить следующее в ваш файл custom.hal. Убедитесь, что вы используете правильный путь к вашему ini файлу.
loadusr halui -ini /path/to/inifile.ini
10.2 Описание пинов Halui
10.2.1 Abort (Отмена)
- halui.abort (bit, in) - пин для отправки сообщения отмены (отменяет большинство ошибок).
10.2.2 Axis
- halui.axis.n.pos-commanded (float, out) - Заданное (запрошенное) положение оси в коодинатах станка.
- halui.axis.n.pos-feedback (float, out) - Обратная связь положения оси в координатах станка.
- halui.axis.n.pos-relative (float, out) - Заданное (запрошенное) положение оси в относительных коодинатах.
10.2.3 E-Stop (АВОСТ)
- halui.estop.activate (bit, in) - pin пин для запроса E-Stop.
- halui.estop.is-activated (bit, out)- отображает состояние E-stop.
- halui.estop.reset (bit, in) - pin для запроса сброса E-Stop.
10.2.4 Feed Override (Замещение подачи)
- halui.feed-override.count-enable (bit, in) - добжно быть равно true для того, чтобы велся отсчет тиков.
- halui.feed-override.counts (s32, in) - количество тиков с энкодера для изменения Feed Override.
- halui.feed-override.decrease (bit, in) - пин для уменьшения FO (-=scale - вычесть значение scale).
- halui.feed-override.increase (bit, in) - пин для увеличения FO (+=scale - добавить значение scale).
- halui.feed-override.scale (float, in) - пин для установки шага увеличения/уменьшения Feed Override.
- halui.feed-override.value (float, out) - текущее значение FO.
10.2.5 Flood
- halui.flood.is-on (bit, out) - отображает включен ли flood.
- halui.flood.off (bit, in) - пин для хапроса остановки flood.
- halui.flood.on (bit, in) - пин для запроса включения flood.
10.2.6 Homing
- halui.home-all (bit, in) - пин для запроса выставления всех осей. Это пин будет присутствовать только если HOME_SEQUENCE задан в ini файле.
10.2.7 Jog
<n> это число между 0 и 8 и ’selected’.
- halui.jog-deadband (float, in) - мертвая зона для аналогового джогинга (значения меньше указанного не будут восприниматься).
- halui.jog-speed (float, in) - пин для установки скорости перемещения для положительного и отрицательного джогинга.
- halui.jog.<n>.analog (float, in) - ввод для аналогового задания скорости ручного перемещения (полезно при использовании джойстиков или других аналоговых устройств)
- halui.jog.<n>.minus (bit, in) - пин для перемещения оси <n> в отрицательном направлении со скоростью halui.jog.speed.
- halui.jog.<n>.plus (bit, in) - пин для перемещения оси <n> в положительном направлении со скоростью halui.jog.speed.
- halui.jog.selected.minus (bit, in) - пин для перемещения выбранной оси в отрицательном направлении со скоростью halui.jog.speed.
- halui.jog.selected.plus (bit, in) - пин для перемещения выбранной оси в положительном направлении со скоростью halui.jog.speed.
10.2.8 Joint (сочленение)
<n> это номер между 0 и 8 или ’selected’.
- halui.joint.<n>.has-fault (bit, out) - статусный пин отображающий что на joint произошла ошибка.
- halui.joint.<n>.home (bit, in) - пин для выставления home для указанного joint.
- halui.joint.<n>.is-homed (bit, out) - пин говорящий, был ли выставлен указанный joint.
- halui.joint.<n>.is-selected bit (bit, out) - пин говорящий выбран (selected) ли указанный joint - внутрениий пин halui
- halui.joint.<n>.on-hard-max-limit (bit, out) - пин говорящий, что joint <n> находится на концевике в положительном направлении.
- halui.joint.<n>.on-hard-min-limit (bit, out) - пин говорящий, что joint <n> находится на концевике в отрицательном направлении.
- halui.joint.<n>.on-soft-max-limit (bit, out) - пин говорящий, то joint <n> находится в положении программного предела soft limit в положительном направлении.
- halui.joint.<n>.on-soft-min-limit (bit, out) - пин говорящий, то joint <n> находится в положении программного предела soft limit в отрицательном направлении.
- halui.joint.<n>.select (bit, in) - выбрать joint (0..7) - внутрениий пин halui.
- halui.joint.<n>.unhome (bit, in) - сделать указанный joint не выставленным.
- halui.joint.selected (u32, out) - выбранный joint (0..7) - внутренний пин halui
- halui.joint.selected.has-fault (bit, out) - пин говорящий, что на выбранном joint произошла ошибка
- halui.joint.selected.home (bit, in) - пин для выстввления выбранного joint.
- halui.joint.selected.is-homed (bit, out) - пин говорящий, что выбранный joint выставлен
- halui.joint.selected.on-hard-max-limit (bit, out) - пин говорящий, что выбранный joint находится на концевике в положительном направлении.
- halui.joint.selected.on-hard-min-limit (bit, out) - пин говорящий, что выбранный joint находится на концевике в отрицательном направлении.
- halui.joint.selected.on-soft-max-limit (bit, out) - пин говорящий, то выбранный joint находится в положении программного предела soft limit в положительном направлении.
- halui.joint.selected.on-soft-min-limit (bit, out) - пин говорящий, то выбранный joint находится в положении программного предела soft limit в отрицательном направлении.
- halui.joint.selected.unhome (bit, in) - пин для того чтобы сделать выбранный joint не выставленным.
10.2.9 Lube (смазка)
- halui.lube.is-on (bit, out) - отображает, что смазка включена.
- halui.lube.off (bit, in) - пин для запроса выключения lube.
- halui.lube.on (bit, in) - пин для запроса включения lube.
10.2.10 Machine (Станок)
- halui.machine.is-on (bit, out) - отображает, что станок включен.
- halui.machine.off (bit, in) - пин для запроса выключения станка.
- halui.machine.on (bit, in) - пин для запроса включения станка.
10.2.11 Максимальная скорость
Максимальная линейная скорость может быть назначена от 0 до значения MAX_VELOCITY которое установленно в секции [TRAJ] в ini файле.
- halui.max-velocity.count-enable (bit, in) - когда равен TRUE, максимальная скорость изменяется при изменении кодичества тиков энкодера.
- halui.max-velocity.counts (s32, in) - позводяет вам привязать энкодер для изменения максимальной скорости.
- halui.max-velocity.decrease (bit, in) - пин для уменьшения максимальной скорости.
- halui.max-velocity.increase (bit, in) - пин для увеличения максимальной скорости.
- halui.max-velocity.scale (float, in) - величина добавляемая или вычитаемая из максимальной скорости при срабатывании пинов decrease или increase в единицах измерения станка в секунду.
- halui.max-velocity.value (float, out) - значение максимальной линейной скорости станка в единицах измерения станка в секунду.
10.2.12 MDI
Иногда пользователь хочет добавить более сложную задачу для выполения при активации пина HAL. Это возмонжо при использовании следующей схемы оманд MDI:
- MDI_COMMAND добавляется в секцию [HALUI] в файл ini.
[HALUI] MDI_COMMAND = G0 X0
- Когда зпускается halui он прочитает поле MDI_COMMAND из файла ini, и экспортирует пин от 00 до количества записей MDI_COMMAND найденных в ini (максимум 64 команды).
- halui.mdi-command-<nn> (bit, in) - halui попытается послать MDI команду заданную в ini файле. Это не всегда будет получаться в зависимости от тогов каком режие находится emc2 (например во время нахождения в режиме AUTO halui не может успешно послать комманду MDI). Если команда прошла успешно halui переключит EMC2 в режим MDI, а затем снова вернет в ручной режим.
10.2.13 Mist (Туман)
- halui.mist.is-on (bit, out) - отображает, что туман включен
- halui.mist.off (bit, in) - запрашивает выключение тумана.
- halui.mist.on (bit, in) - запрашивает включение тумана.
10.2.14 Mode (Режим)
- halui.mode.auto (bit, in) - пин для запроса режима auto.
- halui.mode.is-auto (bit, out) - отображает, что режи auto включен.
- halui.mode.is-joint (bit, out) - пин отображающий, что включен режим джоггинга (jog) joint by joint.
- halui.mode.manual (bit, in) - пин для запроса ручного режима (manual).
- halui.mode.is-manual (bit, out) - отображает, что ручной режим включен.
- halui.mode.is-mdi (bit, out) - отображает, что вклюен режим MDI.
- halui.mode.is-teleop (bit, out) - пин отображающий, что включен режим координированного джоггинга.
- halui.mode.joint (bit, in) - пин запрашивающий режим джоггинга (jog) joint by joint.
- halui.mode.manual (bit, in) - пин запрашивающий ручной режим.
- halui.mode.mdi (bit, in) - пин запрашивающий режим MDI.
10.2.15 Program
- halui.program.block-delete.is-on (bit, out) -
- halui.program.block-delete.off (bit, in) -
- halui.program.block-delete.on (bit, in) -
- halui.program.is-idle (bit, out) - пин отображающий, что никакая управляющая программа не запущена.
- halui.program.is-paused (bit, out) - пин отображающий, что программа приостановленна.
- halui.program.is-running (bit, out) - пин отображающий, что проггамма выполняется.
- halui.program.optional-stop.is-on (bit, out) -
- halui.program.optional-stop.off (bit, in) -
- halui.program.optional-stop.on (bit, in) -
- halui.program.pause (bit, in) - пин для приостановки программы.
- halui.program.resume (bit, in) - пин для возобновления программы
- halui.program.run (bit, in) - пин для запуска программы.
- halui.program.step (bit, in) - пин для выполнения программы пошагово.
- halui.program.stop (bit, in) - пин для остановки программы.
10.2.16 Spindle Override (замещение скорости шпинделя)
- halui.spindle-override.count-enable (bit, in) - когда равен TRUE, изменяет скорость шпинделя при измеении количества тиков энкодера.
- halui.spindle-override.counts (s32, in) - количесво тиков энкодера для изменения SO
- halui.spindle-override.decrease (bit, in)- пин для уменьщения SO (-=scale)
- halui.spindle-override.increase (bit, in) - пин для увеличения SO (+=scale)
- halui.spindle-override.scale (float, in) - пин для установки значпения шага изменеия SO
- halui.spindle-override.value (float, out) - текущее значение SO
10.2.17 Spindle
- halui.spindle.brake-is-on (bit, out) - отображает, что тормоз шпинделя включен.
- halui.spindle.brake-off (bit, in) - пин для выключения тормоза шпинделя.
- halui.spindle.brake-on (bit, in) - пин для включения тормоза шпинделя.
- halui.spindle.decrease (bit, in) - уменьшает скорость шпинделя.
- halui.spindle.forward (bit, in) - включает шпиндель по часовой стрелке.
- halui.spindle.increase (bit, in)- увеличивает скорость шпинделя.
- halui.spindle.is-on (bit, out) -
- halui.spindle.reverse (bit, in)- запускает шпиндель против часовой стрелки.
- halui.spindle.runs-backward (bit, out) -
- halui.spindle.runs-forward (bit, out) -
- halui.spindle.start (bit, in) - включает шпиндель.
- halui.spindle.stop (bit, in) - выключает шпиндель.
10.2.18 Tool (Инструмент)
- halui.tool.length-offset (float, out) - отображает текущее занчение tool-length-offset (компенсация динны инструмента).
Оглавление книги LinuxCNC Integrators Manual
Глава | Название |
---|---|
Глава 1 | LinuxCNC Integrators Manual Глава I - Важные определения |
Глава 2 | LinuxCNC Integrators Manual Глава II - Аппаратное обеспечение (Hardware) |
Глава 3 | LinuxCNC Integrators Manual Глава III - Конфигурационные файлы |
Глава 4 Доделать! | LinuxCNC Integrators Manual Глава IV - Файл INI |
Глава 5 Доделать! | LinuxCNC Integrators Manual Глава V - LinuxCNC и HAL |
Глава 6 Доделать! | LinuxCNC Integrators Manual Глава VI - Основы HAL |
Глава 7 Доделать! | LinuxCNC Integrators Manual Глава VII - Настройка шаговых двигателей |
Глава 8 Доделать! | LinuxCNC Integrators Manual Глава VIII - Компонетны HAL |
Глава 9 Забыли перевести! | LinuxCNC Integrators Manual Глава IX - Параллельный порт |
Глава 10 Доделать! | LinuxCNC Integrators Manual Глава X - Пользовательский интерфейс HAL (Halui) |
Глава 11 Доделать! | LinuxCNC Integrators Manual Глава XI - Примеры HAL |
Глава 12 Доделать! | LinuxCNC Integrators Manual Глава XII - Virtual Control Panel - Виртуальная панель управления |