Halui n'est pas forcement chargé, ce n'est pas un composant temps réel qui se charge dans HAL avec
loadrt mais avec éventuellement avec l'instruction loadusr et un chemin d’accès
En pratique le plus simple est de le charger, si ce n'est pas le cas, un incluant la ligne
HALUI = halui
à la fin de la section " HAL " du fichier INI
http://linuxcnc.org/docs/2.7/html/config/ini-config.html#_hal_section.
Halui reproduit strictement le mode de fonctionnement de l'interface axis
ce qui veut dire que l'état machine off et machine on est obtenu que par l'intermédiaire d'un bouton poussoir fugitif
(comme la souris et F2)
Pour cela il faut que tu connectes la pin GPIO du bouton poussoir à un composant temps réel crée exprès
pour gérer les halui 3 e/s de type "machine on/off"
c'est le composant " toogle2nist "
http://linuxcnc.org/docs/2.7/html/man/man9/toggle2nist.9.html
toggle2nist.N.in bit in au bouton poussoir
et les 3 e/s ici:
toggle2nist.N.is-on bit in
toggle2nist.N.on bit out
toggle2nist.N.off bit out
aux 3 e/s ici:
halui.machine.is−on bit ou
halui.machine.off bit in
halui.machine.on bit in
comme ici:
net ma-machine-power
halui.machine.is−on => toggle2nist.N.is-on
...
...
...
Tout ce bazar va faire réagir axis comme avec la touche F2 ou un clic
rien ne t’empêche ensuite de connecter l’état ma-machine -power à une autre gpio
et d'actionner un contacteur externe
net ma-machine-power
gpio-vers-contacteur
Ou plus simplement, sans bouton poussoir supplémentaire,
de sortir simplement l'info de l’état d'axis et d'actionner par une gpio ce contacteur externe
net ma-machine-power
halui.machine.is−on => gpio-vers-contacteur
L'exemple que tu cites au début de ton message est une façon détournée de câbler un arrêt d'urgence soft
suite à un franchissement de butées, mais à l'origine c'est conçu pour être utilisé comme précisé juste avant.