/ docs / src / hal / components_fr.txt
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