Halcmd show примеры использования
Команда halcmd show - показывает состояние всей системы HAL. В том числе отображаются загруженные компоненты, их функции, сигналы и пины.
Содержание
Формат команды
halcmd show ?[[comp|pin|sig|param|funct|thread|alias|all] [фильтр]]
Фильтр дает возможность выводить только требуемые элементы. В фильтре можно использовать символы маски *-любые символы, ?-любой символ.
Т.е. команда halcmd show pin *encod*pos* выведет все пины с именем содержащим encod и pos (которые скорее всего будут содержать значения положений энкодеров).
Так же как и со всеми другими командами в linux, halcmd можно объединять в цепочки.
Примеры использования
halcmd show | grep stepgen.*pos - передает вывод halcmd show программе grep - которая выбирает и показывает строки соответствующие шаблону.
Эту же команду можно совместить с программой watch - она выполняет заданные команды с определенным промежутком времени:
watch "halcmd show | grep stepgen.0" - будет показывать состояние stepgen.0 с автоматическим обновлением (раз в 2 секунды, по умолчанию)
watch -n 0 "halcmd show | grep stepgen.0" - тоже самое с интервалом обновления 0.1с
Вывод команды
Загруженные компоненты
Loaded HAL Components: ID Type Name PID State 77 User halcmd3312 3312 ready 73 User axisui 3148 ready ...
Пины
Это наверное наиболее часто используемая информация. В пинах содержатся основные данные компонентов. Через них компоненты обмениваются информацией.
Component Pins:
Owner Type Dir Value Name
19 s32 IN 0 axis.a.jog-counts
19 bit IN FALSE axis.a.jog-enable
19 float IN 0 axis.a.jog-scale
19 bit IN FALSE axis.a.jog-vel-mode
...
Параметры
В Параметрах содержатся основные настройки компонентов. Они отличаются от пинов тем, что значения параметров реже меняются.
Parameters:
Owner Type Dir Value Name
54 float RW 0.02 comp_x.hyst
54 s32 RW 225075 comp_x.tmax
54 bit RO FALSE comp_x.tmax-increased
...
Сигналы
Сигналы показывают, как соединены между собой пины.
Signals:
Type Value Name (linked to)
float 0 XYZvel
<== vel_xyz.out
float 0 XYvel
<== vel_xy.out
==> vel_xyz.in1
bit FALSE XZhomesw
==> joint.0.home-sw-in
==> joint.2.home-sw-in
<== or2_0.out
...