#LyX 1.3 created this file. For more info see http://www.lyx.org/ \lyxformat 221 \textclass book \language frenchb \inputencoding default \fontscheme default \graphics default \paperfontsize default \spacing single \papersize Default \paperpackage a4 \use_geometry 0 \use_amsmath 0 \use_natbib 0 \use_numerical_citations 0 \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language english \quotes_times 2 \papercolumns 1 \papersides 1 \paperpagestyle default \layout Chapter EMC2 et HAL \layout Standard Voir également les pages \series bold motion(9) \series default et \series bold iocontrol(1) \series default du manuel. \layout Section motion (realtime) \layout Standard Ces pins, paramètres et fonctions sont créés par le module temps réel \family typewriter \begin_inset Quotes eld \end_inset motmod \family default \begin_inset Quotes erd \end_inset . \layout Subsection Pins \begin_inset LatexCommand \index{motion (hal pins)} \end_inset \layout Description motion.adaptive-feed\SpecialChar ~ IN\SpecialChar ~ float Quand la vitesse est placée en mode adaptatif avec \family typewriter M52\SpecialChar ~ P1 \family default la vitesse commandée est multipliée par cette valeur. Cet effet est multiplicatif avec \series bold motion.feed-hold \series default et la valeur du correcteur de vitesse du niveau NML. \layout Description motion.digital-out-NN\SpecialChar ~ OUT\SpecialChar ~ bit Ces pins sont controlées par les mots \family typewriter M62 \family default jusqu'à \family typewriter M65 \family default . \layout Description motion.enable\SpecialChar ~ IN\SpecialChar ~ bit Si ce bit devient FALSE, les mouvements s'arrêtent, la machine est placée dans l'état \begin_inset Quotes eld \end_inset machine arrêtée \begin_inset Quotes erd \end_inset et un message est affiché pour l'opérateur. Pour un fonctionnement normal, ce bit sera TRUE. \layout Description motion.feed-hold\SpecialChar ~ IN\SpecialChar ~ bit Quand la vitesse est placée en mode arrêt contrôlé avec \family typewriter M53\SpecialChar ~ P1 \family default et que ce bit est TRUE, la vitesse est fixée à 0. \layout Description motion.motion-inpos\SpecialChar ~ OUT\SpecialChar ~ bit TRUE si la machine est en position. \layout Description motion.probe-input\SpecialChar ~ IN\SpecialChar ~ bit \family typewriter G38.x \family default utilise la valeur de cette pin pour déterminer quand la sonde de mesure entre en contact. TRUE le contact de la sonde est fermé (touche), FALSE le contact de la sonde est ouvert. \layout Description motion.spindle-brake\SpecialChar ~ OUT\SpecialChar ~ bit TRUE quand le frein de broche doit être activé. \layout Description motion.spindle-forward\SpecialChar ~ OUT\SpecialChar ~ bit TRUE quand la broche doit tourner en sens horaire. \layout Description motion.spindle-reverse\SpecialChar ~ OUT\SpecialChar ~ bit TRUE quand la broche doit tourner en sens anti-horai re. \layout Description motion.spindle-on\SpecialChar ~ OUT\SpecialChar ~ bit TRUE quand la broche doit tourner. \layout Description motion.spindle-speed-out\SpecialChar ~ OUT\SpecialChar ~ float Consigne de vitesse de rotation de la broche, exprimée en tours par minute. \layout Description motion.spindle-index-enable\SpecialChar ~ I/O\SpecialChar ~ bit Pour les mouvements avec broche synchronisée, ce signal doit être raccordé à la broche \begin_inset Quotes eld \end_inset index-enable \begin_inset Quotes erd \end_inset du codeur de broche. \layout Description motion.spindle-revs\SpecialChar ~ IN\SpecialChar ~ float Pour les mouvements avec broche synchronisée, ce signal doit être raccordé à la broche \begin_inset Quotes eld \end_inset position \begin_inset Quotes erd \end_inset du codeur de broche. \layout Subsection Paramètres \layout Standard Beaucoup de ces paramètres servent d'aide au déboguage et sont sujets aux changements ou au retrait à tout moment. \layout Description motion.coord-error TRUE quand le mouvement est en erreur, ex: dépasser une limite soft. \layout Description motion.coord-mode TRUE quand le mouvement est en \begin_inset Quotes eld \end_inset mode coordonnées \begin_inset Quotes erd \end_inset par opposistion au \begin_inset Quotes eld \end_inset mode téléopération \begin_inset Quotes erd \end_inset . \layout Description motion.in-position Identique à la pin: \series bold motion.motion-inpos. \layout Description motion.motion-enabled TRUE quand le mouvement est activé. \layout Description motion.servo.last-period Le nombre de cycle du processeur entre les invoquations du thread servo. Typiquement, ce nombre divisé par la vitesse du processeur donne un temps en secondes. Il peut être utilisé pour determiner si le contrôleur de mouvement en temps réel respecte ses contraintes de timing. \layout Description motion.servo.overruns En voyant de grandes différences entre les valeurs successiv es de \series bold motion \emph on . \emph default servo \emph on . \emph default last \emph on - \emph default period \series default , le contrôleur de mouvement peut déterminer qu'il a eu un échec pour respecter ses contraintes de timing. Chaque fois qu'une erreur est détectée, cette valeur est incrémentée. \layout Description motion.debug-bit-0 \layout Description motion.debug-bit-1 \layout Description motion.debug-float-0 \layout Description motion.debug-float-1 Ces valeurs sont utilisées pour le déboguage. \layout Subsection Fonctions \layout Standard Généralement, ces fonctions sont toutes les deux ajoutées à servo-thread dans l'ordre suivant: \layout Description motion-command-handler Processus des commandes de mouvement provenant de l'interface utilisateur. \layout Description motion-controller Lance le contrôleur de mouvement d'emc. \layout Section axis.N (temps réel) \layout Standard Ces pins et paramètres sont créés par le module temps réel \begin_inset Quotes eld \end_inset \family typewriter motmod \begin_inset Quotes erd \end_inset \family default . Ce sont en fait des valeurs d'articulations, mais les pins et les paramètres sont toujours appelés \begin_inset Quotes eld \end_inset axis.N \begin_inset Quotes erd \end_inset . \begin_inset Foot collapsed false \layout Standard Dans une machine à \begin_inset Quotes eld \end_inset cinématique triviale \begin_inset Quotes erd \end_inset , il y a correspondance une pour une, entre les articulations et les axes. \layout Standard NDT: nous utilisons dans cette traduction le terme \begin_inset Quotes eld \end_inset axe \begin_inset Quotes erd \end_inset , dans le cas d'une cinématique non triviale il devra être remplacé par le terme \begin_inset Quotes eld \end_inset articulation \begin_inset Quotes erd \end_inset (joint). \end_inset Ils sont lus et mis à jour par la fonction \series bold motion \emph on - \emph default controller \series default . \layout Subsection Pins \begin_inset LatexCommand \index{axis (hal pins)} \end_inset \layout Description axis.N.amp-enable-out\SpecialChar ~ OUT\SpecialChar ~ bit TRUE si l'ampli de cet axe doit être activé. \layout Description axis.N.amp-fault-in\SpecialChar ~ IN\SpecialChar ~ bit Doit être mis TRUE si une erreur externe est détectée sur l'ampli de cet axe. \layout Description axis.N.home-sw-in\SpecialChar ~ IN\SpecialChar ~ bit Doit être mis TRUE si le contact d'origine de cet axe est pressé. \layout Description axis.N.homing\SpecialChar ~ OUT\SpecialChar ~ bit TRUE si la prise d'origine de cette axe a été faite. \layout Description axis.N.pos-lim-sw-in\SpecialChar ~ IN\SpecialChar ~ bit Doit être mis TRUE si le fin de course de limite positive de cet axe est activé. \layout Description axis.N.neg-lim-sw-in\SpecialChar ~ IN\SpecialChar ~ bit Doit être mis TRUE si le fin de course de limite négative de cet axe est activé. \layout Description axis.N.index-enable\SpecialChar ~ IO\SpecialChar ~ BIT Doit être reliée à la broche \begin_inset Quotes eld \end_inset index-enable \begin_inset Quotes erd \end_inset du codeur de cet axe pour activer la prise d'origine sur l'impulsion d'index. \layout Description axis.N.jog-counts\SpecialChar ~ IN\SpecialChar ~ s32 Connection à la broche \begin_inset Quotes eld \end_inset counts \begin_inset Quotes erd \end_inset d'un codeur externe utilisé comme manivelle. \layout Description axis.N.jog-enable\SpecialChar ~ IN\SpecialChar ~ bit Quand elle est TRUE (et en mode manuel), tout changement dans \begin_inset Quotes eld \end_inset jog-counts \begin_inset Quotes erd \end_inset se traduira par un mouvement. Quand elle est FALSE, \begin_inset Quotes eld \end_inset jog-counts \begin_inset Quotes erd \end_inset sera ignoré. \layout Description axis.N.jog-scale\SpecialChar ~ IN\SpecialChar ~ float Fixe la distance, en unités machine, du déplacement pour chaque évolution de \begin_inset Quotes eld \end_inset jog-counts \begin_inset Quotes erd \end_inset . \layout Description axis.N.jog-vel-mode\SpecialChar ~ IN\SpecialChar ~ bit Quand elle est FALSE (par défaut), la manivelle fonctionn e en mode position. L'axe se déplace exactement selon l'incrément de jog sélectionné pour chaque impulsion, sans s'occuper du temps que prendra le mouvement. Quand elle est TRUE, la manivelle fonctionne en mode vitesse. Le mouvement s'arrête quand la manivelle s'arrête, même si le mouvement commandé n'est pas achevé. \layout Description axis.N.motor-pos-cmd\SpecialChar ~ OUT\SpecialChar ~ float La position commandée pour cet axe. \layout Description axis.N.motor-pos-fb\SpecialChar ~ IN\SpecialChar ~ float La position actuelle de cet axe. \layout Description axis.N.joint-pos-cmd Position commandée de l'axe (par opposition à celle du moteur). Il peut y avoir un décalage entre la position de l'axe et celle du moteur, par exemple, le processus de prise d'origine peut ajuster cet écart. \layout Description axis.N.joint-pos-fb Le retour de position (par opposition à celui du moteur). \layout Subsection Paramètres \layout Standard Beaucoup de ces paramètres servent d'aide au déboguage et sont sujets aux changements ou au retrait à tout moment. \layout Description axis.N.active TRUE quand cet axe est actif. \layout Description axis.N.backlash-corr Valeur brute de ratrappage de jeu. \layout Description axis.N.backlash-filt Valeur filtrée de ratrappage de jeu (respect des limites de mouvement). \layout Description axis.N.backlash-vel Vitesse de ratrappage de jeu. \layout Description axis.N.coarse-pos-cmd \layout Description axis.N.error TRUE quand une erreur ce produit sur cet axe, ex: une limite de course est atteinte. \layout Description axis.N.f-error Erreur de suivi actuelle. \layout Description axis.N.f-error-lim Limite d'erreurs de suivi. \layout Description axis.N.f-errored TRUE quand cet axe à dépassé la limite d'erreurs de suivi. \layout Description axis.N.free-pos-cmd Position commandée en \begin_inset Quotes eld \end_inset free planner \begin_inset Quotes erd \end_inset pour cet axe. \layout Description axis.N.free-tp-enable TRUE quand le \begin_inset Quotes eld \end_inset free planner \begin_inset Quotes erd \end_inset est activé pour cet axe. \layout Description axis.N.free-vel-lim Vitesse limite en \begin_inset Quotes eld \end_inset free planner \begin_inset Quotes erd \end_inset . \layout Description axis.N.home-state Refète l'étape de la prise d'origine en cours actuellement. \layout Description axis.N.homed TRUE si la prise d'origine de cet axe a bien été réalisée. \layout Description axis.N.in-position TRUE si cet axe, utilisant le \begin_inset Quotes eld \end_inset free planner \begin_inset Quotes erd \end_inset , a atteint un arrêt. \layout Description axis.N.joint-vel-cmd Vitesse commandée des axes. \layout Description axis.N.neg-hard-limit Fin de course de limite d'axe négative. \layout Description axis.N.neg-soft-limit Limite soft négative de cet axe. \layout Description axis.N.pos-hard-limit Fin de course de limite d'axe positive. \layout Description axis.N.pos-soft-limit Limite soft positive de cet axe. \layout Section iocontrol (espace utilisateur) \layout Standard Ces pins sont créées par le contrôleur d'entrées/sorties de l'espace utilisateur , habituellement appelé \family typewriter \begin_inset Quotes eld \end_inset io \family default \begin_inset Quotes erd \end_inset . \layout Subsection Pins \begin_inset LatexCommand \index{iocontrol (HAL pins)} \end_inset \layout Description iocontrol.0.coolant-flood TRUE quand l'arrosage est demandé. \layout Description iocontrol.0.coolant-mist TRUE quand le brouillard est demandé. \layout Description iocontrol.0.emc-enable-in Doit être mise FALSE quand un arrêt d'urgence externe est enfoncé. \layout Description iocontrol.0.lube TRUE quand le graissage centralisé est commandé. \layout Description iocontrol.0.lube_level Doit être mise TRUE quand le niveau d'huile est assez haut. \layout Description iocontrol.0.tool-change TRUE quand un changement d'outil est demandé. \layout Description iocontrol.0.tool-changed Doit être mise TRUE quand le changement d'outil est terminé. \layout Description iocontrol.0.tool-prep-number Numéro du prochain outil, donné dans le mot T selon RS274NGC. \layout Description iocontrol.0.tool-prepare TRUE quand une préparation d'outil est demandée. \layout Description iocontrol.0.tool-prepared Doit être mise TRUE quand une préparation d'outil est terminée. \layout Description iocontrol.0.user-enable-out FALSE quand un arrêt d'urgence interne est enfoncé. \layout Description iocontrol.0.user-request-enable TRUE quand l'utilisateur relâche l'arrêt d'urgence. \the_end