= Halui[[cha:Halui]] == Introduction[[sec:HaluiIntroduction]] Halui est une interface utilisateur pour EMC s'appuyant sur HAL, elle connecte les pins de HAL à des commandes NML. La plupart des fonctionnalités (boutons, indicateurs etc.) utilisées par les interfaces graphiques traditionnelles (mini, Axis, etc.), sont fournies par des pins de HAL dans Halui. La façon la plus facile pour utiliser halui est de modifier votre dossier d'ini pour inclure HALUI = halui dans la section [HAL]. Une solution alternative pour l'invoquer (surtout si vous générez la config avec stepconf) est d'inclure loadusr halui -ini /path/to/inifile.ini dans votre fichier custom.hal. == Nomenclature des pins d'Halui[[sec:Halui-pin-reference]] === Abandon (abort) - halui.abort (bit, in) - pin de requête d'abandon (efface les erreurs) == Axes (axis) - halui.axis.n.pos-commanded (float, out) - Position de l'axe commandée, en coordonnées machine - halui.axis.n.pos-feedback (float, out) - Position de l'axe lue, en coordonnées machine - halui.axis.n.pos-relative (float, out) - Position de l'axe, en coordonnées relatives === Arrêt d'urgence (E-Stop) - halui.estop.activate (bit, in) - pin de requête d'arrêt d'urgence (E-Stop) - halui.estop.is-activated (bit, in) - indique si l'arrêt d'urgence est actif - halui.estop.reset (bit, out) - pin de requête de relâchement de l'arrêt d'urgence (E-Stop reset) === Correcteur de vitesse d'avance (Feed override) - halui.feed-override.count-enable (bit, in) - doit être vraie pour activer le comptage. - halui.feed-override.counts (s32, in) - comptage depuis un codeur, par - halui.feed-override.decrease (bit, in) - pin pour diminuer la correction (-=scale) - halui.feed-override.increase (bit, in) - pin pour augmenter la correction (+=scale) - halui.feed-override.direct-value (bit, in) - fausse lors de l'utilisation du codeur - halui.feed-override.scale (float, in) - pin pour positionner l'échelle des corrections possibles exemple pour modifier la correction de vitesse d'avance - halui.feed-override.value (float, out) - Valeur de la correction courante de vitesse d'avance === Brouillard (Mist) - halui.mist.is-on (bit, out) - indique si le brouillard est actif - halui.mist.off (bit, in) - pin de requête d'arrêt du brouillard - halui.mist.on (bit, in) - pin de requête du brouillard === Arrosage (Flood) - halui.flood.is-on (bit, out) - indique si l'arrosage est actif - halui.flood.off (bit, in) - pin de requête d'arrêt d'arrosage - halui.flood.on (bit, in) - pin de requête d'arrosage === Homing - halui.home-all (bit, in) - pin for requesting all axis to home. This pin will only be there if HOME_SEQUENCE is set in the ini file. === Jog est un nombre compris entre 0 et 8, ou . - halui.jog-deadband (float, in)- bande morte pour le jogging analogique (les petites vitesses de jog sont sans effet) - halui.jog.speed (float, in) - positionne la vitesse de jog - halui.jog..analog (float, in) - entrée analogique de vitesse de jog (utilisé avec les joysticks ou autres matériels analogiques) - halui.jog..minus (bit, in) - jog en direction négative - halui.jog..plus (bit, in) - jog en direction positive - halui.jog..minus (bit, in) - jog l'axe en direction négative et à la vitesse de halui.jog.speed velocity - halui.jog..plus (bit, in) - jog l'axe en direction positive et à la vitesse de halui.jog.speed velocity === Joints est un nombre compris entre 0 et 8, ou . - halui.joint..has-fault (bit, out) - pin de status indiquant que le joint est en défaut - halui.joint..home (bit, in) - pin pour la prise d'origine d'un joint spécifique - halui.joint..is-homed (bit, out) - pin de status indiquant que le joint est référencé - halui.joint..is-selected (bit, out) - pin indiquant que le joint est - interne à halui - halui.joint..on-hard-max-limit (bit, out) - pin de status indiquant que le joint est sur son fin de course de limite positive - halui.joint..on-hard-min-limit (bit, out) - pin de status indiquant que le joint est sur son fin de course de limite négative - halui.joint..on-soft-max-limit (bit, out) - pin de status indiquant que le joint est sur sa limite logicielle positive - halui.joint..on-soft-min-limit (bit, out) - pin de status indiquant que le joint est sur sa limite logicielle négative - halui.joint..select (bit, in) - select joint (0..8) - interne à halui - halui.joint..unhome (bit, in) - unhomes this joint - halui.joint.selected (u32, out) - selected joint (0..8) - interne à halui - halui.joint.selected.has-fault (bit, out) - pin de status indiquant que le joint est en défaut - halui.joint.selected.home (bit, in) - pin pour la prise d'origine du joint - halui.joint.selected.is-homed (bit, out) - pin de status indiquant que le joint est référencé - halui.joint.selected.on-hard-max-limit (bit, out) - pin de status indiquant que le joint est sur son fin de course de limite positive - halui.joint.selected.on-hard-min-limit (bit, out) - pin de status indiquant que le joint est sur son fin de course de limite négative - halui.joint.selected.on-soft-max-limit (bit, out) - pin de status indiquant que le joint est sur sa limite logicielle positive - halui.joint.selected.on-soft-min-limit (bit, out) - pin de status indiquant que le joint est sur sa limite logicielle négative - halui.joint.selected.unhome (bit, in) - pin for unhoming the selected joint. === Lube Lubrifiant (Lube) - halui.lube.is-on (bit, out) - indique si le graissage est actif - halui.lube.off (bit, in) - pin de requête d'arrêt du graissage - halui.lube.on (bit, in) - pin de requête de graissage === Machine (Marche / Arrêt) - halui.machine.is-on (bit, out) - indique que la machine est en marche - halui.machine.off (bit, in) - pin de requête d'arrêt machine - halui.machine.on (bit, in) - pin de requête de marche machine === Vitesse maximum La vitesse linéaire maximum peut être ajustée entre 0 et la valeur de la variable MAX_VELOCITY dans la section [TRAJ] du fichier ini. - halui.max-velocity.count-enable (bit, in) - Si TRUE, la vitesse max est modifiée quand le comptage change - halui.max-velocity.counts (s32, in) - vous permet, en agissant sur un codeur, de modifier la vitesse max - halui.max-velocity.decrease (bit, in) - pin pour diminuer la vitesse max - halui.max-velocity.increase (bit, in) - pin pour augmenter la vitesse max - halui.max-velocity.scale (float, in) - Valeur appliquée sur le nombre de fronts montants des pins increase ou decrease en unités machine par seconde. - halui.max-velocity.value (float, out) - Valeur de la vitesse linéaire maximum en unités machine par seconde. === Données manuelles (MDI)[[sub:MDI]] Il arrive que l'utilisateur veuille ajouter des tâches plus complexes devant être effectuées par l'activation d'une pin de HAL. C'est possible en utilisant le schéma de commande en données manuelles (MDI) suivant: - Une MDI_COMMAND est ajoutée dans la section [HALUI] du fichier ini, par exemple [HALUI] MDI_COMMAND = G0 X0 - Quand halui démarre il va lire/détecter le champ MDI_COMMAND dans le fichier ini et exporter les pins de type (bit) halui.mdi-command-, est un nombre compris entre 00 et le nombre de MDI_COMMAND trouvées dans le fichier ini, avec un maximum de 64 commandes. - Quand la pin halui.mdi-command- est activée, halui va essayer d'envoyer au MDI la commande définie dans le fichier ini. Ca ne fonctionnera pas dans tous les modes de fonctionnement où se trouve EMC2, par exemple, tant qu'il est en AUTO halui ne peut pas envoyer de commande MDI. === Sélection d'un joint - halui.joint.select (u32, in) - sélectionne le joint (0..7) - internal halui - halui.joint.selected (u32, out) - joint (0..7) sélectionné - internal halui - halui.joint.x.select bit (bit, in) - pins pour sélectinner un joint - internal halui - halui.joint.x.is-selected bit (bit, out) - pin de status indiquant un joint sélectionné - internal halui === Mode de fonctionnement - halui.mode.auto (bit, in) - pin de requête du mode auto - halui.mode.is_auto (bit, out)- indique si le mode auto est actif - halui.mode.is-joint (bit, out) - indique si le mode joint par joint est actif - halui.mode.is_manual (bit, out) - indique si le mode manuel est actif - halui.mode.is_mdi (bit, out) - indique si le mode données manuelles est actif - halui.mode.is-teleop (bit, out) - indique que le mode jog coordonné est actif - halui.mode.joint (bit, in) - pin de requête du mode jog joint par joint - halui.mode.manual (bit, in) - pin de requête du mode manuel - halui.mode.mdi (bit, in) - pin de requête du mode données manuelles - halui.mode.teleop (bit, in) - pin de requête du mode jog coordonné === Programme - halui.program.block-delete.is-on (bit, out) - status pin telling that block delete is on - halui.program.block-delete.off (bit, in) - pin for requesting that block delete is off - halui.program.block-delete.on (bit, in) - pin for requesting that block delete is on - halui.program.is-idle (bit, out) - pin de status indiquant qu'aucun programme n'est lancé - halui.program.is-paused (bit, out) - pin de status indiquant qu'un programme est en pause - halui.program.is-running (bit, out) - pin de status indiquant qu'un programme est lancé - halui.program.optional-stop.is-on (bit, out) - status pin telling that the optional stop is on - halui.program.optional-stop.off (bit, in) - pin requesting that the optional stop is off - halui.program.optional-stop.on (bit, in) - pin requesting that the optional stop is on - halui.program.pause (bit, in) - pin pour passer un programme en pause - halui.program.resume (bit, in) - pin pour lancer la reprise d'un programme - halui.program.run (bit, in) - pin de lancement d'un programme - halui.program.step (bit, in) - pin pour avancer d'une ligne de programme - halui.program.stop (bit, in) - pin pour stopper un programme === Correcteur de vitesse de broche (Spindle Override) - halui.spindle-override.count-enable (bit, in) - Si TRUE, la correction de vitesse broche varie quand le comptage change. - halui.spindle-override.counts (s32, in) - comptage depuis un codeur, par exemple pour modifier la correction de vitesse de broche - halui.spindle-override.decrease (bit, in) - pin pour diminuer la correction de vitesse de broche (-=scale) - halui.spindle-override.direct-value (bit, in) - false quand en utilisant l'encodeur de changer compte, vrai lorsque la mise compte directement. Le count-activer `broches doit être vrai. - halui.spindle-override.increase (bit, in) - pin pour augmenter la correction de vitesse de broche (+=scale) - halui.spindle-override.scale (float, in) - pin pour positionner l'échelle des corrections de vitesse de broche possibles - halui.spindle-override.value (float, out) - Valeur courante de la correction de vitesse de broche === Broche (Spindle) - halui.spindle.brake-is-on (bit, out) - indique si le frein est actif - halui.spindle.brake-off (bit, in) - pin de désactivation du frein de broche - halui.spindle.brake-on (bit, in) - pin d'activation du frein de broche - halui.spindle.decrease (bit, in) - Diminue la vitesse de broche - halui.spindle.forward (bit, in) - Marche broche en sens horaire - halui.spindle.increase (bit, in) - Augmente la vitesse de broche - halui.spindle.is-on (bit, out) - indique la broche est en marche (les deux sens) - halui.spindle.reverse (bit, in) - Marche broche en sens anti-horaire - halui.spindle.runs-backward (bit, out) - indique la broche est en marche et en sens inverse - halui.spindle.runs-forward (bit, out) - indique la broche est en marche et en marche avant - halui.spindle.start (bit, in) - Marche de la broche - halui.spindle.stop (bit, in) - Arrêt de la broche === Outil (Tool) - halui.tool.length-offset (float, out) - indique la correction de longueur d'outil appliquée - halui.tool.number (u32, out) - indique l'outil courant sélectionné