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 ...