= Exemples avec Halui Pour que ces exemples fonctionnent, vous devez ajouter la ligne suivante dans la section {[}HAL{]} du fichier ini. HALUI = halui == Pause et Reprise Cet exemple a été developpé pour permettre à EMC2 de déplacer un axe rotatif selon un signal provenant d'une machine extérieure. La coordination entre les deux systèmes sera assurée par deux composants de Halui. - halui.program.is-paused - halui.program.resume Dans votre fichier custom.hal, ajoutez les deux lignes suivantes qui seront connectées à vos entrées/sorties pour mettre le programme en pause ou pour le reprendre quand l'autre système veut qu'EMC2 soit relancé. net ispaused halui.program.is-paused => votre broche en sortienet resume halui.program.resume <= votre broche en entrée Vos broches entréeet sortiecorrespondent à celles qui sont câblées vers l'autre contrôleur. Elles peuvent être des broches du port parallèle ou toutes autres broches auquelles vous avez accès. Le fonctionnement est le suivant, quand un M0 est rencontré dans le programme g-code, halui.program.is-paused devient øg vrai . Ce qui rend votre broche sortieégalement øg vraie de sorte que l'autre contrôleur sait qu'EMC2 est arrêté. Pour reprendre le cours du g-code l'autre contrôleur devra rendre votre entréeøg vraie . Ce qui relancera EMC2 jusqu'au prochain M0. Difficultés de timing - Le signal de reprise ne doit pas être plus long que le temps nécessaire pour exécuter le g-code - Le signal øg Is Paused ne doit plus être actif quand le signal suivant de reprise arrive Ces problèmes de timming pourraient être évités en utilisant ClassicLadder pour activer le signal øg is paused avec une tempo et le désactiver en fin de tempo. La reprise pourrait également être fournie par un signal monostable très court.