components_fr.txt
1 :lang: fr 2 :toc: 3 4 = Les composants de HAL 5 6 [[cha:Composants-de-HAL]] 7 8 == Composants de commandes et composants de l'espace utilisateur 9 10 Certaines de ces descriptions sont plus approfondies dans leurs pages man. 11 Certaines y auront une description exhaustive, d'autres, juste une description 12 limitée. Chaque composant a sa man page. La liste ci-dessous, montre les 13 composants existants, avec le nom et le N° de section de leur page man. 14 Par exemple dans une console, tapez _man axis_ pour accéder aux informations de 15 la man page d'Axis. Ou peut être _man 1 axis_, si le système exige le N° de 16 section des man pages. 17 18 * _axis_ - L'interface graphique AXIS pour LinuxCNC (The Enhanced Machine Controller). 19 * _axis-remote_ - Interface de télécommande d'AXIS. 20 * _comp_ - Crée, compile et installe des composants de HAL. 21 * _linuxcnc_ - LINUXCNC (The Enhanced Machine Controller). 22 * _gladevcp_ - Panneau de contrôle virtuel pour LinuxCNC, repose sur Glade, Gtk et 23 les widgets HAL. 24 * _gs2_ - composant de l'espace utilisateur de HAL, pour le variateur de 25 fréquence GS2 de la société _Automation Direct_. 26 * _halcmd_ - Manipulation de HAL, depuis la ligne de commandes. 27 * _hal_input_ - Contrôler des pins d'entrée de HAL avec n'importe quelle 28 matériel supporté par Linux, y compris les matériels USB HID. 29 * _halmeter_ - Observer les pins de HAL, ses signaux et ses paramètres. 30 * _halrun_ - Manipulation de HAL, depuis la ligne de commandes. 31 * _halsampler_ - Échantillonner des données temps réel depuis HAL. 32 * _halstreamer_ - Créer un flux de données temps réel dans HAL depuis un fichier. 33 * _halui_ - Observer des pins de HAL et commander LinuxCNC au travers d'NML. 34 * _io_ - Accepte les commandes NML I/O, interagi avec HAL dans l'espace 35 utilisateur. 36 * _iocontrol_ - Accepte les commandes NML I/O, interagi avec HAL dans l'espace 37 utilisateur. 38 * _pyvcp_ - Panneau de Contrôle Virtuel pour LinuxCNC (Python Virtual Control Panel). 39 * _shuttle_ - Contrôle des pins de HAL avec la manette ShuttleXpress et ShuttlePRO, de 40 la société _Contour Design_. 41 42 == Composants temps réel et modules du noyau 43 44 Certaines de ces descriptions sont plus approfondies dans leur man page. 45 Certaines auront juste une description limitée. Chaque composant 46 a sa man page. A partir de cette liste vous connaîtrez quels composants 47 existent avec le nom et le N° de leur man page permettant d'avoir plus 48 de détails. 49 50 [NOTE] 51 Si le composant requière un thread avec flottant, c'est normalement le plus 52 lent, soit _servo-thread_. 53 54 === Composants du coeur de LinuxCNC[[sec:Realtime-Components-coeur]] === 55 56 * _motion_ - (((motion)))Accepte les commandes de mouvement NML, interagi en temps 57 réel avec HAL. 58 59 * _axis_ - (((axis)))Commandes de mouvement NML acceptées, intéragi en temps réel 60 avec HAL 61 62 * _classicladder_ - (((classicladder)))Automate temps réel programmable en 63 logique Ladder. 64 65 * _gladevcp_ - (((gladevcp)))Affiche un panneaux de contrôle virtuel construit 66 avec GladeVCP. 67 68 * _threads_ - (((threads)))Crée des threads de HAL temps réel. 69 70 === Composants binaires et logiques[[sec:Realtime-Components-logic]] === 71 72 * _and2_ - (((and2))) 73 Porte AND (ET) à deux entrées. 74 75 * _not_ - (((not)))Inverseur. 76 77 * _or2_ - (((or2)))Porte OR (OU) à deux entrées. 78 79 * _xor2_ - (((xor2)))Porte XOR (OU exclusif) à deux entrées. 80 81 * _debounce_ - (((debounce)))Filtre une entrée digitale bruitée (typiquement 82 antirebond). 83 84 * _edge_ _ (((edge)))Détecteur de front. 85 86 * _flipflop_ - (((flipflop)))Bascule D. 87 88 * _oneshot_ - (((oneshot)))Générateur d'impulsion monostable. Crée sur sa sortie 89 une impulsion de longueur variable quand son entrée change d'état. 90 91 * _logic_ - (((logic)))Composant expérimental de logique générale. 92 93 * _lut5_ - (((lut5)))Fonction logique arbitraire à cinq entrées, basée sur une 94 table de correspondance. 95 96 * _match8_ - (((match8)))Détecteur de coïncidence binaire sur 8 bits. 97 98 * _select8_ - (((select8)))Détecteur de coïncidence binaire sur 8 bits. 99 100 === Composants arithmétiques et flottants[[sec:Realtime-Components-flottant]] === 101 102 * _abs_ - [[sub:abs]] (((abs)))Calcule la valeur absolue et le signe d'un signal 103 d'entrée. 104 105 * _blend_ - (((blend)))Provoque une interpolation linéaire entre deux valeurs 106 107 * _comp_ - (((comp)))Comparateur à deux entrées avec hystérésis. 108 109 * _constant_ - (((constant)))Utilise un paramètre pour positionner une pin. 110 111 * _sum2_ - (((sum2)))Somme de deux entrées (chacune avec son gain) et d'un offset. 112 113 * _counter_ - (((counter)))Comptage d'impulsions d'entrée (obsolète). 114 115 Utiliser le composant _encoder_ avec _... counter-mode = TRUE_. 116 Voir la section <<sec:Codeur, codeur>>. 117 118 * _updown_ - (((updown)))Compteur/décompteur avec limites optionnelles et bouclage 119 en cas de dépassement. 120 121 * _ddt_ - (((ddt)))Calcule la dérivée de la fonction d'entrée. 122 123 * _deadzone_ - (((deadzone)))Retourne le centre si il est dans le seuil. 124 125 * _hypot_ - (((hypot)))Calculateur d'hypoténuse à trois entrées (distance 126 Euclidienne). 127 128 * _mult2_ - (((mult2)))Le produit de deux entrées. 129 130 * _mux16_ - (((mux16)))Sélection d'une valeur d'entrée sur seize. 131 132 * _mux2_ - (((mux2)))Sélection d'une valeur d'entrée sur deux. 133 134 * _mux4_ - (((mux4)))Sélection d'une valeur d'entrée sur quatre. 135 136 * _mux8_ - (((mux8)))Sélection d'une valeur d'entrée sur huit. 137 138 * _near_ - (((near)))Détermine si deux valeurs sont à peu près égales. 139 140 * _offset_ - (((offset)))Ajoute un décalage à une entrée et la soustrait à la 141 valeur de retour. 142 143 * _integ_ - (((integ)))Intégrateur. 144 145 * _invert_ - (((invert)))Calcule l'inverse du signal d'entrée. 146 147 * _wcomp_ - (((wcomp)))Comparateur à fenêtre. 148 149 * _weighted_sum_ - (((weighted_sum)))Converti un groupe de bits en un entier. 150 151 * _biquad_ - (((biquad)))Filtre biquad IIR 152 153 * _lowpass_ - (((lowpass)))Filtre passe-bas. 154 155 * _limit1_ - (((limit1)))Limite le signal de sortie pour qu'il soit entre min et max. 156 footnote:[Lorsque l'entrée est une position, cela signifie que la _position_ est 157 limitée.] 158 159 * _limit2_ - (((limit2)))Limite le signal de sortie pour qu'il soit entre min et max. 160 Limite sa vitesse de montée à moins de MaxV par seconde. footnote:[Lorsque 161 l'entrée est une position, cela signifie que la _position_ et la 162 _vitesse_ sont limitées.] 163 164 * _limit3_ - (((limit3)))Limite le signal de sortie pour qu'il soit entre min et max. 165 Limite sa vitesse de montée à moins de MaxV par seconde. 166 Limite sa dérivée seconde à moins de MaxA par seconde carré. footnote:[Lorsque 167 l'entrée est une position, cela signifie que la _position_, la _vitesse_ et 168 l'_accélération_ sont limitées.] 169 170 * _maj3_ - (((maj3)))Calcule l'entrée majoritaire parmi 3. 171 172 * _scale_ - (((scale)))Applique une échelle et un décalage à son entrée. 173 174 === Conversions de type[[sec:Realtime-Components-conversiontype]] === 175 176 * _conv_bit_s32_ - (((conv_bit_s32)))Converti une valeur de bit vers s32 (entier 177 32 bits signé). 178 179 * _conv_bit_u32_ - (((conv_bit_u32)))Converti une valeur de bit vers u32 (entier 180 32 bit non signé). 181 182 * _conv_float_s32_ - (((conv_float_s32)))Converti la valeur d'un flottant vers s32. 183 184 * _conv_float_u32_ - (((conv_float_u32)))Converti la valeur d'un flottant vers u32. 185 186 * _conv_s32_bit_ - (((conv_s32_bit)))Converti une valeur de s32 en bit. 187 188 * _conv_s32_float_ - (((conv_s32_float)))Converti une valeur de s32 en flottant. 189 190 * _conv_s32_u32_ - (((conv_s32_u32)))Converti une valeur de s32 en u32. 191 192 * _conv_u32_bit_ - (((conv_u32_bit)))Converti une valeur de u32 en bit. 193 194 * _conv_u32_float_ - (((conv_u32_float)))Converti une valeur de u32 en flottant. 195 196 * _conv_u32_s32_ - (((conv_u32_s32)))Converti une valeur de u32 en s32. 197 198 === Pilotes de matériel[[sec:Realtime-Components-pilotes]] === 199 200 * _hm2_7i43_ - (((hm2_7i43)))Pilote HAL pour les cartes _Mesa Electronics_ 201 7i43 EPP, toutes les cartes avec HostMot2. 202 203 * _hm2_pci_ - (((hm2_pci)))Pilote HAL pour les cartes _Mesa Electronics_ 204 5i20, 5i22, 5i23, 4i65 et 4i68, toutes les cartes avec micro logiciel HostMot2. 205 206 * _hostmot2_ - (((hostmot2)))Pilote HAL pour micro logiciel _Mesa Electronics_ 207 HostMot2. 208 209 * _mesa_7i65_ - (((7i65)))Support pour la carte huit axes Mesa 7i65 pour servomoteurs. 210 211 * _pluto_servo_ - (((pluto_servo)))Pilote matériel et micro programme pour la 212 carte _Pluto-P parallel-port FPGA_, utilisation avec servomoteurs. 213 214 * _pluto_step_ - (((pluto_step)))Pilote matériel et micro programme pour la 215 carte _Pluto-P parallel-port FPGA_, utilisation avec moteurs pas à pas. 216 217 * _thc_ - (((thc)))Contrôle de la hauteur de torche, en utilisant une carte Mesa THC. 218 219 * _serport_ - (((serport)))Pilote matériel pour les entrées/sorties 220 numériques de port série avec circuits 8250 et 16550. 221 222 === Composants cinématiques[[sec:Realtime-Components-cinematiques]] === 223 224 * _kins_ - (((kins)))Définition des cinématiques pour linuxcnc. 225 226 * _gantrykins_ - (((gantrykins)))Module de cinématique pour un seul axe à 227 articulations multiples. 228 229 * _genhexkins_ - (((genhexkins)))Donne six degrés de liberté en position et en 230 orientation (XYZABC). L'emplacement des moteurs est défini au moment de la 231 compilation. 232 233 * _genserkins_ - (((genserkins)))Cinématique capable de modéliser une bras 234 manipulateur avec un maximum de 6 articulations angulaires. 235 236 * _maxkins_ - (((maxkins))) 237 Cinématique d'une fraiseuse 5 axes nommée _max_, avec tête inclinable (axe B) 238 et un axe rotatif horizontal monté sur la table (axe C). 239 Fourni les mouvements UVW dans le système de coordonnées système basculé. 240 Le fichier source, maxkins.c, peut être un point de départ utile 241 pour d'autres systèmes 5 axes. 242 243 * _tripodkins_ - (((tripodkins)))Les articulations représentent la distance du point 244 contrôlé à partir de trois emplacements prédéfinis (les moteurs), ce qui donne 245 trois degrés de liberté en position (XYZ). 246 247 * _trivkins_ - (((trivkins)))Il y a une correspondance 1:1 entre les 248 articulations et les axes. La plupart des fraiseuses standard et des tours 249 utilisent ce module de cinématique triviale. 250 251 * _pumakins_ - (((pumakins)))Cinématique pour robot style PUMA. 252 253 * _rotatekins_ - (((rotatekins)))Les axes X et Y sont pivotés de 45 degrés par 254 rapport aux articulations 0 et 1. 255 256 * _scarakins_ - (((scarakins)))Cinématique des robots de type SCARA. 257 258 === Composants de contrôle moteur[[sec:Realtime-Components-moteur]] === 259 260 * _at_pid_ - (((at_pid)))Contrôleur Proportionnelle/Intégrale/dérivée avec réglage 261 automatique. 262 263 * _pid_ - (((pid)))Contrôleur Proportionnelle/Intégrale/dérivée. 264 265 * _pwmgen_ - (((pwmgen)))Générateur logiciel de PWM/PDM, voir la section 266 <<sec:PWMgen, PWMgen>> 267 268 * _encoder_ - (((encoder)))Comptage logiciel de signaux de codeur en quadrature, 269 voir la section <<sec:Codeur, codeur>> 270 271 * _stepgen_ - (((stepgen)))Générateur d'impulsions de pas logiciel, 272 voir la section <<sec:Stepgen, stepgen>> 273 274 === BLDC and 3-phase motor control[[sec:Realtime-Components-bldc]] === 275 276 * _bldc_hall3_ - (((bldc_hall3)))Commutateur bipolaire trapézoïdal à 3 directions 277 pour moteur sans balais (BLDC) avec capteurs de Hall. 278 279 * _clarke2_ - (((clarke2)))Transformation de Clarke, version à deux entrées. 280 281 * _clarke3_ - (((clarke3)))Transformation de Clarke, à 3 entrées vers cartésien. 282 283 * _clarkeinv_ - (((clarkeinv)))Transformation de Clarke inverse. 284 285 === Autres composants[[sec:Realtime-Components-autres]] === 286 287 * _charge_pump_ - (((charge_pump)))Crée un signal carré destiné à l'entrée 288 _pompe de charge_ de certaines cartes de contrôle. Le composant _charg_pump_ doit 289 être ajouté à _base_ _thread_. Quand il est activé, sa sortie est haute pour une 290 période puis basse pour une autre période. Pour calculer la fréquence de sortie 291 faire 1/(durée de la période en secondes * 2) = fréquence en Hz. Par exemple, si 292 vous avez une période de base de 100000ns soit 0.0001 seconde, la formule devient: 293 1/(0.0001 * 2) = 5000 Hz ou 5kHz. 294 295 * _encoder_ratio_ - (((encoder_ratio)))Un engrenage électronique pour synchroniser 296 deux axes. 297 298 * _estop_latch_ - (((estop_latch)))Verrou d'Arrêt d'Urgence. 299 300 * _feedcomp_ - (((feedcomp)))Multiplie l'entrée par le ratio vitesse courante / 301 vitesse d'avance travail. 302 303 * _gearchange_ - (((gearchange)))Sélectionne une grandeur de vitesse parmi deux. 304 305 * _ilowpass_ - (((ilowpass)))Filtre passe-bas avec entrées et sorties au format 306 entier. 307 + 308 Sur une machine ayant une grande accélération, un petit jog peut s'apparenter à 309 une avance par pas. En intercalant un filtre _ilowpass_ entre la sortie de 310 comptage du codeur de la manivelle et l'entrée _jog-counts_ de l'axe, le 311 mouvement se trouve lissé. 312 + 313 Choisir prudemment l'échelle, de sorte que durant une simple session, elle ne 314 dépasse pas environ 2e9/scale impulsions visibles sur le MPG. Choisir le gain 315 selon le niveau de douceur désiré. Diviser les valeurs de axis.N.jog-scale par 316 l'échelle. 317 318 * _joyhandle_ - (((joyhandle)))Définit les mouvements d'un joypad non linéaire, 319 zones mortes et échelles. 320 321 * _knob2float_ - (((knob2float)))Convertisseur de comptage (probablement d'un 322 codeur) vers une valeur en virgule flottante. 323 324 * _minmax_ - (((minmax)))Suiveur de valeurs minimum et maximum de l'entrée vers les 325 sorties. 326 327 * _sample_hold_ - (((sample_hold)))Échantillonneur bloqueur. 328 329 * _sampler_ - (((sampler)))Échantillonneur de données de HAL en temps réel. 330 331 * _siggen_ - (((siggen)))Générateur de signal, voir la section <<sec:Siggen,siggen>> 332 333 * _sim_encoder_ - (((sim_encoder)))Codeur en quadrature simulé, 334 voir la section <<sec:Codeur-simul, codeur simulé>> 335 336 * _sphereprobe_ - (((sphereprobe)))Sonde hémisphérique. 337 338 * _steptest_ - (((steptest)))Utilisé par Stepconf pour permettre de tester les 339 valeurs d'accélération et de vitesse d'un axe. 340 341 * _streamer_ - (((streamer)))Flux temps réel depuis un fichier vers HAL. 342 343 * _supply_ - (((supply)))Set output pins with values from parameters (obsolète). 344 345 * _threadtest_ - (((threadtest)))Composant de HAL pour tester le comportement 346 des threads. 347 348 * _time_ - (((time)))Compteur de temps écoulé HH:MM:SS avec entrée _actif_. 349 350 * _timedelay_ - (((timedelay)))L'équivalent d'un relais temporisé. 351 352 * _timedelta_ - (((timedelta)))Composant pour mesurer le comportement temporel 353 des threads. 354 355 * _toggle2nist_ - (((toggle2nist)))Bouton à bascule pour logique NIST. 356 357 * _toggle_ - (((toggle)))Bouton à bascule NO/NF à partir d'un bouton poussoir 358 momentané. 359 360 * _tristate_bit_ - (((tristate_bit)))Place un signal sur une pin d'I/O seulement 361 quand elle est validée, similaire à un tampon trois états en électronique. 362 363 * _tristate_float_ - (((tristate_float)))Place un signal sur une pin d'I/O seulement 364 quand elle est validée, similaire à un tampon trois états en électronique. 365 366 * _watchdog_ - (((watchdog)))Moniteur de fréquence (chien de garde) sur 1 à 32 367 entrées. 368 369 == Appels à l'API de HAL (liste de la section 3 des man pages) 370 .... 371 hal_add_funct_to_thread.3hal 372 hal_bit_t.3hal 373 hal_create_thread.3hal 374 hal_del_funct_from_thread.3hal 375 hal_exit.3hal 376 hal_export_funct.3hal 377 hal_float_t.3hal 378 hal_get_lock.3hal 379 hal_init.3hal 380 hal_link.3hal 381 hal_malloc.3hal 382 hal_param_bit_new.3hal 383 hal_param_bit_newf.3hal 384 hal_param_float_new.3hal 385 hal_param_float_newf.3hal 386 hal_param_new.3hal 387 hal_param_s32_new.3hal 388 hal_param_s32_newf.3hal 389 hal_param_u32_new.3hal 390 hal_param_u32_newf.3hal 391 hal_parport.3hal 392 hal_pin_bit_new.3hal 393 hal_pin_bit_newf.3hal 394 hal_pin_float_new.3hal 395 hal_pin_float_newf.3hal 396 hal_pin_new.3hal 397 hal_pin_s32_new.3hal 398 hal_pin_s32_newf.3hal 399 hal_pin_u32_new.3hal 400 hal_pin_u32_newf.3hal 401 hal_ready.3hal 402 hal_s32_t.3hal 403 hal_set_constructor.3hal 404 hal_set_lock.3hal 405 hal_signal_delete.3hal 406 hal_signal_new.3hal 407 hal_start_threads.3hal 408 hal_type_t.3hal 409 hal_u32_t.3hal 410 hal_unlink.3hal 411 intro.3hal 412 undocumented.3hal 413 .... 414 415 == Appels à RTAPI 416 .... 417 EXPORT_FUNCTION.3rtapi 418 MODULE_AUTHOR.3rtapi 419 MODULE_DESCRIPTION.3rtapi 420 MODULE_LICENSE.3rtapi 421 RTAPI_MP_ARRAY_INT.3rtapi 422 RTAPI_MP_ARRAY_LONG.3rtapi 423 RTAPI_MP_ARRAY_STRING.3rtapi 424 RTAPI_MP_INT.3rtapi 425 RTAPI_MP_LONG.3rtapi 426 RTAPI_MP_STRING.3rtapi 427 intro.3rtapi 428 rtapi_app_exit.3rtapi 429 rtapi_app_main.3rtapi 430 rtapi_clock_set_period.3rtapi 431 rtapi_delay.3rtapi 432 rtapi_delay_max.3rtapi 433 rtapi_exit.3rtapi 434 rtapi_get_clocks.3rtapi 435 rtapi_get_msg_level.3rtapi 436 rtapi_get_time.3rtapi 437 rtapi_inb.3rtapi 438 rtapi_init.3rtapi 439 rtapi_module_param.3rtapi 440 RTAPI_MP_ARRAY_INT.3rtapi 441 RTAPI_MP_ARRAY_LONG.3rtapi 442 RTAPI_MP_ARRAY_STRING.3rtapi 443 RTAPI_MP_INT.3rtapi 444 RTAPI_MP_LONG.3rtapi 445 RTAPI_MP_STRING.3rtapi 446 rtapi_mutex.3rtapi 447 rtapi_outb.3rtapi 448 rtapi_print.3rtap 449 rtapi_prio.3rtapi 450 rtapi_prio_highest.3rtapi 451 rtapi_prio_lowest.3rtapi 452 rtapi_prio_next_higher.3rtapi 453 rtapi_prio_next_lower.3rtapi 454 rtapi_region.3rtapi 455 rtapi_release_region.3rtapi 456 rtapi_request_region.3rtapi 457 rtapi_set_msg_level.3rtapi 458 rtapi_shmem.3rtapi 459 rtapi_shmem_delete.3rtapi 460 rtapi_shmem_getptr.3rtapi 461 rtapi_shmem_new.3rtapi 462 rtapi_snprintf.3rtapi 463 rtapi_task_delete.3rtpi 464 rtapi_task_new.3rtapi 465 rtapi_task_pause.3rtapi 466 rtapi_task_resume.3rtapi 467 rtapi_task_start.3rtapi 468 rtapi_task_wait.3rtapi 469 .... 470