Home

Manuel de l`intégrateur V2.6.11-22-gb8bc0ad, 2015-11

image

Contents

1. 26 432 Vitesse dedetechon HUME LAPCHOYEL ooo cocos pans peine ab edit 26 433 HOME IGNORE LIMITS 5 c edga ies de 5 2448658 A ne eaves 27 4 54 HOME USE INDEX oscar RR ui ie Bae BA a aes 27 433 HOME OFFSET po cis miee dit ee be BEADS REESE EES BRS Eee a 27 42306 Pasion de Vomeme HOME oe 8 4 0 86 24 34 G4 dee ee bE ew SR RE 27 437 HOME TS SHARED oss os hd a YA BR Se es BR ee we 27 3 0 HOME SEQUENCE css bee bea Pe pe Ge eRe Gee Ee ee par Es bb 27 439 VOLATILE HOME 25 45 08 246 bebe de Dee eae ee ee Ale eG ae Ee ale ee 27 43 10 LOCKING INDEXER ooo os bb x DU A du eed ea ee 28 5 Tours 29 Sr Panpa A AN 29 e Weplages IND ois a A eR EEG a a ds A dd IE 29 6 Fichiers TCL pour HAL 30 ol MING ad o AA AE AA RR A e ee EE CEOS A 30 02 Comandos Daid osa a Ce Oe ER A A O DRE DO 30 6 3 Variables do Oclier ia ee paltel os yc L ns D es ee A a pa ie ae 31 64 Conversi n des fichiers halen nchier tel s s co un 6 ee sue ba bas Dana si 31 63 Notes a propos debakel 4 us epea Ba dns e muse AR Gps NH Ses E 31 6 6 Exemples pourhaliel ooo 364 8 Lei Sub M de dons be Land m dia 32 GF Intermtivite de halel 0 260 644 bbe De eee ad fan We eee ow RUE nr dou at eat fa 32 6 8 Exemples pour haltcl fournis avec la distribution sim 33 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 iv 7 LinuxCNC et HAL 34 Fl OO eel ne e a pos A Re we he ee eA ap ee b Rue 34
2. connecter la commande de vitesse au variateur net gs2 RPM spindle vfd speed command lt motion spindle speed out Sur le variateur de fr quence lui m me il est n cessaire de fixer quelques param tres avant de pouvoir communiquer avec lui par Modbus D autres seront ajust s selon les caract ristiques demand es par le syst me Ces r glages sortent pour la plupart du cadre de cet exemple ils sont tous expliqu s dans le manuel du variateur qu il est imp ratif de consulter Les switches de communication doivent tre positionn s sur RS 232C Les param tres moteur doivent tre ajust s en fonction du moteur P3 00 Source des commandes de marche doit tre ajust sur Op rations d termin es par l interface RS 485 03 ou 04 P4 00 Source des commandes de fr quence doit tre ajust sur Fr quence d termin e par l interface RS232C RS485 05 P9 02 Protocole de communication doit tre ajust sur Modbus RTU mode 8 bits de donn e pas de parity 2 bits de stop 03 Un panneau de commande virtuel PyVCP bas sur cet exemple est donn dans l exemple avec un variateur 1 En Europe on trouve une gamme de produits identiques sous la marque Omron Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 174 193 Quatri me partie Diagnostics amp FAQ Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 175 193 Chapitre 23 Moteurs pas pas Si ce que vous o
3. does Ge Setti Active Galodes Af checkbutton G39 radobutton b 617 640 650 650 Gel GA Gin 05 a GOT GL 58 HS FO HS HES HD FO LED 1 E rod A Lou Fed Chrieridh r 100 LEDT z jog Speed TE inmin togge 50 radiobuAton Mix Weleda TI yen a Commands AXIS splash g cade Hot intended for actual mllisg i D man 1h18 code de ach Off the Z arit p Goto Goto i dep sa erial 15 poor eili z 1 i Hint f g i machine current system rt Also presa ihe Ta bp Linea wi th io set that part zero Pero e i DT the progres 19 foo big ar till fer your machine change fhe icale 3 Arbre igabis iruki ype free tent rete ri Be Lal talic ttti EN fou has teed Pesition Relatie Abu Pour lancer ce panneau dans Touchy cd configs sim linuxcnc gladevcp_touchy ini Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 80 193 nf t Relative Absolute DTG Haniwbasi E 0 4941 Xu 0 2000 xa 2 0000 Y 0 0000 Y 0 5000 T 0 0000 POL E 0 1068 bfi lt 0 000 Es 0 0000 FO 100 us SO 100 lab D Fer LES i J Eue Goat 1 o yu MH 100 A toate yale HENI A Sa KU Jogging d ja a CL a ib i Sata FRE 0 01 a en K a rahia CEE 0001 Y 0 0001 ra Startup MOT Manual Auto Status Preferences GladeVCP demo feel DIO q eme dr E SR ionnellement ces configurations sont identiques La seule diff rence porte sur l tat et la visibilit de l cran Puisqu il est possible de lance
4. 43 8 10 Ajouter un bouton d Arret d Ureenceiexteme 5 2204 ES eR ENS ESE er rares 43 9 PyVCP 45 Ol TOUS Lie Li Lun se t s ss Manu AA 45 92 Construchond unpann au pr EP e nr Lo Mn de de de one Pe ae A ge Roi 46 e o IA Bee Oe 47 94 WiliserpyVeP avec AXI coo e eee a da 47 9 3 Panneaux PyVCP autonomies ii e a o a A ae de a ee 48 6 Documentation des widgetsde pyV CP s ra obo baa ee ewe SN eee ld 49 DI AMAS Aa a eal be ow a ee E 49 30 2 Noles TERIB aa 5 po eee pe a Ee OR ee Ss paw ee eR a 4 al 49 903 COMME s eh he eS RA Ee ee e ES e ee A 50 964 Editerun fehi XML 2224 4 bei eee Cee eA ee ee hw ee de ee Me eee Ee 50 SES IU a ee cd E he AO a es ee ee ey eS a 50 960 Pistas HAL s 245544845 be eS eS BRE ee ea a a eh ae a 50 GOF EARL os bd te Cae eae IA AA ee ONE a le ee ee ee So 51 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 v DOS Le ee eee ANN 51 909 Laledr nde oscar A DES e e las da 51 96 10 Laled tectae oso 4 6 dl A A A 51 POIL Leboutom DUON ascii sia BA a E a a A eut a BO BE hoa Ra iaa M 4 Rd qu 52 9 6 11 1 Bouton avec texte Text Button o es s e 4 484505 di dd dau pau ue 52 06 112 Case a cocher checkKbutton s epes 6465565 60 Sb A He 6 52 06 113 Bouton radio radiobutton 2 22 2 44 4 4 44 Ee ad be a SS 53 96 12 Affichage d un nombre number 2 s erwe De noue e d ne de db UE vu a 53 PLAT NWD LU Lau sise ns Oe ee ae ee SR a ne mel
5. sortie gt Processus consigne 2 erreur FIGURE 1 2 Boucle PID En ajustant trois composantes proportionnelle int grale et d riv e dans l algorithme du contr leur PID nous pouvons concevoir une r gulation qui s adapte aux exigences de processus sp cifiques La r ponse du contr leur peut tre d crite en trois termes de r activit une erreur de tol rance au d passement du point de consigne et au taux d oscillation du syst me 1 2 2 Terme proportionnel Le terme proportionnel appel plus souvent gain proportionnel applique un changement la sortie qui est proportionnelle a la valeur d erreur courante Un gain lev provoque un grand changement la sortie pour un petit changement de l erreur Si le gain est trop haut le syst me peut devenir instable Au contraire un gain trop faible aboutit une faible r ponse de la sortie en r action une grande erreur d entr e Si le gain proportionnel est trop bas il peut tre trop faible pour r pondre aux perturbations du syst me En l absence de perturbation un contr le proportionnel pur ne se positionnera pas sa valeur cible mais conservera un tat d erreur statique qui est une fonction du gain proportionnel et du gain du processus Malgr la compensation de l tat stationnaire tant la th orie des syst mes asservis que la pratique industrielle indiquent que c est le terme proportionnel qui devrait contribuer la plu
6. MAX_LIMIT 1000 Limite maximale des mouvements de cet axe limite logicielle en unit s machine Quand cette limite tend tre d pass e le contr leur arr te le mouvement MIN_FERROR 0 010 Valeur indiquant en unit s machine de combien le mobile peut d vier tr s petite vitesse de la position command e Si MIN_FERROR est plus petit que FERROR les deux produisent une rampe de points de d rive Vous pouvez imaginer un graphe sur lequel une dimension repr sente la vitesse et l autre l erreur tol r e Quand la vitesse augmente la quantit d erreurs de suivi augmente galement et tend vers la valeur FERROR FERROR 1 0 FERROR est le maximum d erreur de suivi tol rable en unit s machine Si la diff rence entre la position command e et la position retourn e exc de cette valeur le contr leur d sactive les calculs des servomoteurs positionne toutes les sorties 0 0 et coupe les amplis des moteurs Si MIN_FERROR est pr sent dans le fichier ini une vitesse proportionnelle aux erreurs de suivi est utilis e Ici le maximum d erreur de suivi est proportionnel la vitesse quand FERROR est appliqu la vitesse rapide d finie dans TRAJJMAX_VELOCITY et proportionnel aux erreurs de suivi pour les petites vitesses L erreur maximale admissible sera toujours sup rieure MIN_FERROR Cela permet d viter que de petites erreurs de suivi sur les axes stationnaires arr tent les mouvements
7. TWOPASS ON Utilise le processus fwopass double passe pour charger les composants HAL Avec le processus TWOPASS tous les fichiers HAL HALFILES sont premi rement lus et les occurrences multiples des directives loadrt pour chaque module sont cumul es Aucune commande HAL n est ex cut e la premi re passe HALFILE example hal Ex cute le fichier example hal au d marrage Si HALFILE est sp cifi plusieurs fois les fichiers sont ex cut s dans l ordre de leur apparition dans le fichier ini Presque toutes les configurations auront au moins un HALFILE Les syst mes moteurs pas pas ont g n ralement deux de ces fichiers un qui sp cifie la configuration g n rale des moteurs core_stepper hal et un qui sp cifie le brochage des sorties xxx_pinout hal HAL command Ex cute command comme tant une simple commande hal Si HAL est sp cifi plusieurs fois les com mandes sont ex cut es dans l ordre o elles apparaissent dans le fichier ini Les lignes HAL sont ex cut es apr s toutes les lignes HALFILE SHUTDOWN shutdown hal Ex cute le fichier shutdown hal quand LinuxCNC s arr te Selon les pilotes de mat riel utilis s il est ainsi possible de positionner les sorties sur des valeurs d finies quand LinuxCNC s arr te normalement Cependant parce qu il n y a aucune garantie que ce fichier sera ex cut par exemple dans le cas d une panne de l ordinateur il ne remplace pas une
8. Avec quelques pr cautions appropri es les fichiers hal et tcl peuvent tre m lang s 6 1 Compatibilit Le langage utilis dans les fichiers tcl a une syntaxe simple qui est un sous ensemble du puissant et polyvalent langage de script Tel 6 2 Commandes haltcl Les fichiers haltcl utilisent le langage de script Tcl auquel s ajoutent les commandes sp cifiques de la couche d abstraction mat riel de LinuxCNC HAL Les commandes sp cifiques sont les suivantes addf alias delf delsig getp gets ptype stype help linkpp linkps linksp list loadrt loadusr lock net newsig save setp sets show source start status stop unalias unlinkp unload unloadrt unloadusr unlock waitusr Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 31 193 Il existe deux cas particuliers les commandes gets et list en raison de conflits avec les commandes internes de Tcl Pour haltcl ces commandes doivent tre pr c d es du mot cl hal comme ci dessous halcmd haltcl gets hal gets list hal list 6 3 Variables du fichier ini et haltcl Les variables du fichier ini sont accessibles par halemd comme par haltcl mais avec une syntaxe diff rente Les fichiers ini de LinuxCNC utilisent des sp cificateurs SECTION et ITEM pour identifier les items de configuration SECTION_A ITEM1 value_1 ITEM2 value_2 SECTION_B Les valeurs du fichier ini sont accessibles pa
9. reset the RS274NGC interpreter set_adaptive_feed int set adaptive feed flag set_analog_output int float set analog output pin to value set_block_delete int set block delete flag set_digital_output int int set digital output pin to value set_feed hold int set feed hold on off set_feed override int set feed override on off set_ max limit int float set max position limit for a given axis set_min limit set min position limit for a given axis set_optional stop int set optional stop on off set_spindle_override int set spindle override flag spindle int set spindle direction Argument one of SPINDLE_FORWARD SPINDLE_REVERSE SPINDLE_OFF SPINDLE_INCREASE SPINDLE_DECREASE or SPINDLE_CONSTANT spindleoverride float set spindle override factor state int set the machine state Machine state should be STATE_ESTOP STATE_ESTOP_RESET STATE_ON or STATE_OFF teleop_enable int enable disable teleop mode teleop vector float float float float float float set teleop destination vector Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 115 193 tool_offset int float float float float float int set the tool offset See usage example above traj_mode int set trajectory mode Mode is one of MODE_FREE MODE_COORD or MODE_TELEOP unhome int unhome a given axis wait_complete float wait for completion of the last command sent If timeout in seconds not specif
10. DEFAULT_LINEAR_VELOCITY 25 Vitesse minimum par d faut pour les jogs lin aires en unit s machine par seconde Seulement utilis dans l interface AXIS MIN_VELOCITY 01 Valeur approximative minimale du curseur de vitesse de jog MAX_LINEAR_VELOCITY 1 0 Vitesse maximum par d faut pour les jogs lin aires en unit s machine par seconde Seule ment utilis dans l interface AXIS MIN_LINEAR_VELOCITY 01 Approximativement la valeur minimale du curseur de vitesse de jog DEFAULT_ANGULAR_VELOCITY 25 Vitesse minimum par d faut pour les jogs angulaires en unit s machine par se conde Seulement utilis dans l interface AXIS MIN_ANGULAR_VELOCITY 01 Valeur approximative minimale du curseur de vitesse angulaire de jog MAX_ANGULAR_VELOCITY 1 0 Vitesse maximum par d faut pour les jogs angulaires en unit s machine par seconde Seulement utilis dans l interface AXIS INCREMENTS 1 mm 5 mm D finit les incr ments disponibles pour le jog incr mental Les incr ments peuvent tre utilis s pour remplacer la valeur par d faut Ces valeurs doivent contenir des nombres d cimaux ex 0 1000 ou des nombres fractionnaires ex 1 16 ventuellement suivis par une unit parmi cm mm um inch in ou mil Si aucune unit n est sp cifi e les unit s natives de la machine seront utilis es Distances m triques et imp riales peuvent tre m lang es INCREME
11. Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 52 193 Le code ci dessus produit cette led entour e d un relief 9 6 11 Le bouton button Un bouton permet de contr ler une pin de type bit La pin sera mise vraie quand le bouton sera press et maintenu enfonc elle sera mise fausse quand le bouton sera rel ch Les boutons peuvent suivre les options de formatage suivantes lt padx gt n lt padx gt o n est le nombre d espaces horizontaux suppl mentaires lt pady gt n lt pady gt o n est le nombre d espaces verticaux suppl mentaires lt activebackground gt color lt activebackground gt Couleur au survol du curseur lt bg gt color lt bg gt Couleur du bouton 9 6 11 1 Bouton avec texte Text Button lt button gt lt halpin gt Bouton 0K lt halpin gt lt text gt OK lt text gt lt button gt lt button gt lt halpin gt Bouton Abandon lt halpin gt lt text gt Abort lt text gt lt button Le code ci dessus produit 9 6 11 2 Case cocher checkbutton Une case cocher contr le une pin de type bit La pin sera mise vraie quand la case est coch e et fausse si la case est d coch e Une case non coch e J et une case coch e Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 53 193 Exemple de code lt checkbutton gt lt halpin gt coolant chkbtn lt halpin gt lt text gt Coolant lt text gt lt
12. motion spindle lock bit out Pin indiquant que l orientation est atteinte et le cycle achev Rel ch e par M3 M4 ou MS 7 1 2 1 Utilisation des pins de HAL pour l orientation broche avec M19 Par convention la broche est dans un des trois modes suivants mode rotation mode par d faut mode recherche d orientation mode orientation atteinte Quand un M19 est ex cut la broche passe en mode recherche d orientation et la pin de HAL spindle orient est activ e L orien tation cible est sp cifi e par les pins spindle orient angle et spindle orient fwd et pilot e par les param tres R et P du M19 La logique de HAL r agi l ordre sur la pin spindle orient en d pla ant la broche dans la position souhait e Quand cette orientation est atteinte la logique de HAL l indique en activant la pin spindle is oriented En r ponse motion d sactive la pin spindle orient et active la pin spindle locked indiquant le passage en mode orientation atteinte I active galement la pin spindle brake La broche est alors en mode orientation atteinte Si pendant que spindle orient est vraie et que spindle is oriented est fausse la pin spindle orient fault a une valeur autre que z ro la commande M19 est abandonn e un message incluant le code d erreur est affich et la file d attente de motion est vid e La broche repasse en mode rotation Les commandes M3 M4 ou M5 annulent les modes recherche d orientatio
13. 16 1 2 Th orie 16 1 2 1 Acton Proportionele on secere eR us ua dis ES eh b dut DE Acton USERS o oo MRC EME SENTE oe aa Etes POS ARROCES us dun as EY Se oS Es nn 16 1 3 Reslage ine boucle 245 eae dis Du a nes a Reese gt Bond de BO D BU se da 16 1 3 M thode simple oops ane ae ne ut Un el ee dr ae a ed 16 152 M thode de Zesler Nich ls op 44 ke a diese Eau ae uk bu b ut II La logique Ladder 17 La programmation en Ladder 17 1 Introduction lt lt 17 2 Exemples o oeo a a 18 Classicladder Programming 18 1 Ladder Concepts 18 2 Languages 18 3 Components BIT lA 18 3 2 Realtime Module 117 117 117 117 118 119 119 119 121 121 121 121 122 123 123 124 124 124 125 125 125 125 125 126 126 127 128 128 128 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 ix LS Vaneples 0 orador oe ER ee ee ee Pa Ee eR eS se 131 18 4 Loading the Classic Ladder user module 34 4 RR eR De eR ec a 132 Beco Ce Deer GUT o de AR BORE ESA SEES See fa Pewee gee ee x 132 Isl Sections Managem io os i ON OR OR ir RO Pee Se eR eR ie we 132 18 3 2 Section Display ooo Len ee Se de a age et we bol ee we a 133 Dees The Varia le Windays 2 ok E Sai oe wee E te Oe eee gard bo 134 L834 Symbol Widow cocoa De dos eed ee hu a Ade Pe PGA Rd 136 18 3 5 The Editor Window oc ocos aor e eR RRR RE Re ee Ee ee po eh dite de 137 ee Conie WO es x 2
14. 20us Ce qui signifierait que tous les changements d tat des lignes STEP et DIR serait espac s de 20uUs C est tout bon non Faux Si la latence tait de z ro et que tous les fronts soient espac s de 20us tout irait bien Mais tous les ordinateurs ont une latence Si l ordinateur a 11us de latence cel signifie que ce que ordinateur ex cute aura parfois un retard de 11s et la fois suivante pourra tre juste l heure le d lai entre le premier et le second sera seulement de 9s Si le premier g n re l impulsion de pas et le second change la broche de direction le timing de 20us requis par le G202 sera tout simplement viol Cela signifie que votre moteur aura peut tre fait un pas dans la mauvaise direction et que votre pi ce ne sera pas la cote Le c t vraiment mauvais de ce probl me est qu il peut tre tr s tr s rare Les pires latences sont celles qui ne se produisent que quelques fois par minute Les chances qu une mauvaise latence de ce genre arrive juste quand le moteur est en train de changer de direction sont faibles Ainsi vous avez de tr s rares erreurs qui vous ruinent une pi ce de temps en temps et qui sont impossibles r soudre La fa on la plus simple pour viter ce probl me est de choisir une BASE_PERIOD qui soit la somme de la plus longue p riode requise par votre carte plus la dur e de la pire latence de votre ordinateur Si vous utilisez un Gecko avec un temps de maintien e
15. images stb fwd rev gt lt vbox gt lt pyvcp gt M me r sultat mais en ajoutant l image stb gif FIGURE 9 4 Halpin 1 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 57 193 FIGURE 9 5 Halpin 2 9 6 14 Barre de progression bar Le widget barre de progression affiche la valeur d un signal FLOAT graphiquement dans une barre de progression et simultan ment en num rique lt bar gt lt halpin gt bar lt halpin gt lt A Oman lt max_ gt 123 lt max_ gt lt bgcolor gt grey lt bgcolor gt eolon redt allie color lt bar gt Le code ci dessus donne ce r sultat 9 6 15 Galvanom tre meter Le galvanom tre affiche la valeur d un signal FLOAT dans un affichage aiguille l ancienne sweter lt halpin gt mymeter lt halpin gt lt text gt Battery lt text gt lt subtext gt Volts lt subtext gt lt size gt 250 lt size gt anua O malins lt max_ gt 15 5 lt max_ gt lt majorscale gt 1 lt majorscale gt lt minorscale gt 0 2 lt minorscale gt lt regionl gt 14 5 15 5 yellow lt region1 gt lt region2 gt 12 14 5 green lt region2 gt lt region3 gt 0 12 red lt region3 gt lt meter gt Le code ci dessus donne ce r sultat Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 58 193 9 6 16 Bo te d incr ment spinbox La bo te d incr ment contr le une pin FLOAT La valeur de la pin est
16. 15 1 1 Effectuer un test de latence Le CPU n est pas le seul facteur d terminant la latence Les cartes m res cartes graphiques ports USB et nombre d autres choses peuvent la d grader La meilleure fa on de savoir ce que vous pouvez attendre d un PC consiste ex cuter le test de latence RTAL Lancer un test comme d crit au chapitre sur le test de latence 15 1 2 Conna tre ce dont vos cartes de pilotage ont besoin Les diff rente marques de cartes de pilotage de moteurs pas pas demandent toutes des timing diff rents pour les impulsions de commande de pas et de direction Aussi vous avez besoin d acc der ou Google la fiche des sp cifications techniques de votre carte Par exemple le manuel du Gecko G202 indique Step Frequency 0 to 200 kHz Step Pulse 0 Time 0 5 S mathrm mu s min Step on falling edge Step Pulse 1 Time 4 5 mathrm mu s min Direction Setup 1 mathrm mu s min 20 mathrm mu s min hold time after Step edge Les sp cifications du Gecko G203V indiquent Step Frequency 0 to 333 kHz Step Pulse 0 Time 2 0 mathrm mu s min Step on rising edge Step Pulse 1 Time 1 0 mathrm mu s min Direction setup 200 ns 0 2 mathrm mu s before step pulse rising edge 200 ns 0 2S mathrm mu s hold after step pulse rising edge Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 122 193 Un carte Xylotex donne dans ses donn e
17. In compare blocks the function W ABS W1 W2 is accepted but does not compute properly only 9 W0 ABS W 1 1s currently legal When loading a ladder program it will load Modbus info but will not tell Classic Ladder to initialize Modbus You must initialize Modbus when you first load the GUI by adding modmaster If the section manager is placed on top of the section display across the scroll bar and exit is clicked the user program crashes When using modmaster you must load the ladder program at the same time or else only TCP will work reading writing multiple registers in Modbus has checksum errors 18 10 Setting up Classic Ladder In this section we will cover the steps needed to add Classic Ladder to a Stepconf Wizard generated config On the advanced Configuration Options page of Stepconf Wizard check off Include Classic Ladder PLC Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 151 193 EMG2 Stepper Mill Configuration ix Advanced Configuration Options O include Halui user interface component O Include custom PyVCP GUI panel Pyvcp Example Options i M1 include Classicladder PLC PLC Options Number of digital in pins 15 2 Number of digital out pins fis E Number of analog s32 in pins 10 Number of analog 32 out pins Go E Number of analog float in pins 10 Is Number of analog float out pins o S O Include modbus master support Blank ladder prog
18. La disposition d un panneau pyVCP est sp cifi e dans un fichier XML qui contient les balises des widgets entre lt pyvcp gt et lt pyvcp gt Par exemple lt pyvcp gt lt label text Ceci est un indicateur a LED gt lt led gt lt pyvcp gt E panneau Ceci est un indicateur LED Si vous placez ce texte dans un fichier nomm tiny xml et que vous le lancez avec pyvcp c panneau tiny xml Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 47 193 pyVCP va cr er le panneau pour vous il y inclut deux widgets un Label avec le texte Ceci est un indicateur a LED et une LED rouge utilis e pour afficher l tat d un signal HAL de type BIT Il va aussi cr er un composant HAL nomm panneau tous les widgets dans ce panneau sont connect s aux pins qui d marrent avec panneau Comme aucune balise lt halpin gt n tait pr sente l int rieur de la balise lt led gt pyVCP nomme automatiquement la pin HAL pour le widget LED panneau led 0 Pour obtenir la liste des widgets leurs balises et options consultez la documentation des widgets Un fois que vous avez cr votre panneau connectez lui les signaux HAL vers et partir des pins py VCP et avec la commande habituelle net lt signal name gt lt pin name gt lt opt direction gt lt opt pin name gt signal name Si vous d butez avec HAL le tutoriel de HAL est vivement recommand 9 3 S curit avec pyVCP Certaines parties d
19. a pas encore t appel ce point ainsi on peut ajouter ses propres pins par exemple dans la m thode de classe init Apr s que tous les modules ont t import s et que les noms des m thodes ont t extraits les tapes suivantes se produisent Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 100 193 Tous les noms de m thode qualifi s seront connect s l arbre du widget avec connect_signals ou signal_autoconnect selon le type de l UI import e format GtkBuilder ou l ancien libglade Le composant de HAL est finalis avec halcomp ready Si un ID de fen tre est pass comme argument l arbre du widget est re apparent pour d marrer dans cette fen tre et la fen tre de niveau sup rieur de Glade window1 est abandonn e voir la FAQ Si un fichier de commandes de HAL est pass avec H halfile il est ex cut avec halcmd La boucle principal de Gtk est lanc e Ainsi lorsque le gestionnaire de classe est initialis tous les widgets sont existants mais pas encore r alis s affich s l cran Et le composant de HAL n est pas pr t non plus de sorte qu il n est pas s r d acc der aux valeurs des pins dans la m thode init Si on doit avoir une fonction de rappel ex cuter au d marrage du programme mais apr s qu il soit s r d acc der aux pins de HAL alors connecter un gestionnaire au signal de la fen tre de niveau sup rieur r a
20. apr s tous les autres en ayant la valeur la plus petite de HOME_SEQUENCE et apr s qu ils soient d j tous HOME_OFFSET Si deux axes ont la m me valeur de HOME_SEQUENCE leurs POM s effectueront simultan ment Si HOME_SEQUENCE est gale 1 ou n est pas sp cifi e l axe ne sera pas compris dans la s quence HOME_ALL Les valeurs de HOME _SEQUENCE d butent 0 il ne peut pas y avoir de valeur inutilis e 4 3 9 VOLATILE HOME Si ce param tre est vrai l origine machine de cet axe sera effac e chaque fois que la machine sera mise l arr t Cette variable est appropri e pour les axes ne maintenant pas la position si le moteur est d sactiv gravit de la broche par exemple Certains moteurs pas pas en particulier fonctionnant en micropas peuvent se comporter de la sorte Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 28 193 4 3 10 LOCKING_INDEXER Si cet axe comporte un verrouillage d indexeur rotatif celui ci sera d verrouill avant le d but de la s quence de prise d origine et verrouill la fin Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 29 193 Chapitre 5 Tours 5 1 Plan par d faut Quand l interpr teur de LinuxCNC t cr il t crit pour les fraiseuses C est pourquoi le plan par d faut est le plan XY G17 Sur un tour standard on utilise seulement les axes du plan XZ G18 Pour changer le plan par d faut d un tou
21. autre entr e de spindle at speed net spindle cmd gt spindle at speed inl net spindle ramped gt spindle at speed in2 He de e Se la sortie de spindle at speed est envoy e motion spindle at speed et quand elle devient TRUE les mouvements peuvent commencer net spindle ready lt spindle at speed out gt motion spindle at speed 20 6 Vitesse de broche avec signal de retour Une information de retour est n cessaire pour que LinuxCNC puisse r aliser des mouvements synchronis s avec la broche comme le filetage ou la vitesse de coupe constante L assistant de configuration StepConf peut r aliser les connections lui m me si les signaux Canal codeur broche et Index codeur broche sont choisis parmi les entr es Mat riel suppos pr sent Un codeur est mont sur la broche et d livre 100 impulsions par tour sur son canal A Ce canal A est raccord la broche 10 du port parall le L index de ce codeur est connect la broche 11 du port parall le Configuration de base pour ajouter ces composants loadrt encoder num _ chan 1 addf encoder update counters base thread addf encoder capture position servo thread setp encoder 0 position scale 100 setp encoder 0 counter mode 1 net spindle position encoder 0 position gt motion spindle revs net spindle velocity encoder 0 velocity gt motion spindle speed in net spindle index enabl ncoder 0 index en
22. offsets 184 ORIENT OFFSET 17 P Panneau de Contr le Virtuel 45 PARAMETER FILE 17 part Program 184 Prise d origine 24 program units 184 pwd 179 Python Interface 106 PyVCP avec Axis 47 R R glages des pas pas 121 R gulation PID 124 rapid 185 rapid rate 185 real time 185 Rechercher un texte 180 repertoire de travail 179 RS274NGC 185 RS274NGC STARTUP CODE 17 RTAL 185 RTAPL 185 RTLINUX 185 S Section Section Section Section Section Section Section Section DISPLAY du fichier ini 14 EMC du fichier ini 14 EMCIO du fichier ini 23 EMCMOT du fichier ini 17 FILTER du fichier ini 16 HAL du fichier ini 18 HALUI du fichier ini 18 RS274NGC du fichier ini 17 Section TASK du fichier ini 18 Section TRAJ du fichier ini 18 Sections 13 Sections AXIS _n du fichier ini 19 Sens de rotation de la broche 168 servo motor 185 SERVO PERIOD 18 signal enable 43 signal polarite 43 Signed Integer 185 spindle 185 standard pinout 41 stepper 40 Stepper Diagnostics 175 stepper motor 185 SUBROUTINE PATH 17 sudo gedit 179 Ce es E res ss ML res ers ers Drames rene ru T TASK 185 TBL 10 Terminal Commands 179 Test de latence 6 Tk 185 tklinuxcnc 14 touchy 14 TRAJ PERIOD 18 Traverse Move 185 Trouver un fichier 180 U UNITS 20 units 186 Unsigned Integer 186 USER M PATH 17 V VAR 10 Verrouillage Indexeur 28
23. qui ont comme param tres X Y Z Ces positions se r f rent exactement des positions Cart siennes Une partie du contr leur de mouvements de LinuxCNC est responsable de la translation entre ces positions et les positions correspondantes de la cin matique de la machine 14 1 1 Les articulations par rapport aux axes Une articulation pour une machine CNC est un des degr s physiques de libert de la machine Elle peut tre lin aire vis billes ou rotative table tournante articulations d un bras robotis Il peut y avoir n importe quel nombre d articulations sur une machine Par exemple un robot classique dispose de 6 articulations et une fraiseuse classique n en a que 3 Sur certaines machines les articulations sont plac es de mani re correspondre aux axes cin matiques articulation O le long de l axe X articulation 1 le long de l axe Y et articulation 2 le long de l axe Z ces machines sont appel es machines Cart siennes ou encore machines cin matiques triviales Ce sont les machines les plus courantes parmi les machines outils mais elles ne sont pas courantes dans d autres domaines comme les machines de soudage ex robots de soudage de type puma 14 2 Cin matiques triviales Comme nous l avons vu il y a un groupe de machines sur lesquelles chacun des axes est plac le long d un des axes Cart siens Sur ces machines le passage du plan de l espace Cart sien le programme G code au
24. trange au premier abord surtout par rapport aux plus normal des circuits lectroniques o le bon d roulement des entr es vers les sorties est de ne jamais revenir en arri re 4 Si cela peut aider 1 quivalent le plus proche dans le monde num rique ce sont les machines d tat machines s quentielles o l tat des sorties ce moment d pend de l tat que les entr es et sorties avaient avant Si cela n aide pas alors passons Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 3 193 Si tout contr le tout le reste comment cela peut il fonctionner qui en a la charge La r ponse est que LinuxCNC peut contr ler ce syst me mais il doit le faire en choisissant une des diff rentes m thodes de contr le La m thode de contr le qu utilise LinuxCNC est l une des plus simples et la meilleure appel e PID PID est l acronyme de Proportionnelle Int grale et D riv e La valeur proportionnelle d termine la r action l erreur actuelle la valeur int grale d termine la r action bas e sur la somme d erreurs r centes et la valeur d riv e d termine la r action bas e sur la vitesse de variation de l erreur Ce sont trois techniques communes de math matique qui sont appliqu es pour fournir un processus de suivi d une consigne Dans le cas de LinuxCNC le processus que nous voulons contr ler est l actuelle position de l axe et le point de consigne qui est la position command e l axe
25. 20 2 Vitesse de broche en PWM Si la vitesse de la broche peut tre contr l e par un signal de PWM utiliser le composant pwmgen pour cr er le signal loadrt pwmgen output_type 0 addf pwmgen update servo thread addf pwmgen make pulses base thread net spindle speed cmd motion spindle speed out gt pwmgen 0 value net spindle on motion spindle on gt pwmgen 0 enabl net spindle pwm pwmgen 0 pwm gt parport 0 pin 09 out Adapter selon la vitesse maximale de la broche en tr mn setp pwmgen 0 scale 1800 La r ponse du contr leur de PWM est simple 0 donne Otr mn 10 donnent 180 tr mn 100 donnent 1800 tr mn Si un minimum est n cessaire pour faire tourner la broche suivre l exemple nist lathe fourni dans les exemples de configuration pour ajouter un composant d chelle 20 3 Marche broche Si un signal de marche broche reliant motion spindle on une broche de sortie physique est envisag Pour relier ces pins une broche du port parall le ajouter une ligne comme la suivante dans le fichier hal il faut bien s r qu elle soit c bl e l interface de contr le Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 168 193 net spindle enable motion spindle on gt parport 0 pin 14 out 20 4 Sens de rotation de la broche Pour contr ler le sens de rotation de la broche les pins de HAL motion spindle forward et motion spindle reverse tant contr l es par M3 et M4 peuvent tre m
26. 4 4 4 4 t homeswitches lt parport 0 pin 10 in net homeswitches gt axis 0 home sw in net homeswitches gt axis 1 home sw in net homeswitches gt axis 2 home sw in Sample separate limit switches on the X axis axis 0 net X neg limit parport 0 pin 11 in gt axis 0 neg lim sw in mer XPOS MAA AAN IZ AS Ms OOS MS ln Just like the shared home switches example you can wire together limit switches Beware if you hit one LinuxCNC will stop but can t tell you which switch axis has faulted Use caution when recovering from this net Xlimits parport 0 pin 13 in gt axis 0 neg lim sw in axis 0 pos lim sw in Les lignes commen ant par sont des commentaires aident la lecture du fichier 8 5 Vue d ensemble du fichier standard_pinout hal Voici les op rations qui sont ex cut es quand le fichier standard_pinout hal est lu par l interpr teur 1 Les fonctions de lecture criture du pilote sont assign e au thread Base thread 8 6 Pour Le pilote du port parall le est charg voir le Parport section de le Manuel de HAL pour plus de d tails 2 3 Les signaux du g n rateur de pas et de direction des axes X Y Z sont raccord s aux broches du port parall le 4 5 Un signal de marche broche est d fini et raccord une broche du port parall le D autres signaux d entr es sorties sont connect s boucle d arr t d urgence boucle du changeur d outil Modifier le fi
27. Ifno port name for serial is set TCP IP mode will be used The slave address is the slave address Modbus RTU or the IP address The IP address can be followed per the port number to use xx xx xx xx pppp else the port 9502 will be used per default Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 150 193 2 products have been used for tests a Modbus TCP one Adam 6051 http www advantech com and a serial Modbus RTU one http www ipac ws See examples adam 6051 and modbus_rtu_serial Web links http www modbus org and this interesting one http www iatips com modbus html MODBUS TCP SERVER INCLUDED Classic Ladder has a Modbus TCP server integrated Default port is 9502 the previous standard 502 requires that the appli cation must be launched with root privileges List of Modbus functions code supported are 1 2 3 4 5 6 15 and 16 Modbus bits and words correspondence table is actually not parametric and correspond directly to the B and W variables More information on modbus protocol is available on the internet http www modbus org 18 9 3 Communication Errors If there is a communication error a warning window will pop up if the GUI is running and EO will be true Modbus will continue to try to communicate The EO could be used to make a decision based on the error A timer could be used to stop the machine if timed out etc 18 9 4 MODBUS Bugs
28. Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 193 193 Vitesse broche atteilte 169 Vitesse broche en 0 10V 167 Vitesse broche PWM 43 Vitesse de broche en PWM 167 Vitesse de d tection du contact d origine 26 Vitesse de recherche du contact d origine 26 VOLATILE HOME 27 W world coordinates 186 X xlinuxcne 14
29. Solel APO ea ee woe oe Se a OB She Bae eerie ow See te Bee ee rtd be 35 REL O agin A eo be A A dt oS Wao ie eo ote eos i 35 7 1 2 1 Utilisation des pins de HAL pour l orientation broche avec M19 36 PLS Paramehes o ce ec dede Ban BREE E BL Gee eH ES Pe Me eae SS Ex 37 FLA OOO irnos be ee oa wee ee bee be obs eed AA baw s 37 TZ ADR CONS TCDD o ds be we ye ek ae eS 37 Pel PW Sais yew eS abe MD SOE ES oe we Se eH ES EGS EG Vee Se eS So 37 eee JPSRQMECUGR eA D des Le ee OE ba wee eee ee be toh Ped PERN Eds 38 To locontollespace Wilga coa Ss Se ROA es Se Both Re Eee RA GO De ye a ek due 38 Sol ANIOS Stee kG i nce Ghee tb RES ates Ase sah Ad A es Se AS ek 39 8 Configuration d un syst me pas direction dir step 40 SA AnWOdienen odia Oe wa Cee A ee ee hae eee ea hee wae AAA 40 2 Fr quence de prs maximdle cobros ee GRE Ob ew eee Pee ee ee une le 40 Boo Brocha 22 14 sa ip Ae Ee eS eS BR Se ape A we ol amp a eS 40 84A Lefichierstandard pinout hal se cesi e e wie A ee eee Meee ES 41 3 5 VYued ensemble du fichier standard pimouthal p so spa ceapa eaa a a e te 42 8 6 Modifier le fichier standard_pinouthal 42 3 7 Modifier lapolante d un signal s ce dosc deia Lan sut dot enr deteste 43 3 3 Ajouter le contr le de vitesse broche en PWM cs Le sa ns une sum de e e 43 8 9 Ajouter un signal de validation enable
30. e permet toujours de r duire l cart moyen entre la mesure en sortie et la consigne Donc finalement une boucle PI bien r gl e verra sa sortie redescendre lentement la valeur de la consigne 16 1 2 3 Action D riv e L action d riv e utilise aussi la notion de temps Elle cherche anticiper l erreur future La d riv e premi re la pente de l erreur est calcul e pour un laps de temps et multipli e par la constante n gative D puis elle est additionn e soustraction de l erreur de mesure la quantit r gul e L action d riv e de la r gulation fourni une r ponse aux perturbations agissant sur le syst me Plus important est le terme d riv plus rapide sera la r ponse en sortie une perturbation sur l entr e Plus techniquement une boucle PID peut tre caract ris e comme un filtre appliqu sur un syst me complexe d un domaine fr quentiel C est utilis pour calculer si le syst me atteindra une valeur stable Si les valeurs sont choisies incorrectement le proc d entrera en oscillation et sa sortie n atteindra jamais la consigne 16 1 3 R glage d une boucle R gler une boucle de r gulation consiste agir sur les param tres des diff rentes actions gain du proportionnel gain de l int gral gain de la d riv e sur des valeurs optimales pour obtenir la r ponse d sir e sur la sortie du proc d Le comportement des proc d s varient selon les applications lors d un changem
31. e pour une distance quivalente 1 1 5 2 ou 3 impulsions de comp tage du codeur mais cela n a rien d une r gle stricte Un r glage l che large permet de moins solliciter le servo au d triment de la pr cision Un r glage serr petit permettra d atteindre une grande pr cision mais le servo sera plus sollicit Est ce vraiment plus pr cis si c est plus incertain En r gle g n rale il est pr f rable d viter le plus possible de solliciter le servo si c est possible Ayez la prudence de ne pas chercher aller en dessous d une impulsion de codeur sinon vous enverrez votre servo quelque part o il ne sera pas heureux Cela peut arriver entre r glage lent et r glage nerveux et m me un r glage impropre peut provoquer des couinements des grincements dus aux oscillations provoqu es par ce mauvais r glage Il est pr f rable de perdre une ou deux impulsions au d but des r glages au moins jusqu avoir bien d grossi les r glages Exemple de calcul en unit s machine par top de codeur utiliser pour d cider de la valeur de DEADBAND bande morte X pouces top de codeur 1 tour 1000 top de codeur 1 top de codeur 4 top en quadr ature 0 2 pouce tour 0 200 pouce 4000 top de codeur 0 000050 pouce top de codeur Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 22 193 BIAS 0 000 dans HAL Parfois appel offset il est utilis par hm2 servo et quelques autres Le Bias e
32. id xoffset yoffset zoff set aoffset boffset coffset uoffset voffset woffset diameter frontangle backangle orientation The id and orientation are integers and the rest are floats velocity returns float default velocity reflects TRAJ DEFAULT_VELOCITY 13 3 2 The axis dictionary The axis configuration and status values are available through a list of per axis dictionaries Here s an example how to access an attribute of a particular axis import linuxenc s linuxcnc stat SO OAMI print Axis 1 homed s axis 1 homed Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 111 193 For each axis the following dictionary keys are available axisType returns integer type of axis configuration parameter reflects AXIS_x TYPE LINEAR 1 ANGULAR 2 See Axis ini configuration for details backlash returns float Backlash in machine units configuration parameter reflects AXIS_x BACKLASH enabled returns integer non zero means enabled fault returns integer non zero means axis amp fault ferror_current returns float current following error ferror_highmark returns float magnitude of max following error homed returns integer non zero means has been homed homing returns integer non zero means homing in progress inpos returns integer non zero means in position input returns float current input position max_ferror returns float max
33. relief gt lt bd gt 3 lt bd gt lt vbox gt lt relief gt RAISED lt relief gt lt bd gt 2 lt bd gt lt label gt lt text gt 0n lt text gt lt font gt Helvetica 18 lt font gt lt label gt lt width gt 5 lt width gt lt hbox gt lt label width 2 gt lt utilis pour centrer la Led gt lt rectled gt lt halpin gt on led lt halpin gt lt height gt 30 lt height gt lt width gt 30 lt width gt lt on_color gt green lt on_color gt lt Of EaColor gt req lt Ott mc Olor gt lt rectled gt lt hbox gt 1 En Europe on trouve ce type de variateur sous la marque Omron Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 74 193 lt vbox gt lt la Led Sens horaire lt vbox gt lt relief gt RAISED lt relief gt lt bd gt 2 lt bd gt lt label gt lt text gt Sens horaire lt text gt lt font gt Helvetica 18 lt font gt lt width gt 5 lt width gt lt label gt lt label width 2 gt lt rectled gt lt halpin gt fwd led lt halpin gt lt height gt 30 lt height gt lt width gt 30 lt width gt lt on_color gt green lt on_color gt lt Ormcolor red lt ierit Colors lt rectled gt lt vbox gt lt l La Led Sens inverse gt lt vbox gt lt relief gt RAISED lt relief gt lt bd gt 2 lt bd gt lt label gt lt text gt Sens inverse lt text gt lt font gt Helvetica 18 lt fo
34. riode de base BASE_PERIOD est le m tronome de ordinateur de LinuxCNC A chaque p riode le logiciel de g n ration de pas calcule si c est le moment pour une autre impulsion de pas Une p riode de base plus courte permet de produire plus d impulsions de pas par seconde mais si elle est trop courte l ordinateur passera tout son temps g n rer les impulsions et les autres services seront ralentis voir bloqu s La latence et les besoins des pilotes des moteurs pas a pas d terminent la dur e minimum de la p riode que nous pouvons utiliser La latence la plus d favorable peut ne se pr senter que quelquefois par minute ou m me moins La probabilit que cela se produise au m me moment qu un changement de direction du moteur et faible Donc on peut obtenir des erreurs tr s rares et intermittentes qui ruinent une production de temps en temps et il est impossible d intervenir pour r gler le probl me La fa on la plus simple d viter ce probl me est de choisir un BASE_PERIOD qui est la somme des plus longues exigences de temps de votre p riph rique et le pire cas de latence de votre ordinateur Ceci n est pas toujours le meilleur choix Par exemple si le pilote moteur a besoin d un maintien du signal de direction d une dur e de 20 us est que la latence maximum est de 11 us la p riode de base sera de 11 20 31 us ce qui donne une fr quence de g n ration de pas de 32258 pas par seconde dans un mode et de 16129 pas par
35. sur le comportement de fill anchor et expand r f rez vous au manuel du pack Tk pack 3tk Valeurs par d faut fill y anchor center expand yes Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 63 193 9 7 4 Labelframe Un labelframe est un cadre entour d un sillon et un label en haut gauche lt labelframe text Label Leds group es gt lt labelframe text Label Leds group es gt lt font gt Helvetica 16 lt font gt lt hbox gt lt led gt lt led gt lt led gt lt hbox gt lt labelframe gt Label Leds group es 9 7 5 Table Une table est un container qui permet d crire dans une grille de lignes et de colonnes Chaque ligne d bute avec la balise lt tablerow gt Un widget contenu peut tre en lignes ou en colonnes par l utilisation de la balise lt tablespan rows cols gt Les bordures des cellules contenant les widgets sticky peuvent tre r gl es gr ce l utilisation de la balise lt tablesticky sticky gt Une table flexible peut s tirer sur ses lignes et ses colonnes sticky Exemple lt table flexible rows 2 flexible columns 1 4 gt lt tablesticky sticky new gt lt tablerow gt lt label gt lt tr gt A eeu Wi Were lt relief gt RIDGE lt relief gt lt bd gt 3 lt bd gt lt label gt lt label text B cell 1 2 gt lt tablespan columns 2 gt Kleine rte C D colle
36. 1 Avec cette valeur 1 la broche reste en marche pendant le changement d outil Particuli rement utile sur les tours TOOL_CHANGE_QUILL_UP 1 Avec cette valeur 1 l axe Z sera d plac sur son origine machine avant le changement d outil C est l quivalent d un GO G53 ZO TOOL_CHANGE_AT_G30 1 Avec cette valeur 1 le mobile sera envoy sur un point de r f rence pr d fini par G30 dans les param tres 5181 5186 Pour plus de d tails sur les param tres de G30 voir le chapitre relatif au G code dans le Manuel de l utilisateur RANDOM_TOOLCHANGER 1 C est pour des machines qui ne peuvent pas placer l outil dans la poche il vient Par exemple les machines qui change I outil dans la poche active avec I outil dans la broche Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 24 193 Chapitre 4 Prise d origine 4 1 La prise d origine La prise d origine semble assez simple il suffit de d placer chaque axe un emplacement connu et de positionner l ensemble des variables internes de LinuxCNC en cons quence Toutefois les machines tant diff rentes les unes des autres la prise d origine est maintenant devenue assez complexe 4 2 S quences de prise d origine Il existe quatre s quences de prise d origine possibles Elles sont d finies par le signe des variables SEARCH_VEL et LATCH_VEL ainsi que les param tres de configuration associ s la figure suiva
37. 1 8 amel 1 4 7s lt tablerow gt lt label text TE cell 2 ar lt tablesticky sticky nsew gt lt tablespan rows 2 gt lt label text spans n2 rows gt lt tablesticky sticky new gt lt label text G cell 2 3 gt lt label text H cell 2 4 gt lt tablerow gt lt label text J cell 3 1 gt lt label text K cell 3 2 gt lt u32 halpin test gt lt table gt Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 64 193 B cell 1 2 C D cells 1 3 and 1 4 E cell2 1 spans G cell 2 3 H cell 2 4 J cel31 Zrows K cell 3 2 0 9 7 6 Onglets Tabs Une interface onglets permet d conomiser l espace en cr ant un container pour chaque nom d onglet tabs Une seule section tabs peut exister les tabs ne peuvent pas tre imbriqu s ni empil s La largeur de l onglet le plus large determine la largeur des onglets lt tabs gt lt names gt Spindle Green Eggs Ham lt names gt lt vbox gt lt label gt lt text gt Spindle speed lt text gt lt label gt lt bar gt lt halpin gt spindle speed lt halpin gt lt max_ gt 5000 lt max_ gt lt bar gt lt vbox gt lt vbox gt lt label gt lt text gt this is the green eggs tab lt text gt lt label gt lt vbox gt lt vbox gt lt label gt lt text gt this tab has nothing on it lt text gt lt label gt lt vbox gt lt tab
38. 16 95 193 Simulate Who are you probe contact bi I m an EMC Action MDI G x j Hi l m an EMC_Action_MDI x Noter que le bouton associ l Action MDI est gris si la machine est arr t e en A U ou si l interpr teur est d j en marche Il deviendra automatiquement actif quand la machine sera mise en marche donc sortie de l A U E Stop et que le programme est au repos 11 6 5 Param tres pass s avec les widgets Action_MDI et ToggleAction_MDI Optionnellement la chaine MDI command peut avoir des param tres substitu s avant d tre pass e l interpr teur Ces para m tres sont actuellement les noms des pins de HAL dans les composants Glade VCP Voici comment cela fonctionne Supposons que nous avons une SpinBox HAL nomm e speed nous voulons passer sa valeur courante comme param tre dans une commande MDI La SpinBox HAL aura une pin de HAL de type flottant nomm e speed f voir la description des Widgets Hal Pour substituer cette valeur dans la commande MDI ins rons le nom de la pin de HAL Pour la spinbox HAL pr c dente il aurait t possible d utiliser L exemple de fichier UI est configs gladevcp mdi command example speed ui Voici ce qui ce qui est obtenu en le lan ant Dfans MIE jo GE x paramter in MDI command 11 6 6 Un exemple plus avanc Passer des param tres un sous programme O word Il est parfaitement permis d appeler u
39. 5 2 Section Display When you first start up Classic Ladder you get an empty Section Display window Displayed is one empty rung Section Display of custom clp GUI reloaded with existing ladder program New New Load Load save Save Em Save As J Reset ER ECS AT Vars m FIGURE 18 2 Section Display Default Window Most of the buttons are self explanatory The Vars button is for looking at variables toggle it to display one the other both then none of the windows The Config button is used for modbus and shows the max number of ladder elements that was loaded with the real time module The Symbols button will display an editable list of symbols for the variables hint you can name the inputs outputs coils etc The Quit button will shut down the user program meaning Modbus and the display The real time ladder program will still run in the background The check box at the top right allows you to select whether variable names or symbol names are displayed You might notice that there is a line under the ladder program display that reads Project failed to load That is the status bar that gives you info about elements of the ladder program that you click on in the display window This status line will now display HAL signal names for variables I Q and the first W in an equation You might see some funny labels such as 103 in the rungs This is displayed on purpose because of an old bug when erasing elements older v
40. CUT Sy iter rel Pera pea Subroutine ca Posici n Haathi Belial Lancer le m me panneau mais dans un onglet d Axis avec cd configs sim gladevcp linuxcnc gladevcp_tab ini Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 78 193 Er SPS aait nge AR on EMC MAL SIM ANIS Gm s ma lla lz 0 IX lx lex Maumi Control F3 MAO TFS 5 splash geoad Hot intended for actual walling To run thas code angwapr pos sighi Bae te Tomb Off he I axin depending an pour getup ds af peu had seme material in pour mali Hint jeg lhe 7 ania dom bit thes fee aff Also press the Tagg le Skip Lines with fo ses iban part Ef the progres de los big er weal fer your machine change the scale 3 fant risa ton nia ces font net Ge ri Be la itt tent Bees Pour lancer ce m me panneau comme une fen tre autonome a c t d Axis d marrer Axis en arri re plan puis d marrer gladevcp de la mani re suivante cd configs sim gladevcp S linuxene axis imi amp gladevcp c gladevcp u gladevcp hitcounter py H gladevcp manual example hal gladevcp manual example ui Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 79 193 gladewcp x a z File Mackino yia oc o g b 0 Status dar MN F5 Mazai Control F3 3 Prepared tool 0 HE ie y mb Comment tool 0 System 5 Scale value 32 0000 MH Corera I fer Te
41. Consigne de vitesse absolue de rotation de la broche exprim e en tours par seconde Toujours positive quel que soit le sens de rotation motion teleop mode bit out TRUE quand motion est en mode t l op ration par opposition au mode coordonn motion tooloffset x motion tooloffset w float out un par axe montre l offset d outil courant Il peut provenir de la table d outils G43 actif ou du G code G43 1 actif motion spindle orient angle float out Orientation souhait e par M19 Contient la valeur du param tre R du M19 plus la valeur du param tre RS274NGC ORIENT_OFFSET du fichier ini motion spindle orient mode s32 0ut Broche en mode recherche d orientation par M19 Par d faut 0 motion spindle orient out bit Indique le d but d un cycle d orientation de la broche Activ par M19 R voqu par M3 M4 ou M5 Si spindle orient fault est diff rent de z ro pendant que spindle orient est vrai la commande M19 choue avec un message d erreur motion spindle is oriented in bit Pin d acquittement pour spindle orient Ach ve le cycle d orientation Si spindle orient est vraie quand spindle is oriented est actif la pin spindle orient est rel ch e et les pins spindle locked et spindle brake sont activ es motion spindle orient fault s32 in Entr e d erreur du cycle d orientation Toute valeur autre que z ro produira l abandon du cycle d orientation
42. FRAME Pause milliseconds after receiving answer from slave This sets the duty cycle of requests it s a pause for EACH request REQUEST TIMEOUT LENGTH Length milliseconds of time before we decide that the slave didn t answer MODBUS ELEMENT OFFSET used to offset the element numbers by 1 for manufacturers numbering differences DEBUG LEVEL Set this to 0 3 0 to stop printing debug info besides no response errors READ COILS INPUTS MAP TO Select what variables that read coils inputs will update B or Q WRITE COILS MAP TO Select what variables that write coils will updated from B Q or I READ REGISTERS HOLDING Select what variables that read registers will update W or QW WRITE REGISTERS MAP TO Select what variables that read registers will updated from W QW or IW SLAVE ADDRESS For serial the slaves ID number usually settable on the slave device usually 1 256 For IP the slave IP address plus optionally the port number TYPE ACCESS This selects the MODBUS function code to send to the slave eg what type of request COILS INPUTS Inputs and Coils bits are read from written to I B or Q variables user selects REGISTERS WORDS Registers Words Numbers map to IW W or QW variables user selects Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 149 193 Ist MODBUS ELEMENT The address or register number of the first el
43. G55 1 etc g5x_offset returns tuple of floats offset of the currently active coordinate system g92 offset returns tuple of floats pose of the current g92 offset gcodes returns tuple of 16 integers currently active G codes homed returns integer flag 1 if homed id returns integer currently executing motion id inpos returns integer machine in position flag input_timeout returns integer flag for M66 timer in progress interp_state returns integer current state of RS274NGC interpreter One of INTERP_IDLE INTERP_READING INTERP_PAUSED INTERP_WAITING interpreter_errcode returns integer current RS274NGC interpreter return code One of INTERP_OK INTERP_EXIT INTERP_EXECUTE_FINIS INTERP_ENDFILE INTERP_FILE_NOT_OPEN INTERP_ERROR see src emc nml_intf interp_return hh Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 109 193 joint_actual_position returns tuple of floats actual joint positions joint_position returns tuple of floats Desired joint positions kinematics_type returns integer identity 1 serial 2 parallel 3 custom 4 limit returns tuple of integers axis limit masks minHardLimit 1 maxHardLimit 2 minSoftLimit 4 maxSoftLimit 8 linear_units returns string reflects TRAJJLINEAR_UNITS ini value lube returns integer lube on flag lube_level returns integer reflects iocontrol 0 lube_level max_acceleration returns float maxim
44. If you publish printed copies of the Document numbering more than 100 and the Document s license notice requires Cover Texts you must enclose the copies in covers that carry clearly and legibly all these Cover Texts Front Cover Texts on the front cover and Back Cover Texts on the back cover Both covers must also clearly and legibly identify you as the publisher of these copies The front cover must present the full title with all words of the title equally prominent and visible You may add other material on the covers in addition Copying with changes limited to the covers as long as they preserve the title of the Document and satisfy these conditions can be treated as verbatim copying in other respects If the required texts for either cover are too voluminous to fit legibly you should put the first ones listed as many as fit reasonably on the actual cover and continue the rest onto adjacent pages If you publish or distribute Opaque copies of the Document numbering more than 100 you must either include a machine readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a publicly accessible computer network location containing a complete Transparent copy of the Document free of added material which the general network using public has access to download anonymously at no charge using public standard network protocols If you use the latter option you must take reasonably prudent steps when you begin di
45. Les bascules action suivantes ont seulement une commande associ e et utilisent l tat press pour indiquer que l op ration demand e est lanc e La bascule Run envoie la commande AUTO_RUN et attends dans l tat press jusqu ce que l interpr teur soit de nouveau au repos La bascule Stop est inactive jusqu ce que l interpr teur passe l tat actif Un G code est lanc et permet alors l utilisateur d envoyer la commande AUTO_ABORT La bascule MDI envoie la commande pass e dans le MDI et attends sa compl tion dans l tat inactif press 11 6 3 La bascule Action MDI et les widgets Action MDI Ces widgets fournissent le moyen d ex cuter des commandes MDI Le widget Action MDI n attends pas la compl tion de la commande comme le fait la bascule Action _MDI qui reste elle d sactiv e tant que la commande n est pas termin e 11 6 4 Un exemple simple Ex cuter une commande MDI lors de l appui sur un bouton configs gladevcp mdi command example whoareyou ui est un fichier UI Glade qui transmet cette action ba sique Louvrir dans Glade et tudier comment il est fait Lancer Axis puis dans un terminal faire gladevcp whoareyou ui Voir l action hal_action_mdil1 et les propri t s de MDI command qui ex cute juste MSG Hi I m an LinuxCNC_A ction_ MDI ce qui ouvre un popup de message dans Axis comme ci dessous Manuel de l int grateur V2 6 11 34 gff59490 2015 12
46. Normalement un jeu de un ou plusieurs fichiers de configuration HAL doivent utiliser une seule et unique ligne loadrt pour charger le module du kernel qui pourra g rer de multiples instances d un m me composant Par exemple si vous utilisez une portes AND deux entr es composant and2 trois endroits diff rents de votre configuration vous ne devez avoir que cette seule ligne quelque part pour le sp cifier loadrt and2 count 3 Ce qui fournira finalement les composants and2 0 and2 1 and2 2 Les configurations seront plus lisibles si vous sp cifiez les composants sous la forme names option quand c est support par exemple loadrt and2 names aa ab ac Ce qui nommera les composants aa ab ac Il pourrait apparaitre un probl me de maintenance pour garder la trace des composants et de leur noms apr s avoir ajout ou enlev un composant vous devrez trouver et mettre 4 jour la ligne de directives de loadrt applicable 4 ce composant Le processus TWOPASS est activ par inclusion d un param tre dans le fichier ini HAL TWOPASS anything Avec ce r glage vous pouvez avoir de multiples sp cifications comme loadrt and2 names aa loadrt and2 names ab ac loadrt and2 names ad Ces commandes peuvent tre plac es dans diff rents fichiers HALFILES Les HALFILES sont trait s dans leur ordre d apparition dans le fichier ini Avec le processus double passe tous les HAL HALFILES sont lus une premi re fois
47. a t appliqu e sur un axe alors STEPGEN_MAXACCEL doit tre 1 5 2 fois plus grande que MAX_ACCELERATION STEPGEN_MAXVEL 1 4 hal Les anciens fichiers de configuration avaient galement une limite de vitesse du g n rateur de pas Si sp cifi e elle doit aussi tre 1 10 sup rieure celle de l axe MAX_VELOCITY Des tests ult rieurs ont montr que l utilisation de STEPGEN MAXVEL n am liore pas le r glage de la boucle de position de stepgen 3 5 14 Section EMCIO CYCLE_TIME 0 100 La p riode en secondes laquelle EMCIO va tourner La mettre 0 0 ou une valeur n gative fera que EMCIO tournera en permanence Il est pr f rable de ne pas modifier cette valeur TOOL TABLE tool tbl Ce fichier contient les informations des outils d crites dans le Manuel de l utilisateur TOOL_CHANGE_POSITION 0 0 2 Quand trois digits sont utilis s sp cifie la position XYZ ou le mobile sera d plac pour le changement d outil Si six digits sont utilis s sp cifie l emplacement ou sera envoy le mobile pour r aliser le chan gement d outil sur une machine de type XYZABC et de m me sur une machine de type XYZABCUVW lorsque 9 digits sont utilis s Les variables relatives la position du changement d outil peuvent tre combin es par exemple en combinant TOOL_CHANGE_ POSITION avec TOOL_CHANGE_QUILL_UP il est possible de d placer d abord Z puis X et Y TOOL_CHANGE_WITH_SPINDLE_ON
48. a constant speed as long as you hold down the key In manual mode jog speed can be set from the graphical interface kernel space See real time Kinematics The position relationship between world coordinates and joint coordinates of a machine There are two types of kinematics Forward kinematics is used to calculate world coordinates from joint coordinates Inverse kinematics is used for exactly the opposite purpose Note that kinematics does not take into account the forces moments etc on the machine It is for positioning only Lead screw An screw that is rotated by a motor to move a table or other part of a machine Lead screws are usually either ball screws or acme screws although conventional triangular threaded screws may be used where accuracy and long life are not as important as low cost Machine units The linear and angular units used for machine configuration These units are specified and used in the ini file HAL pins and parameters are also generally in machine units MDI Manual Data Input This is a mode of operation where the controller executes single lines of G code as they are typed by the operator NIST National Institute of Standards and Technology An agency of the Department of Commerce in the United States Offsets An arbitrary amount added to the value of something to make it equal to some desired value For example gcode programs are often written around some convenient point such as X0 YO Fixture offset
49. adresses Nous avons galement ajout addf parport l read base thread addf parport l write base thread pour que le second port parall le soit lu et crit Par d faut les 8 premi res broches des ports parall les sont des sorties Le drapeau in situ derri re l adresse d un port permet de les positionner comme tant 8 entr es sur ce port Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 167 193 Chapitre 20 Contr le de la broche 20 1 Vitesse broche en 0 10V Si la vitesse de la broche est contr l e par un variateur de fr quence avec une consigne vitesse en 0 10V et qu une carte de conversion DAC comme la m53120 est utilis e pour sortir le signal Premi rement il faut calculer le facteur d chelle entre la vitesse broche et la tension de commande Dans cet exemple la vitesse maximale de la broche sera de 5000 tr mn pour une tension de commande de 10V 10 Volts 5000 tr mn 0 002 Volts par tr mn notre facteur d chelle sera donc de 0 002 Si la carte DAC ne dispose pas d une fonction chelle il est n cessaire d ajouter un composant scale echelle au fichier hal pour calibrer motion spindle speed out entre O et 10 comme demand par le variateur de fr quence loadrt scale count 1 addf scale 0 servo thread setp scale 0 gain 0 002 net spindle speed scale motion spindle speed out gt scale 0 in net spindle speed DAC scale 0 out gt le nom de la sortie de votre DAC
50. astuces sur Glade peuvent aussi tre trouv s sur youtube Soit modifier une interface existante en lan ant glade lt fichier gt ui ou d marrer une nouvelle en lan ant juste la com mande glade depuis un terminal Si LinuxCNC n a pas t install depuis un paquetage l environnement LinuxCNC du shell doit tre configur avec lt linuxcncdir gt sc environment autrement Glade ne trouverait pas les widgets sp cifiques LinuxCNC Quand l diteur demande pour enregistrer les pr f rences accepter ce qui est propos par d faut et presser Close Depuis les Niveaux sup rieurs cadre de gauche choisir Fen tre premi re ic ne en haut des Niveaux sup rieurs par d faut cette fen tre sera nomm e window1 Ne pas changer ce nom GladeVCP lui est reli Dans le bas des onglets de gauche d rouler HAL Python et LinuxCNC Actions Ajouter au nouveau cadre un conteneur comme une bo te HAL_Box ou une HAL_ Table depuis HAL Python Pointer et placer dans un conteneur d autres l ments comme une LED un bouton etc Le r sultat pourrait ressembler cela Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 82 193 ah manta ER file Edit yew Projects Help oE amp 9 se la K GtkSourceveew Actions HAL Python 7 whigets window U H WM v Ej hal tabiel E CE e m1 E hedi i wa hal jabell g E ha le TIF eg Objects al En gt HAL HScale Properties HAL HSc
51. avec une assez mauvaise fr quence de pas de 16129 pas par seconde L exemple de la Xylotex est au mieux de ce que nous puissions faire Mais la Gecko peut tre amelior es Le probl me avec le G202 est le temps de maintien demand de 20us Ca plus la latence de 11us nous oblige utiliser une p riode longue de 31us Mais le g n rateur de pas logiciel de LinuxCNC a un certain nombre de param tres qui permettent d augmenter les diff rentes dur es d une p riode plusieurs autres Par exemple si steplen passe de 1 2 alors il y aura deux p riodes entre le d but et la fin de l impulsion De m me si dirhold passe de 1 3 il y aura au moins trois p riodes entre l impulsion de pas et un changement d tat de la broche de direction Si nous pouvons utiliser dirhold pour le temps de maintien de 20us demand alors le temps le plus long suivant sera de 4 5us Ajoutez les 11us de latence ces 4 5us et vous obtenez une p riode minimale de 15 5us Lorsque vous essayez 15 5us vous trouvez que l ordinateur est tr s lent donc vous r gler sur 16us Si nous laissons dirhold 1 par d faut alors le temps minimum entre le pas et la direction est de 16us moins la p riode de latence de 11us Suis ce qui n est pas suffisant Nous avons besoin de 15 autres us puisque la p riode est de 1615 nous avons besoin d une p riode de plus Nous allons donc passer dirhold de 1 2 Maintenant le temps minimum entre la fin de l im
52. avec un intervalle de 100ms Elle devrait clignoter mais je re ois un Warning value O le type gint est invalide ou hors de l tendue pour les propri t s de led blink rate c est quoi le type gint Il semble qu il s agisse d un bug de Glade Il faut re saisir une valeur sur le champ de la fr quence de clignotement et enregistrer nouveau a a march pour moi 4 Mon panneau gladevcp ne marche pas dans Axis il n enregistre pas les tats quand je ferme Axis j ai pourtant d fini un gestionnaire on_destroy attach au signal destroy de la fen tre Ce gestionnaire est tr s probablement li window1 qui en raison du changement de parent ne peux pas assurer cette fonction Attachez le gestionnaire on_destroy handler au signal destroy d une fen tre int rieure Par exemple J ai un notebook dans window1 attach on_destroy au signal destroy de notebooks et a marche bien Il ne marcherait pas pour windowl 11 9 Troubleshooting pa ase sure your have the development version of LinuxCNC installed You don t need the axisrc file any more this was mentioned in the old GladeVcp wiki page run Glade VCP or Axis from a terminal window If you get Python errors check whether there s still a usr lib python2 6 dist packages hal so file lying around besides the newer usr 1lib python2 6 dist packages _hal so note underscore if yes remove the hal so file It has been superseded by hal py in the same directory and
53. axes are homed and the interpreter is not running and the mode is set to MDI mode so an appropriate test before sending an MDI command through 1inuxcnc command mdi could be import linuxenc s linuxcnc stat ce linuxenc command def ok_for_mdi SREO MRG return not s estop and s enabled and s homed and s interp_state linuxcnc INTERP_IDLE Lf ok for mart c mode linuxcnc MODE_MDI c wait_complete wait until mode switch executed ema GUA 207800 13 5 Sending commands through linuxcnc command Before sending a command initialize a command channel like so import linuxcnc c linuxcnc command Usage examples for some of the commands listed below abort Q auto linuxcnc AUTO RUN auto linuxcnc AUTO STEP auto linuxcnc AUTO _ PAUS auto linuxcnc AUTO RESUME program_start line OOOO Q brake linuxcnc BRAKE ENGAGE c brake l1inuxcnc BRAKE_RELEASE pal Cri kolo ae Cre BOO ita LOOD_ON HO DR hy E c home 2 e JOG Miura JOG Sol AUS c jog linuxcnc JOG_CONTINUOUS axis speed c jog linuxcnc JOG_INCREMENT axis speed increment c load_tool_table Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 113 193 c maxvel 200 0 piola HE O 2023 01 emis linwxcne MIST ON CAMES e EUe NEMS OHH c mode linuxcnc MODE MDI c mode linuxcnc
54. calcul Open Office Step Timing Calculator en Calculatrice Calendrier tape fr Vous entrez les r sultats du test de latence et les timing de votre carte de pilotage et la feuille calcule la meilleure BASE_ PERIOD Ensuite vous testez la p riode pour vous assurer que votre PC ne sera pas ralenti ou bloqu Enfin vous entrez dans la p riode actuelle et la feuille de calcul vous indiquera le r glage de stepgen n cessaire pour r pondre aux exigences de votre carte de pilotage Elle calcule aussi la fr quence de pas maximum que vous serez en mesure de g n rer J ai ajout quelques petites choses la feuille de calcul pour calculer la fr quence maximum et quelques autres calculs Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 124 193 Chapitre 16 R glages d une boucle PID 16 1 R gulation PID Un r gulateur Proportionnel Int gral D riv PID est un organe de contr le qui permet d effectuer une r gulation en boucle ferm e d un proc d Le r gulateur compare une valeur mesur e sur le proc d avec une valeur de consigne La diff rence entre ces deux valeurs le signal d erreur est alors utilis e pour calculer une nouvelle valeur d entr e du proc d tendant r duire au maximum l cart entre la mesure et la consigne signal d erreur le plus faible possible Contrairement aux algorithmes de r gulation simples le contr le par PID peut ajuster les sorties du proc d en f
55. checkbutton gt lt checkbutton gt lt halpin gt chip chkbtn lt halpin gt lt text gt Chips ES lt checkbutton gt Le code ci dessus produit 9 6 11 3 Bouton radio radiobutton Un bouton radio placera une seule des pins vraie Les autres seront mises fausses lt radiobutton gt lt cho ces under tros ichorces lt halpin gt mon radiobtn lt halpin gt lt radiobutton gt Le code ci dessus donne ce r sultat ad un deux trois Noter que dans exemple ci dessus les pins de HAL seront nomm es mon radiobtn un mon radiobtn deux et mon radiobtn trois Dans l image pr c dente trois est la valeur s lectionn e courante 9 6 12 Affichage d un nombre number L affichage d un nombre peux recevoir les options de formatage suivantes lt font gt Font Name n lt font gt o n est la taille de la police lt width gt n lt width gt o n est la largeur totale utilis e lt justify gt pos lt justify gt o pos peut tre LEFT CENTER ou RIGHT devrait marcher mon lt padx gt n lt padx gt ou n est le nombre d espaces horizontaux suppl mentaires a lt pady gt n lt pady gt o n est le nombre d espaces verticaux suppl mentaires Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 54 193 9 6 12 1 Number Le widget number affiche la valeur d un signal de type flottant lt number gt lt halpin gt number lt halpin gt lt font g
56. code s ex cute ou pendant qu il est en pause ni quand l onglet Donn es manuelles FS du MDI est ouvert Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 70 193 10 4 Testeur de port Cet exemple montre comment faire un simple testeur de port parall le en utilisant PyVCP et HAL Premi rement cr er le fichier ptest xml qui contiendra le code suivant pour cr er la description du panneau lt l Panneau de test pour la config du port parall le gt lt pyvcp gt lt hbox gt lt relief gt RIDGE lt relief gt lt bd gt 2 lt bd gt lt button gt lt halpin gt btn01 lt halpin gt lt te xeo URINON Eeke lt button gt lt led gt lt halpin gt led 01 lt halpin gt lt size gt 25 lt size gt lt on_color gt green lt on_color gt Sole mcolor gt Uned lt oOr aco lor lt led gt lt hbox gt lt hbox gt lt relief gt RIDGE lt relief gt lt bd gt 2 lt bd gt lt button gt lt halpin gt btn02 lt halpin gt lt pexte Pan O02 lt test gt lt button gt lt led gt lt halpin gt led 02 lt halpin gt lt size gt 25 lt size gt lt on_color gt green lt on_color gt sori Color Hire lt eoirie colors lt led gt lt hbox gt lt hbox gt lt relief gt RIDGE lt relief gt lt bd gt 2 lt bd gt lt label gt lt text gt Pain 10 lt text gt lt font Helvetica 14 lt font gt lt label gt lt led gt lt halpin gt led 10 lt halpin gt lt size gt 25 lt size gt
57. commentaires 12 comp 182 Concepts int grateur 1 Configuration pas direction 40 Configuration tour 29 Contr le de la broche 167 coordinate measuring machine 183 D D marrage en rampe 168 display units 183 Documentation des widgets 49 DRO 183 E EDM 183 encoder 183 F FAQ Linux 178 feed 183 feed rate 183 feedback 183 feedrate override 183 FERROR 20 Fichier ini 12 Fichiers TCL pour HAL 30 find 180 Frequence de pas maximale 40 G G Code 183 gksudo 179 GladeVCP 76 grep 180 GUI 182 183 H HAL 10 184 HAL 41 HOME 27 home 184 HOME IGNORE LIMITS 27 HOME IS SHARED 27 HOME OFFSET 27 HOME SEARCH VEL 21 HOME SEQUENCE 27 HOME USE INDEX 27 I INI 10 184 INI Configuration 9 INPUT SCALE 23 Instance 184 iocontrol HAL pins 39 J jog 184 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 192 193 joint coordinates 184 K keystick 14 kinematics 184 L lead screw 184 LINEAR UNITS 19 LinuxCNC 183 LinuxCNC et HAL 34 LinuxCNCIO 183 LinuxCNCMOT 183 Lister le r pertoire courant 179 loop 185 ls 179 M machine units 184 Machines Cartesiennes 117 Machines CNC 117 Man Pages 178 Marche broche 167 marche machine 44 MAX ACCELERATION 19 MAX LIMIT 20 MAX VELOCITY 19 MDI 184 MIN FERROR 20 MIN LIMIT 20 mini 14 Motion 34 motion hal pins 35 MPG 171 N NIST 184 NML 10 0
58. configuration sim lathe fournie en exemple est configur e de cette mani re 9 5 Panneaux PyVCP autonomes Cette section va d crire comment les panneaux PyVCP peuvent tre affich s par eux m me par l interm diaire ou non des contr leurs machine de LinuxCNC Pour charger un panneau PyVCP autonome avec LinuxCNC utiliser cette commande loadusr Wn monpanneau pyvcp g WxH X Y c monpanneau lt path gt fichier panneau xml Vous l utiliserez pour avoir un panneau flottant ou un panneau avec une interface graphique autre que Axis Wn monpanneau Fait attendre HAL que le composant monpanneau soit charg devienne ready en langage HAL avant d ex cuter d autres commandes HAL C est important parce que les panneaux PyVCP exportent des pins de HAL ainsi que d autres composants de HAL qui doivent tre pr sents pour pouvoir se connecter eux Noter la lettre W en majuscule et la lettre n en minuscule Si vous utilisez l option Wn vous devez galement utiliser l option c pour nommer le panneau pyvcp lt g gt lt c gt panneau xml Construit le panneau avec la g om trie optionnelle et ou le nom de panneau depuis le fichier panneau xml Le fichier panneau xml peut avoir n importe quel nom avec l extension xml Le fichier xml d crit comment construire le panneau Il est n cessaire d ajouter le nom du chemin si le panneau n est pas dans le r pertoire dans lequel se trouve le script HAL g
59. could be a matter of historical connection with the subject or with related matters or of legal commercial philosophical ethical or political position regarding them The Invariant Sections are certain Secondary Sections whose titles are designated as being those of Invariant Sections in the notice that says that the Document is released under this License The Cover Texts are certain short passages of text that are listed as Front Cover Texts or Back Cover Texts in the notice that says that the Document is released under this License A Transparent copy of the Document means a machine readable copy represented in a format whose specification is available to the general public whose contents can be viewed and edited directly and straightforwardly with generic text editors or for images composed of pixels generic paint programs or for drawings some widely available drawing editor and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent A copy that is not Transparent is called Opaque Examples of suitable formats for Transparent copies include plain ASCII without markup Texinfo input format LaTeX input format SGML or XML using a publicly available DTD and standard conforming simple H
60. couleur est d finie Pour en activer plus d une fixer z0_border et z1_border aux valeurs souhait es Ainsi zone O va remplir depuis min la premi re bordure zone 1 va remplir de la premi re la seconde bordure et zone 2 depuis la derni re bordure jusqu a max Les bordures se r glent sur une tendue comprise en min et max Exemples d indicateurs 11 5 14 Gremlin visualiseur de parcours d outil pour fichiers ngc Gremlin est un traceur de parcours d outil similaire celui d Axis Il demande un environnement LinuxCNC en fonctionnement comme Axis ou Touchy Pour se connecter lui inspecter la variable d environnement INI_FILE_NAME Gremlin affiche le fichiers ngc courant Si le fichier ngc est modifi il doit tre recharg pour actualiser le trac Si il est lanc dans une application Glade VCP quand LinuxCNC n est pas en marche un message va tre affich parce que le widget Gremlin ne trouve pas le statut de LinuxCNC comme le nom du fichier courant Gremlin n exporte aucune pin de HAL Il a les propri t s suivantes view Peut tre la vue en x y z p perspective Par d faut vue en z enable_dro Bool en afficher une visu sur le trac ou non Par d faut a True Exemple Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 92 193 11 5 15 Fonction de diagrammes anim s Widgets HAL dans un bitmap Pour certaines applications il est int ressant d avoir une image d
61. de 54 MAL FEDE 2 ee to A AAA o Ae He o Se 54 S612 gt NOMME ns pc ee ee PPS ee eRe a dad 54 GA NOMBRE ME 6 bab be beeen da A A ire 38 55 96I Atlichaped mages oscar a eat 55 SOI RMS circa A A Ai a 55 OBLAEZ MB oir dd eee eae hae es 56 Sold Barmede progression bar 4 0 6 dons do ba sub EE Re eR su Mau E 57 96 15 Galvanometre meter 22 5 284 244 E oO eee ERLE DSR A ane de ep me Re EO 57 9 6 16 Boite d incr ment spinb0x o Lens de de due don ob de boue ne 4 ere ne ew 58 Sa CUESTE opio Lu ee ie Un a eine io ae dt D amp eh Se du 58 96 18 Bouton tournant dial eos es d du ici LR ae ae a de et he A a a 59 DoJ Manwelle jogwheel 2 63 3 cco ew ee RRR ee PA RE ea sn e a 60 97 Documentation des containers de py VCP es a ser aot Load giga Gee de ed ou dt duo eee dd 61 HAL AAA 61 DR HE oi a A A eh aS A A aus e 61 O70 VDOR serpa poak non cd eee ed eae de dE ci dr nd no dd eae eS 62 DTA SE hes eee Se ae DE Bo ee dl ds a 63 To TER Cle tid Bee eee sE Boden ee dh GE eee Boe ees E 63 a prene he oe a Ok ee RS ee LE we Soe we A ee Se ae FS a 64 10 Exemples d utilisation de PyVCP 65 MET Pame Pe PUES ua RE te eg EAS BP Sa NN ee ae ER BE Se 65 10 2 Parnes Totante os ee es OE EE a ee A eb ORL dd 65 10 3 Boutons de Jog o a hk we See ee aR Ee 25e ewe Bee euh oe eo ee 65 Ta leer ee Withee a tS E SS BORER eS EAS Beane gawd amp 4 67 10 3 2 Entectoer les canmectons 2 5 4 5 pd ee ek eR ee A eRe Se gta le 69 WA Te
62. de GladeVCP 11 7 1 Actions d finies par l utilisateur La plupart des jeux de widgets par le biais de l diteur Glade supportent le concept de fonction de rappel fonctions crites par lutilisateur qui sont ex cut es quand quelque chose arrive dans l UI v nements tels que clics de souris caract re tap mouvement de souris v nements d horloge fen tre iconis e ou agrandie et ainsi de suite Les widgets de sortie HAL typiquement scrutent les v nements de type entr e tels qu un bouton press provoquant un changement de la valeur d une pin HAL associ e par le biais d une telle fonction de rappel pr d finie Dans PyVCP c est r ellement le seul type d v nement qui peut tre d fini la main Faire quelque chose de plus complexe comme ex cuter une commande MDI pour appeler un sous programme G code n est pas support Dans GladeVCP les changement sur les pins de HAL sont juste un type de la classe g n rale v nements appel s signaux dans GTK La plupart des widgets peuvent g n rer de tels signaux et l diteur de Glade supporte l association de ces signaux avec une m thode Python ou nom de fonction Si vous d cidez d utiliser les actions d finies par l utilisateur votre travail consistera crire un module Python dont la m thode une fonction suffit dans les cas simples peut tre r f renc e un gestionnaire d v nements dans Glade GladeVCP fournit un
63. de mouvements temps r el AXIS_n groupes de variables relatives chaque axe EMCIO r glages utilis s par le contr leur d entr es sorties 3 4 3 Les variables Une ligne de variables est compos e d un nom de variable du signe gal et d une valeur Tout du premier caract re non blanc qui suit le signe jusque la fin de la ligne est pass comme valeur la variable Vous pouvez donc intercaler des espaces entre les symboles si besoin Un nom de variable est souvent appel un mot cl Les paragraphes suivants d taillent chaque section du fichier de configuration en utilisant des exemples de variables dans les lignes de configuration Certaines de ces variables sont utilis es par LinuxCNC Elles doivent toujours utiliser le nom de section et le nom de variable dans leur appellation D autres variables ne sont utilis es que par HAL Les noms des sections et les noms des variables indiqu es sont ceux qui sont utilis s dans les exemples de fichiers de configuration Les variables personnalis es peuvent tre utilis es dans vos fichiers HAL avec la syntaxe suivante MACHINE MaVariable 3 4 4 Sections et variables utilisateur Certaines configurations utilisent des sections utilisateur et des variables personnalis es pour regrouper les param tres en un seul emplacement pour am liorer la lisibilit du fichier ini Pour utiliser une section de variable utilisateur dans un fichier HAL ajouter la
64. drapean GladeY CP U lt useropis gt ooo oi 4 du seu ges eus te sat huge 100 11 7 8 Variables persistantes dans GladeVCP gt o 4 4 Re pue due 100 11 7 8 1 Examen de la persistance de la version et de la signature du programme 101 117 9 Utilisation des variables persistantes so ec 448 rosas gd be a Sea 4 101 11 7 10 dition manuelle des fichiers ini 4 2 4 44 d du us ewe deu Ree ee eee eee ee 102 ILI Ajonterdes pins d HAL gt o sa 5 ee use see ee Boat EE be Ree ee eal ee 102 E72 Ajon deme vo a oe HE eS Se ee MURS es E e Re eS 102 11 7 13 Exemples et lancez votre propre application GladeVCP 103 11 8 Q estions amp r ponses o o ccon kes a See eae a A ee de de da 103 e A A A EES 103 11 10Notes d impl mentation la gestion des touches dans Axis 103 12 Notions avanc es 105 13 Python Interface 106 13 10 The neces Prion module s is ee a BER eee eee RSP Cee eew heed 106 13 2 Usage Patterns tor the Linux NE NML interface ociosos eee Ee eee bee e o 106 13 3 Reading LinuxtNe Hams 62a be EEA Eee E ee ee eh dre dt de 106 CSL CRE Stat ATIBULES og Oe eG oe PA we we Rd gs 107 13 3 2 The axis dictons gt p oak 6 Gee bp boss ee eek Ga Ree ee ee eS eee Le Ke bee 110 134 Prepare to Send commands gt oo pos A Oa he ee Dee Be Ad Cee eee e 112 13 5 Sending commands through Linuxenc command scene dae sean date 112 Ise Jape ecenin GUE 44
65. du contact d origine machine Une valeur diff rente de z ro indique LinuxCNC la pr sence d un contact d origine machine LinuxCNC va alors commencer par v rifier si ce contact est d ja attaqu Si oui il le d gagera a la vitesse tablie par HOME_SEARCH_VEL la direction du d gagement sera de signe oppos a celui de HOME_SEARCH_VEL Puis il va revenir vers le contact en se d placant dans la direction sp cifi e par le signe de HOME_SEARCH_VEL et la vitesse d termin e par sa valeur absolue Quand le contact d origine machine est d tect le mobile s arr te aussi vite que possible il y aura cependant toujours un certain d passement d l inertie et d pendant de la vitesse Si celle ci est trop lev e le mobile peut d passer suffisamment le contact pour aller attaquer un fin de course de limite d axe voir m me aller se crasher dans une but e m canique A I oppos si HOME_SEARCH_VEL est trop basse la prise d origine peut durer tr s longtemps Une valeur gale z ro indique qu il n y a pas de contact d origine machine dans ce cas les phases de recherche de ce contact seront occult es La valeur par d faut est z ro 4 3 2 Vitesse de d tection HOME LATCH VEL Sp cifie la vitesse et la direction utilis e par le mobile pendant la derni re phase de la prise d origine c est la recherche pr cise du contact d origine machine si il existe et de l emplacement de l impulsion d i
66. elle est la touche Entr e Ou quand le widget SpinButton a le focus dans ce cas par exemple la touche chap n est pas bien transmise Axis et cause un abandon avec des cons quences potentiellement d sastreuses Par cons quent les v nements touches dans GladeVCP sont trait s explicitement et s lectivement transmises Axis pour assurer que de telles situations ne puissent pas survenir Pour des d tails voir la fonction keyboard_forward dans la lib python gladevcp xembed py leveloffset O Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 105 193 Chapitre 12 Notions avanc es Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 106 193 Chapitre 13 Python Interface This is work in progress by Michael Haberler Comments fixes and addenda are welcome especially for PositionLogger A bit of intent purpose and usage would help here 13 1 The linuxcnc Python module User interfaces control LinuxCNC activity by sending NML messages to the LinuxCNC task controller and monitor results by observing the LinuxCNC status structure as well as the error reporting channel Programmatic access to NML is through a C API however the most important parts of the NML interface to LinuxCNC are also available to Python programs through the 1inuxcnc module Beyond the NML interface to the command status and error channels the 1inuxcnc module also contains support for reading values f
67. et les multiples apparitions de la directive loadrt sont cumul es pour chaque module Aucune commande hal n est ex cut e lors de cette passe initiale Apr s la passe initiale les modules sont automatiquement charg s en nombre gal au nombre total lors de l utilisation de count option ou de tous les noms sp cifi s individuellement lors de l utilisation de names option Une seconde passe est alors faite pour ex cuter toutes les autres instructions de hal sp cifi es dans les HALFILES Les com mandes addf qui associent les fonctions de composants avec l ex cution du thread sont ex cut es selon leur ordre d apparition avec les autres commandes dans cette seconde passe Bien que vous puissiez utiliser indiff remment les options avec count ou names elles sont toutefois exclusives Un seul type peut tre utilis pour un m me module Le processus TWOPASS n est pas effectif lors de l usage de names option Cette option permet d avoir un nom unique qui soit mn monique ou plus pertinent avec la configuration Par exemple si vous utilisez un composant d riv pour estimer la vitesse 2 Habituellement ce fichier est dans le r pertoire home de l utilisateur ex home robert Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 12 193 et l acc l ration de chacun des coordonn es x y z utiliser la m thode count donnera un composant au nom sot rique comme ddt 0 ddt 1 ddt 2 etc Alte
68. file loadusr classicladder myladder clp Classic Ladder Loading Options nogui loads without the ladder editor normally used after debugging is finished modbus_port port loads the modbus port number modmaster initializes MODBUS master should load the ladder program at the same time or the TCP is default port modslave initializes MODBUS slave only TCP To use Classic Ladder with HAL without EMC loadusr w classicladder The w tells HAL not to close down the HAL environment until Classic Ladder is finished If you first load ladder program with the nogui option then load Classic Ladder again with no options the GUI will display the last loaded ladder program In AXIS you can load the GUI from File Ladder Editor 18 5 Classic Ladder GUI If you load Classic Ladder with the GUI it will display two windows section display and section manager 18 5 1 Sections Manager When you first start up Classic Ladder you get an empty Sections Manager window Sections Manager llall Section Name Language Type debug Progl Ladder Main F 0 L 0 P Add section Delete section Move Up Move Down FIGURE 18 1 Sections Manager Default Window This window allows you to name create or delete sections and choose what language that section uses This is also how you name a subroutine for call coils Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 133 193 18
69. g rer les circuiteries d Arr t d Urgence se trouve sur le wiki en et dans le Manuel de l int grateur Pour ajouter un simple bouton d AU externe ou plusieurs en s rie vous devez remplacer la ligne suivante net estop loop iocontrol 0 user enable out iocontrol 0 emc enable in Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 44 193 par net estop loop parport 0 pin 01 in iocontrol 0 emc enable in Ce qui implique qu un bouton d Arr t d Urgence soit connect sur la broche 01 du port parall le Tant que le bouton est enfonc le contact ouvert LinuxCNC restera dans l tat Arr t d Urgence ESTOP Quand le bouton externe sera rel ch LinuxCNC passera imm diatement dans l tat Arr t d Urgence Rel ch ESTOP RESET vous pourrez ensuite mettre la machine en marche en pressant le bouton Marche machine et vous tes alors pr t continuer votre travail avec LinuxCNC leveloffset O Interfaces graphiques utilisateur leveloffset 1 lang fr toc 3 Utiliser exclusivement des contacts normalement ferm s pour les A U Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 45 193 Chapitre 9 PyVCP 9 1 Introduction Panneau virtuel de contr le en python Python Virtual Control Panel Le panneau de contr le virtuel pyVCP a t cr pour donner l int grateur la possibilit de personnaliser l interface graphique d AXIS avec des boutons et des indica
70. il prends plusieurs pins de HAL du cadre Settings et leur passe comme param tres le sous programme Oword Les param tres actuels recus par la routine sont affich s par une commande DEBUG Voir configs gladevcp nc_files oword ngc pour le corps du sous programme Pour voir comment le panneau est int gr dans Axis voir la d claration de DISPLAY GLADEVCP dans gladevcp_panel ui ainsi que les d clarations de DISPLAY EMBED et de HAL POSTGUI_HALFILE dans gladevcp_tab ini respectivement 11 2 2 Description de l diteur de Glade L interface utilisateur est cr e avec l diteur graphique de Glade Pour l essayer il faut avoir le pr requis n cessaire que glade soit install Pour diter l interface utilisateur lancer la commande glade configs gladevcp manual example ui Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 81 193 La zone centrale de la fen tre montre l apparence de l interface en cr ation Tous les objets de l interface et les objets support s se trouvent dans la partie haute droite de la fen tre o il est possible de choisir un widget sp cifique ou en cliquant sur lui au centre de la fen tre Les propri t s du widget choisi sont affich es et peuvent tre modifi es dans le bas droite de la fen tre Pour voir comment les commandes MDI sont pass es depuis les widgets d action MDI explorer la liste des widgets sous Actions en haut droite de la fen tre et dans
71. in Connection la broche counts d un codeur externe utilis comme manivelle axis N jog enable bit in Quand elle est TRUE et en mode manuel tout changement dans jog counts se traduira par un mouvement Quand elle est FALSE jog counts sera ignor axis N jog scale float in Fixe la distance en unit s machine du d placement pour chaque volution de jog counts axis N jog vel mode bit in Quand elle est FALSE par d faut la manivelle fonctionne 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 axis N joint pos cmd float out La position command e de l articulation par opposition celle du moteur Ca peut tre un cart entre les positions articulation et moteur Par exemple la proc dure de prise d origine fixe cet cart axis N joint pos fb float out Le retour de position de articulation par opposition celui du moteur axis N joint vel cmd float out axis N kb jog active bit out axis N motor pos cmd float out Position command e pour cette articulation axis N motor pos fb float in Position actuelle de cette articulation axis N neg hard limit bit
72. inputs bit pins numPhysInputs 15 Number of HAL output bit pins numPhysOutputs 15 Number of arithmetic expressions numArithmExpr 50 Number of Sections numSections 10 Number of Symbols numSymbols Auto Number of S32 inputs numS32in 10 Number of S32 outputs numS32out 10 Number of Float inputs numFloatIn 10 Number of Float outputs numFloatOut 10 Objects of most interest are numPhysInputs numPhysOutputs numS32in and numS32out Changing these numbers will change the number of HAL bit pins available numPhysInputs and numPhysOutputs control how many HAL bit on off pins are available numS32in and numS32out control how many HAL signed integers integer range pins are available For example you don t need all of these to change just a few loadrt classicladder_rt numRungs 12 numBits 100 numWords 10 numTimers 10 numMonostables 10 numCounters 10 numPhysInputs 10 numPhysOutputs 10 numArithmExpr 100 numSections 4 numSymbols 200 numS32in 5 numS32out 5 To load the default number of objects Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 132 193 loadrt classicladder_rt 18 4 Loading the Classic Ladder user module Classic Ladder HAL commands must executed before the GUI loads or the menu item Ladder Editor will not function If you used the Stepper Config Wizard place any Classic Ladder HAL commands in the custom hal file To load the user module loadusr classicladder To load a ladder
73. int grale et pour am liorer la stabilit de la combinaison contr leur processus 1 2 5 R glage de la boucle Si les param tres du contr leur PID les gains des termes proportionnel int gral et d riv sont mal choisis l entr e du processus contr l peut tre instable c est dire sa sortie diverge avec ou sans oscillation et est limit e seulement par la saturation ou la rupture m canique Le r glage fin d une boucle de contr le consiste en l ajustement de ses param tres de contr le gain proportionnel gain int gral gain d riv aux valeurs optimums pour la r ponse d sir e 1 2 6 R glage manuel Une m thode de r glage simple consiste r gler les valeurs I et D z ro Augmentons la valeur de P jusqu ce que la sortie oscille P devrait tre param tr approximativement la moiti de cette valeur pour diminuer d un quart l amplitude de ce type de r ponse Augmentons sa valeur pour que n importe quelle compensation soit correcte dans un temps raisonnable pour le processus Cependant une valeur trop lev e apporte de l instabilit Ensuite augmentons la valeur de D pour que la r ponse soit suffisamment rapide pour atteindre sa r f rence apr s une perturbation de charge Cependant une valeur trop grande de D provoquera une r ponse excessive et un d passement Un r glage de boucle PID rapide a un d passement l ger pour atteindre le point de consigne plus rapidement cependant ce
74. le bas droite de la fen tre sous l onglet G n ral les propri t s des commandes MDI 11 2 3 Explorer la fonction de rappel de Python Voici comment une fonction de rappel Python est int gr e dans l exemple Dans glade regarder le label du widget hits un widget GTK Dans le widget button1 regarder dans l onglet Signaux et trouver le signal pressed associ avec le gestionnaire on_button_press Dans gladevcp hitcounter py regarder la m thode on_button_press et comment elle place la propri t du label dans l objet hits C tait juste pour toucher le concept du doigt Le m canisme de fonction de rappel sera d taill plus en d tails dans la section Programmation de GladeVCP 11 3 Cr er et int grer une interface utilisateur Glade 11 3 1 Pr requis Installation de Glade Pour visualiser ou modifier les fichiers d une interface Glade Glade doit tre install Ce n est pas n cessaire pour seulement essayer un panneau GladeVCP Si la commande glade est manquante l installer de la mani re suivante sudo apt get install glade V rifier ensuite la version install e qui doit tre gale ou sup rieure a 3 6 7 glade version glade3 3 6 7 11 3 2 Lancer Glade pour cr er une nouvelle interface utilisateur Cette section souligne juste les tapes initiales sp cifiques LinuxCNC Pour plus d informations et un tutoriel sur Glade voir http glade gnome org Certains trucs amp
75. le d boguage motion debug s32 1 s32 RO Utilis pour le d boguage 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 mouve ment en temps r el respecte ses contraintes de timing motion servo last period ns float RO motion servo overruns u32 RW En voyant de grandes diff rences entre les valeurs successives de motion servo last period le contr leur de mouvement peut d terminer qu il a chou dans le respect de ses contraintes de timing Chaque fois qu une erreur est d tect e cette valeur est incr ment e 7 1 4 Fonctions G n ralement ces fonctions sont toutes les deux ajout es servo thread dans l ordre suivant motion command handler Processus des commandes de mouvement provenant de l interface utilisateur motion controller Lance le contr leur de mouvement de LinuxCNC 7 2 axis N temps r el Ces pins et param tres sont cr s par le module temps r el motmod Ce sont en fait des valeurs d articulations mais les pins et les param tres sont toujours appel s axis N Ils sont lus et mis jour par la fonction motion controller 7 2 1 Pins axis N active TRUE quand cet axe est actif axis N amp enable out bit out TRUE si l ampli de cet axe doit tr
76. le for ant utiliser toute l cran t THEME fixe le th me gtk Par d faut le th me syst me Diff rents panneaux peuvent avoir diff rents th mes Un exemple de th me peut tre trouv sur le Wiki de LinuxCNC x XID Redonne un parent Glade VCP dans une fen tre existante XID au lieu d en cr er une nouvelle au niveau sup rieur Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 85 193 u FILE Utilise les FILE comme modules d finis par l utilisateur avec le gestionnaire U USEROPT passe les modules python USEROPT 11 5 R f rences des Widgets HAL GladeVcp inclus une collection de widgets Gtk qui ont des pins de HAL attach es appel s widgets HAL il sont destin s contr ler afficher et avoir d autres interactions avec la couche HAL de LinuxCNC Il sont destin s tre utilis s avec les interfaces cr es par l diteur de Glade Avec une installation correcte les widgets HAL devraient tre visibles dans l diteur Glade dans le groupe des Widgets HAL Python Beaucoup de champs sp cifiques HAL dans l onglet G n ral affichent une infobulle au survol de la souris Il y a deux variantes de signaux de HAL bits et nombres Les signaux bits sont les on off Les nombres peuvent tre des float des s32 ou des u32 Pour plus d informations sur les types de donn es de HAL voir le manuel de HAL Les widgets GladeVcp peuvent soit afficher la valeur d un signal avec un widget
77. lt WxH gt lt X Y gt Sp cifie la g om trie utiliser quand le panneau est construit La syntaxe est Largeur x Hauteur Ancrage X Ancrage Y La taille ou la position ou les deux peuvent tre fix s Le point d ancrage est le coin sup rieur gauche du panneau Par exemple g 250x500 800 0 fixe le panneau 250 pixels de large 500 pixels de haut avec le point d ancrage plac en X800 YO c nompanneau Indique PyVCP quel composant appeler et le titre de la fen tre Le nom du fichier nompanneau peut tre n importe quel nom sans espace Pour charger un panneau PyVCP autonome sans LinuxCNC utiliser cette commande Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 49 193 loadusr Wn monpanneau pyvcp g 250x500 800 0 c monpanneau monpanneau xml La commande minimale pour charger un panneau pyvcp est la suivante loadusr pyvcp monpanneau xml Vous pourrez utiliser cette commande si vous voulez un panneau sans passer par un des contr leurs machine de LinuxCNC par exemple pour des tests ou une visu autonome La commande loadusr est utilis e quand vous chargez aussi un composant qui stoppera HAL depuis la fermeture jusqu ce qu il soit pr t Si vous avez charg un panneau puis charg Classic Ladder en utilisant la commande loadusr w classicladder CL maintiendra HAL et le panneau ouverts jusqu ce que vous fermiez Classic Ladder Le Wn signifie d attendre que le composant Wn nom dev
78. lt on_color gt green lt on_color gt One ollo Ire ati oa o leita lt led gt lt hbox gt lt hbox gt lt relief gt RIDGE lt relief gt lt bd gt 2 lt bd gt lt label gt usar Upim TIM ie x lt font gt Helvetica 14 lt font gt lt label gt lt led gt lt halpin gt led 11 lt halpin gt lt size gt 25 lt size gt lt on_color gt green lt on_color gt gorr color eEcu lt o e Color Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 71 193 lt led gt lt hbox gt lt pyvcp gt Le panneau flottant contenant deux pins de HAL d entr e et deux pins de HAL de sortie FIGURE 10 3 Panneau flottant testeur de port parall le Pour lancer les commandes de HAL dont nous avons besoin et d marrer tout ce qi il nous faut nous avons mis le code suivant dans notre fichier ptest hal loadrt hal_parport cfg 0x378 out loadusr Wna ptest pyvcp c ptest ptest xml loadrt threads namel porttest period1 1000000 addf parport 0 read porttest addf parport 0 write porttest net pin01 ptest btn01 parport 0 pin 01 out ptest led 01 net pin02 ptest btn02 parport 0 pin 02 out ptest led 02 net pinlO parport 0 pin 10 in ptest led 10 net pinll parport 0 pin 11 in ptest led 11 Sean Pour lancer le fichier HAL nous utilisons dans un terminal les commandes suivantes SS halrun i prest nmal La figure suivante montre quoi ressemble le panneau complet Manu
79. machines sans contact d origine machine Si vide les positions ne seront pas enregistr es et commenceront 0 chaque fois que LinuxCNC d marrera NO_FORCE_HOMING 1 LinuxCNC oblige implicitement l utilisateur r f rencer la machine par une prise d origine machine avant de pouvoir lancer un programme ou ex cuter une commande dans le MDI seuls les mouvements de Jog sont autoris s avant les prises d origines Mettre NO_FORCE_HOMING 1 permet l op rateur averti de s affranchir de cette restriction de s curit lors de la phase de mise au point de la machine O AVERTISSEMENT NO_FORCE_HOMING mise 1 permettra la machine de franchir les limites logicielles pendant les mouvements ce qui n est pas souhaitable pour un fonctionnement normal 3 5 10 Sections AXIS_n Les sections AXIS_0 AXIS_1 etc contiennent les param tres g n raux des composants individuels du module de contr le La num rotation des sections axis commence 0 et augmente jusqu au nombre d axes sp cifi s dans la variable TRAJ AXES moins 1 G n ralement mais pas toujours AXIS_0 X AXIS_1 Y AXIS_2 Z AXIS_3 A AXIS_4 B AXIS_5 C Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 20 193 AXIS 6 U AXIS 7 V AXIS 8 W TYPE LINEAR Type des axes soit LINEAR soit ANGULAR WRAPPED_ROTARY 1 Lorsque ce param tre est r gl 1 pour un axe angulaire l axe se d place de 0 359
80. mark on a world wide basis Permission est donn e de copier distribuer et ou modifier ce document selon les termes de la GNU Free Documentation License Version 1 3 ou toute version ult rieure publi e par la Free Software Foundation sans sections inalt rables sans texte de couverture ni quatri me de couverture Une copie de la licence est incluse dans la section intitul e GNU Free Documentation License Si vous ne trouvez pas la licence vous pouvez en commander un exemplaire chez Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 La version de langue anglaise fait foi AVIS La version Fran aise de la documentation de LinuxCNC est toujours en retard sur l originale faute de disponibilit des traduc teurs ll est recommand d utiliser la documentation en Anglais chaque fois que possible Si vous souhaitez tre un traducteur b n vole pour la documentation fran aise de LinuxCNC merci de nous contactez NOTICE The French version of the LinuxCNC documentation is always behind the original fault availability of translators Is recommended to use the English documentation whenever possible If you would like to be a volunteer editor for the French translation of LinuxCNC please contact us Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 1 193 Chapitre 1 Concepts importants pour l int grateur 1 1 Systeme pas a pas 1 1 1 P riode de base P
81. of floatin HAL pins Mumber of floatout HAL pins Current path flename custom clp no po CCS FIGURE 18 7 Config Window Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 140 193 18 6 Ladder objects 18 6 1 CONTACTS Represent switches or relay contacts They are controlled by the variable letter and number assigned to them The variable letter can be B I or Q and the number can be up to a three digit number eg 12 Q3 or B123 Variable I is controlled by a HAL input pin with a corresponding number Variable B is for internal contacts controlled by a B coil with a corresponding number Variable Q is controlled by a Q coil with a corresponding number like a relay with multiple contacts E g if HAL pin classicladder 0 in 00 is true then I0 N O contact would be on closed true whatever you like to call it If B7 coil is energized on true etc then B7 N O contact would be on If Q1 coil is energized then Q1 N O contact would be on and HAL pin classicladder 0 out 01 would be true N O Contact Normally Open When the variable is false the switch is off N C Contact Normally Closed When the variable is false the switch is on Rising Edge Contact When the variable changes from false to true the switch is PULSED on Falling Edge Contact When the variable changes from true to false the switch is PULSED on 18 6 2 IEC TIMERS Represent new count down timers IEC Ti
82. out axis N pos lim sw in bit in Doit tre mis TRUE si le fin de course de limite positive de cette articulation est activ axis N pos hard limit bit out axis N neg lim sw in bit in Doit tre mis TRUE si le fin de course de limite n gative de cette articulation est activ axis N wheel jog active bit out 7 2 2 Param tres axis N home state Refl te l tape de la prise d origine en cours actuellement 7 3 iocontrol espace utilisateur Ces pins sont cr es par le contr leur d entr es sorties de l espace utilisateur habituellement appel io Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 39 193 7 3 1 Pins iocontrol 0 coolant flood bit out TRUE quand l arrosage est demand iocontrol 0 coolant mist bit out TRUE quand le brouillard est demand iocontrol 0 emc enable in bit in Doit tre mise FALSE quand un arr t d urgence externe est activ iocontrol 0 lube bit out TRUE quand le graissage centralis est command iocontrol 0 lube_ level bit in Doit tre mise TRUE quand le niveau d huile est correct iocontrol 0 tool change bit out TRUE quand un changement d outil est demand iocontrol 0 tool changed bit in Doit tre mise TRUE quand le changement d outil est termin iocontrol 0 tool number s32 out Num ro de l outil courant iocontrol 0 tool prep number
83. partie Configuration de LinuxCNC Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 6 193 Chapitre 2 Test des capacit s temps r el 2 1 Test de latence Ce test est le premier test qui doit tre effectu sur un PC pour savoir si celui ci est capable de piloter une machine CNC La latence correspond au temps pris par le PC pour stopper ce qui est en cours et r pondre une requ te externe Dans notre cas la requ te est l horloge qui sert au cadencement des impulsions de pas Plus basse est la latence plus rapide pourra tre l horloge plus rapides et plus douces seront les impulsions de pas La latence est de loin plus importante que la vitesse du CPU Un vieux Pentium II qui r pond aux interruptions avec 10 micro secondes entre chacune peut donner de meilleurs r sultats que le dernier mod le de uP ultra rapide Le CPU n est pas le seul facteur d terminant le temps de latence Les cartes m res les cartes vid o les ports USB et de nom breuses autres choses peuvent d t riorer le temps de latence La meilleure fa on de savoir si le mat riel envisag est apte c est d ex cuter un test de latence La seule fa on de d couvrir ce qu il en est sur un PC est d ex cuter le test de latence de HAL Pour ex cuter ce test ouvrir une fen tre de terminal partir de Applications Accessoires Terminal et ex cuter la commande suivante latency test Une fen tre comme ci dessous devrait
84. plus petite valeur utilisable est relative au r sultat du test de latence la longueur de pas n cessaire et la vitesse du processeur Choisir une base period _nsec trop basse peut entrainer l arriv e du message Unexpected real time delay ou d lai temps r el inattendu le blocage de la machine ou son red marrage spontan servo_period_nsec 1000000 C est la p riode de la t che Servo en nanosecondes Cette valeur doit tre arrondie un entier multiple de base_period_nsec Cette p riode est utilis e m me sur les syst mes moteurs pas pas C est la vitesse laquelle sont calcul es les nouvelles positions des moteurs que l erreur de suivi est calcul e que les valeurs de sortie des PID sont rafraichies et ainsi de suite Les valeurs par d faut conviennent pour la plupart des syst mes C est le taux de rafraichissement du planificateur de mouvement de bas niveau traj_period_nsec 100000 C est la p riode en nanosecondes du planificateur de mouvement Cette valeur doit tre arrondie un entier multiple de servo_period_nsec Except pour les machines ayant une cin matique particuli re ex hexapodes cette valeur n a pas de raison d tre sup rieure celle de servo_period_nsec Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 35 193 7 1 1 Options Si le nombre d entr es sorties num riques demand es est sup rieur la valeur par d faut de 4 il est possi
85. pr c dents la valeur par d faut tait de 128 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 16 193 3 5 3 Section FILTER AXIS a la possibilit d envoyer les fichiers charg s au travers d un programme de filtrage Ce filtrage peut r aliser toutes sortes de t ches Parfois aussi simple que s assurer que le programme se termine bien par M2 ou parfois aussi compliqu que d tecter si le fichier d entr e est une image et en g n rer le G code pour graver la forme qu il ainsi d fini La section FILTER du fichier ini contr le comment les filtres fonctionnent Premi rement pour chaque type de fichier crire une ligne PROGRAM_EXTENSION Puis sp cifier le programme ex cuter pour chaque type de filtre Ce programme re oit le nom du fichier d entr e dans son premier argument il doit crire le code RS274 NGC sur la sortie standard C est cette sortie qui sera affich e dans la zone de texte pr visualis e dans la zone du parcours d outil et enfin ex cut e par LinuxCNC quand il sera mis en marche PROGRAM_EXTENSION extension Description Si votre fichier de sortie est tout en majuscules vous devez ajouter la ligne suivante PROGRAM_EXTENSION NGC XYZ Post Processor Les lignes suivantes ajoutent le support pour le convertisseur image to gcode fourni avec LinuxCNC PROGRAM EXTENSION png gif jpg Greyscale Depth Image png image to gcod Side image to gcod jpg im
86. pyvcp spindle_rpm lt mult2 0 out la led On net gs2 run gt pyvcp on led la led Sens horaire net gs2 fwd gt pyvcp fwd led la led Sens anti horaire net running rev spindle vfd spindle rev gt pyvcp rev led Certaines lignes demandent quelques explications La ligne de la led Sens horaire utilise le signal cr dans le fichier custom hal dans lequel la led Sens inverse doit utiliser le bit spindle rev On ne peut pas lier deux fois le bit spindle fwd pour utiliser le signal auquel il est d j li Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 76 193 Chapitre 11 Cr ation d interfaces graphiques avec GladeVCP 11 1 Qu est ce que GladeVCP GladeVCP est un composant de LinuxCNC qui donne la possibilit d ajouter de nouvelles interfaces graphiques utilisateur LinuxCNC telles qu Axis ou Touchy la diff rence de PyVCP GladeVCP n est pas limit l affichage et aux r glages des pins de HAL toutes les actions peuvent tre ex cut es en code Python En fait une interface utilisateur LinuxCNC compl te peut tre construite avec GladeVCP et Python GladeVCP utilise l environnement graphique et WYSIWYG Glade qui simplifie l dition et la cr ation visuelle de panneaux esth tiquement tr s r ussis Il s appuie sur les liaisons entre PyGTK et le riche jeu de widgets GTK finalement tous peuvent tre utilis s dans une application GladeVCP et pas seulement
87. r action ne permet de savoir si le suivi est correct ou non LinuxCNC calcule si il peut maintenir le suivi demand par une commande si ce n est pas possible il stoppe le mouvement et affiche une erreur de suivi Les erreurs de suivi sur les syst mes pas pas sont habituellement les suivantes FERROR to small FERROR trop petit MIN_FERROR to small MIN_FERROR trop petit MAX_VELOCITY to fast MAX_VELOCITY trop rapide Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 176 193 MAX _ACCELERATION to fast MAX_ACCELERATION trop rapide BASE_PERIOD set to long BASE_ PERIOD trop longue Backlash ajout un axe rattrapage de jeu Toutes ces erreurs se produisent lorsque l horloge temps r el n est pas capable de fournir le nombre de pas n cessaire pour maintenir la vitesse requise par le r glage de la variable BASE _ PERIOD Ce qui peut se produire par exemple apr s un test de latence trop bref pour obtenir un valeur fiable dans ce cas revenir une valeur plus proche de ce qu elle tait et r essayez C est galement le cas quand les valeurs de vitesse maximum et d acc l ration maximum sont trop lev es Si un backlash a t ajout il est n cessaire d augmenter STEPGEN_MAXACCEL aux environs du double de MAX_ ACCELERATION dans la section AXIS du fichier INT et ce pour chacun des axes sur lesquels un backlash a t ajout LinuxCNC utilise une extra acc l ra
88. rents S paration entre l apparence de l interface et les fonctionnalit s change d apparence sans passer par aucun code Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 771193 11 2 Description du fonctionnement avec un exemple de panneau Une fen tre de panneau GladeVCP peut d marrer avec trois diff rentes configuration Toujours visible int gr dans Axis du c t droit exactement comme un panneau PyVCP Dans un onglet dans Axis ou Touchy dans Axis un troisi me onglet sera cr c t des deux d origine ils doivent tre choisis explicitement Comme une fen tre ind pendante qui peut tre iconis e ou agrandie ind pendamment de la fen tre principale Lancer un panneau GladeVCP simple int gr dans Axis comme PyVCP taper les commandes suivantes cd configs sim gladevcp linuxcnc gladevcp panel ini Fle Machina rra Bee 06 10 21 00 0 al LR RIT Pe amp Spindle ne A Y Status PLES ual a Prepared toad O re Current fool 0 System 0 Scale waloe 0 0000 Spinbutton 0 00 MH Command Ad es Gs Settings Acte Giad a check sa re 0 GL 640 70 650 Gel CA Gay 059 plo ll e ee C4 507 501 1 68 HS Fi HS H53 HO FO OO y LED 1 roule Fed Ganiri 100 fog 5pord 16 inmin LED Max else y F2 imin ogg D radica ton Commarnda 4 5 Se nat ma 1 Golo Golo LE p ihat part re ur machine change the seule 1 Macher
89. respectant les limites de contrainte des articulations Ce flux sera re u simultan ment par tous les pilotes de moteurs Optionnellement le nombre d E S num riques est fix avec num_dio Le nombre d E S analogiques est fix avec num_aio Le nombre par d faut est 4 de chaque Les noms de pin commen ant par axis sont actuellement des valeurs d articulations mais les pins et les param tres sont galement appel s axis N Ils sont lus et mis jour par la fonction motion controller motion est charg par la commande motmod La cin matique doit tre charg e avant motion loadrt motmod base period nsec period servo_ period _nsec period traj period nsec period num_joints 0 9 num dio 1 64 num aio 1 16 base_period_nsec 50000 p riode de Base des t ches en nanosecondes C est le thread le plus rapide de la machine Note Sur les syst mes base de servomoteurs il n y a g n ralement aucune raison d avoir une valeur base period _nsec inf rieure celle de servo period nsec Sur les machines avec une g n ration de pas logicielle la valeur de base period _nsec d termine le nombre maximum de pas par seconde En l absence de la n cessit d une grande dur e de pas ou d un grand cart entre pas le taux maximum de pas est de un pas par base period nsec Ainsi la base period nsec ci dessus donnera un taux maximum absolu de 20000 pas par seconde 50000ns 50 us est une valeur assez prudente La
90. soit DISPLAY PROGRAM_PREFIX si il est sp cifi et avant que ne le soit WIZARD WIZARD_ROOT si il est sp cifi les recherches s effectuent dans l ordre dans lequel les chemins sont list s La premi re occurrence avec le sous programme recherch est utilis e Les r pertoires sont sp cifi s relativement au r pertoire courant du fichier ini ou par des chemins absolus La liste ne doit contenir aucun espace blanc USER_M_PATH myfuncs tmp mcodes experimentalmcodes Sp cifie une liste de r pertoires s par s par sans aucun espace blanc pour les fonctions d finies par l utilisateur Les r pertoires sont sp cifi s par rapport au r pertoire courant pour les fichiers ini ou en chemins absolus La liste ne doit contenir aucun espace blanc USER_DEFINED_FUNCTION_MAX_DIRS 5 D fini le nombre maximum de r pertoires au moment de la compilation Une recherche est faite pour chaque fonction utilisateur d finie possible typiquement M100 M199 L ordre de recherche est le suivant 1 DISPLAY PROGRAM_PREFIX si il est sp cifi 2 Si DISPLAY PROGRAM_PREFIX n est pas sp cifi cherche dans le r pertoire par d faut nc_files 3 Recherche ensuite dans chaque r pertoire de la liste RS274NGC USER_M_PATH Le premier M1xx trouv au cours de la recherche est utilis pour chaque M1xx Note WIZARD WIZARD_ROOT est un chemin de recherche valide mais l assistant n est pas encore compl tement impl ment et l
91. soit en r f rence un objet de type GtkBuilder ou de type libglade useropts Une liste de chaines collect e par l option de la ligne de commande de gladevcp U lt useropts gt GladeVCP inspecte alors la liste des instances de classe et r cup re leurs noms Les noms de m thode sont connect s l arbre des widgets comme gestionnaire de signaux Seuls les noms de m thode ne commengant pas par un _ tiret bas sont consid r s Noter que peu importe si la libglade ou le nouveau format GtkBuilder est utilis pour l UI Glade les widgets peuvent toujours tre soumis au builder get_object lt nomwidget gt En outre la liste compl te des widgets est disponible par builder get_objects ind pendamment du format de l UI 11 7 5 S quence d initialisation Il est important de connaitre pour quoi faire la fonction get_handlers est appel e et connaitre ce qui est s r et ce qui ne l est pas Tout d abord les modules sont import s et initialis s dans leur ordre d apparition sur la ligne de commande Apr s le succ s de l importation get_handlers est appel selon les tapes suivantes L arbre du widget est cr mais pas encore r alis pas tant que le niveau sup rieur window show n aura pas t ex cut Le composant de HAL halcomp est configur et toutes les pins de HAL des widgets lui sont ajout es Il est s r d ajouter plus de pins de HAL parce que halcomp ready n
92. sue dus ee ed ee a BE Oe Siret 113 1352 linunene command meihods 2 05 6 ok dus a a a e a Manet 113 15 6 Reading the ermorechanpel so sue AA OA Boe ee Re ee ee Ye eee 6 sa 115 13 7 Reading ini file values osos cocos ee e eA we des la 115 DS The l inurcne paste toniegqoer Wipe sneak Ae ee OR oh He ee ee AOR os SO Se Sk Be 116 SL DUO A A GH 116 13 8 2 MODOS ooo coa A eed e de do de dr ce dd ee A dr did 116 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 viii 14 La cin matique dans LinuxCNC 14 1 Introduction 14 1 1 Les articulations p 14 2 Cin matiques triviales 14 3 Cin matiques non triviales AL APDOR MUR ARES soc id SE A me SR el ne ve de A ee At n ALE Transforma avani nos sas dub ue bu SUR eue ds RASS Se aa eme se 14 3 2 Transformation invets gt ses cree os e 4e na eo done 6 ete du a 0e 6e ee w 14 4 D tails d impl mentation 15 R glages des pas pas 15 1 Obtenir le meilleur pilotage logiciel possible 4 4 4 54 4 su sas ORE RR ni te ne sans t 151 1 Effectuer tm test d latenc s 6 s cia ee eR RS we OA A bond ia D ones de de a 15 1 2 Conna tre ce dont vos cartes de pilotage ont besoin 15 1 3 Choisir la valeur de BASE PERIOD ccros 4 604 du 4 de 6 4 REE ee wR CREE 16 R glages d une boucle PID 16 1 R gulation PID 161 1 Les bases du contr ler boucle co 6464 24 e eee S nat a BS Pewee Em da
93. sultat Voir le tableau ci dessous pour un exemple de mesures de tension Par la m thode des moindres carr s obtenir les coefficients a b tels que mesure axraw b Noter que nous voulons des sorties brutes de sorte que nos r sultats mesur s soient identiques la sortie command e Ce qui signifie cmd axraw b raw cmd b a En cons quence les coefficients a et b d ajustement lin aire peuvent tre directement utilis s comme valeurs d chelle et d offset pour le contr leur Brutes Raw Mesur es 10 9 93 9 8 83 0 0 03 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 23 193 Brutes Raw Mesur es 1 0 96 9 9 87 10 10 87 MAX_OUTPUT 10 hal La valeur maximale pour la sortie de la compensation PID pouvant tre envoy e sur l ampli moteur en Volts La valeur calcul e de la sortie sera fix e cette valeur limite La limite est appliqu e avant la mise l chelle de la sortie en unit s brutes La valeur est appliqu e de mani re sym trique aux deux c t s le positif et le n gatif INPUT_SCALE 20000 hal Sp cifie le nombre d impulsions qui correspond un mouvement de une unit machine telle que fix e dans la section TRAJ Pour un axe lin aire une unit machine sera gale la valeur de LINEAR_UNITS Pour un axe angulaire une unit machine sera gale la valeur de ANGULAR_UNITS Un second chiffre si sp ci
94. tat de tous les widgets pour lesquels c est sens ajouter cela IniFile widgets widget _defaults builder get_objects une alternative sens e pourrait tre de ne retenir que l tat de tous les widgets de sortie HAL IniFile widgets widget _defaults select_widgets self builder get_ objects hal_only True output_only True Puis associer un fichier ini avec ce descripteur self ini_filename nam an 4 a self ini IniFile self ini filename self defaults self builder self ini restore_state self Ensuite restore_state aura automatiquement les attributs d finis si ce qui suit a t ex cut self nhits 0 self a 1 67 self d True self c a string Noter que les types sont enregistr s et conserv s lors de la restauration Cet exemple suppose que le fichier ini n existe pas ou qu il contient les valeurs par d faut depuis self defaults Apr s cette incantation on peut utiliser les m thodes IniFil suivantes ini save_state obj enregistre les attributs des objets depuis le dictionnaire IniFil vars l tat du widget comme d crit par IniFile widgets dans self defaults Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 102 193 ini create_default_ini cr e un fichier ini avec les valeurs par d faut ini restore_state obj restaure les pins de HAL et les attributs des objets enregistr s initialis s par d faut comme pr c demment Pour enregist
95. uses RS274 NGC GUI Graphical User Interface Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 184 193 General A type of interface that allows communications between a computer and a human in most cases via the manipulation of icons and other elements widgets on a computer screen LinuxCNC An application that presents a graphical screen to the machine operator allowing manipulation of the machine and the corresponding controlling program HAL Hardware Abstraction Layer At the highest level it is simply a way to allow a number of building blocks to be loaded and interconnected to assemble a complex system Many of the building blocks are drivers for hardware devices However HAL can do more than just configure hardware drivers Home A specific location in the machine s work envelope that is used to make sure the computer and the actual machine both agree on the tool position ini file A text file that contains most of the information that configures LinuxCNC for a particular machine Instance One can have an instance of a class or a particular object The instance is the actual object created at runtime In program mer jargon the Lassie object is an instance of the Dog class Joint Coordinates These specify the angles between the individual joints of the machine See also Kinematics Jog Manually moving an axis of a machine Jogging either moves the axis a fixed amount for each key press or moves the axis at
96. vous voulez aligner les widgets horizontalement les uns c t s des autres Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 62 193 lt hbox gt lt relief gt RIDGE lt relief gt lt bd gt 6 lt ba gt lt label gt lt text gt a hbox lt text gt lt label gt lt led gt lt led gt lt number gt lt number gt lt bar gt lt bar gt lt hbox gt l int rieur d une Hbox il est possible d utiliser les balises lt boxfill fill gt lt boxanchor anchor gt et lt boxexpand expand gt pour choisir le comportement des l ments contenus dans la bo te lors d un redimensionnement de la fen tre Pour des d tails sur le comportement de fill anchor et expand r f rez vous au manuel du pack Tk pack 3tk Valeurs par d faut fill y anchor center expand yes 9 7 3 Vbox Utilisez une Vbox lorsque vous voulez aligner les widgets verticalement les uns au dessus des autres lt vbox gt lt relief gt RIDGE lt relief gt lt bd gt 6 lt bd gt lt label gt lt text gt a vbox lt text gt lt label gt lt led gt lt led gt lt number gt lt number gt lt bar gt lt bar gt lt vbox gt A l int rieur d une Vbox vous pouvez utiliser les balises lt boxfill fill gt lt boxanchor anchor gt et lt boxexpand expand gt pour choisir le comportement des l ments contenus dans la boite lors d un redimensionnement de la fen tre Pour des d tails
97. xml Pour que notre widget affiche r ellement la vitesse de la broche spindle speed 11 doit tre raccord au signal appropri de HAL Le fichier hal qui sera ex cut quand AXIS et pyVCP d marreront doit tre sp cifi de la mani re suivante dans la section HAL du fichier ini POSTGUI_HALFILE broche vers _pyvcp hal Ce changement lancera la commande HAL sp cifi e dans broche_vers_pyvcp hal Dans notre exemple ce fichier contiendra juste la commande suivante net spindle rpm filtered gt pyvcp spindle speed ce qui suppose que le signal appel spindle rpm filtered existe aussi Noter que lors de l ex cution avec AXIS toutes les pins des widgets de py VCP ont des noms commen ant par pyvcp Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 48 193 LS lathe_pawn ngc AXIS Nelli Fichier Machine Yue Aide x Ifo 2 gt gt a de Vitesse broche Contr le manuel F3 Donn es manuelles F5 Axes 0 0 5000 ll E M Mouvement temporaire hors limites Broche je pel JES Correcteur de vitesse 100 al Correcteur de vitesse de broche 100 Ea Vitesse de jog 309 mm min mpi 12 20 488 13 GOO X0 383 20 782 14 X13 5 15 Z1 0 16 22 0 73 X11 237 19 X12 2 2 35 95 20 2 37 95 EN MARCHE Pas d outil Position Relative Actuelle Y Le Voila quoi ressemble le panneau pyVCP que nous venons de cr er incorpor AXIS La
98. 1 S lecteur de configuration 3 2 Fichiers utilis s pour la configuration LinuxCNC est enti rement configur avec des fichiers textes classiques Tous ces fichiers peuvent tre lus et modifi s dans n importe quel diteur de texte disponible dans toute distribution Linux Soyez prudent lorsque vous modifierez ces fichiers certaines erreurs pourraient emp cher le d marrage de LinuxCNC Ces fichiers sont lus chaque fois que le logiciel d marre Certains d entre eux sont lus de nombreuses fois pendant l ex cution de LinuxCNC Les fichiers de configuration inclus INI Le fichier ini crase les valeurs par d faut compil es dans le code de LinuxCNC Il contient galement des sections qui sont lues directement par HAL Hardware Abstraction Layer couche d abstraction mat rielle HAL Les fichiers hal installent les modules de process ils cr ent les liens entre les signaux de LinuxCNC et les broches sp cifiques du mat riel VAR Ce fichier contient une suite de num ros de variables Ces variables contiennent les param tres qui seront utilis s par l interpr teur Ces valeurs sont enregistr es et r utilis es d une ex cution l autre TBL Ce fichier contient les informations relatives aux outils Voir la section Fichier d outils du Manuel de l utilisateur pour plus d infos NML Ce fichier configure les voies de communication utilis es par LinuxCNC Il est normaleme
99. 2 6 11 34 gff59490 2015 12 16 17 193 for i in words if 1 0 2 newword W i 1 if len newword gt 0 words append newword newline join words file_out append newline else file _out append line for item in file out o aline Was CEN Sie name __main_ main sys argv 1 3 5 4 Section RS274NGC PARAMETER_FILE monfichier var Le fichier situ dans le m me r pertoire que le fichier ini qui contiendra les param tres utilis s par l interpr teur enregistr entre chaque lancement ORIENT_OFFSET 0 Une valeur flottante ajout e au param tre R d une op ration d orientation de la broche par M19 Utilis e pour d finir une position z ro quelconque quelle que soit l orientation de montage du codeur de broche RS274NGC_STARTUP_CODE G17 G20 G40 G49 G64 P0 001 G80 G90 G92 G94 G97 G98 Une chaine de codes NGC qui sera utilis e pour initialiser l interpr teur Elle ne se substitue pas la sp cification des G codes modaux du d but de chaque fichier ngc Les codes modaux des machines diff rent ils pourraient tre modifi s par les G codes interpr t s plut t dans la session SUBROUTINE_PATH ncsubroutines tmp testsubs lathesubs millsubs Sp cifie une liste s par e par d au maximum 10 r pertoires dans lesquels seront cherch s les fichier de sous programme sp cifi s dans le g code Ces r pertoires sont inspect s apr s que ne le
100. 2 St os LA DODGE Be ward MES Sats Bes RSR ES 138 16 6 Lateral ooo bP eA Rhee ee OE dE ue ben eee ead ea EDGAR ERG es 140 18 60 CONTACTS 66255 She aap mipi BS eB A ee eS es Gh de de le 140 Dee D C TUM dea Ses LA ee ee oe ward MES Ss oe ee wad Se 140 1303 TIMERS 24 Lu 446 a bead ead en de die 140 13 64 MONOSTABLES amp ecce g YR pombe ee oy ee aug ok ee ek Pod YE ae ee e 141 Eee COUNTERS cos tan a yee te wars SUD D A oe ee SA 141 13 6 6 COMPARE och okeran A fa Ga Shae 141 136 7 VARIABLE ASSIGNMENT lt pe cisco os 4 Oe EA Wok Re ds Y N e ss 142 BOS COILS scene ki a BARES DERE MBER EEL ER GEEKS be REG wee ee 144 18 6 5 JUMP COL o 5 4 La Le Loue De ee bh be bbe hb Bed ee PEA Chae 144 19022 CALLE us pea hauoni ee ER cotes Bre ek Bow e eS 144 18 7 Classic Ladder Vanables o ocios ws ER Rae EARS BR be RA wb ne 145 183 GRAPCET Progtammi g gt ori Le Le SS Ba we Pe eed eae PRAM ddr os 146 S INOUE awape a BR ee a E e da 146 185 1 MODBUS SEPSA REE a RE Rae AG alto ae 149 192 MODBUS Mtp 22 OS a i BESS ee AA e GS 149 1833 Communication LOIS seose Soe ae ER sy VR eee eS 150 1694 MODBUS Bugs o a ches ba as bE REE A Ka be BEG meta 150 ES Sette up Classic Ladder ooo eee ew bee o be eee 4 m4 dir d 150 18 10 l Ale e Moules lt i se se E ds NB aug ee Bee E oe ee sa 151 13 10 2 Adding Ladder Loss cum dm ee a a Kae BERG Dee e 151 ES Il badder Examples cie eoa a durae di si bb same A e
101. 2 signifie 120 de la vitesse programm e MIN_SPINDLE_OVERRIDE 0 5 Correction de vitesse minimum de broche que l op rateur pourra utiliser 0 5 signifie 50 de la vitesse de broche programm e utile si il est dangereux de d marrer un programme avec une vitesse de broche trop basse MAX_SPINDLE_OVERRIDE 1 0 Correction de vitesse maximum de broche que l op rateur pourra utiliser 1 0 signifie 100 de la vitesse de broche programm e DEFAULT_SPINDLE_SPEED 100 Vitesse de broche par d faut quand celle ci d marre en mode manuel Dans AXIS si cette variable est absente la vitesse de d marrage est alors fix e 1 tr mn Ce n est pas la vitesse minimum PROGRAM _PREFIX linuxcnc nc_ files R pertoire par d faut des fichiers de g codes et emplacement des M codes d finis par l utilisateur Les recherches de fichiers s effectueront d abords dans cet emplacement avant les chemins des sous programmes et des fichiers M utilisateur si il est sp cifi dans la section RS274NGC INTRO_GRAPHIC linuxcnc gif L image affich e sur l cran d accueil Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 15 193 INTRO_TIME 5 Dur e d affichage de l cran d accueil CYCLE_TIME 0 05 Cycle time in seconds that display will sleep between polls Les l ments suivants sont utilis s uniquement si AXIS est s lectionn comme programme d interface utilisateur
102. 2e oras NEO nes double x AD2 BD2 Bx Bx 2 Bx doubile my2 EN NP NN xe abie ya s O recwisa ig POS LRO pos gt tran y sqrt y2 return 0 14 3 2 Transformation inverse La cin matique inverse est beaucoup plus simple dans notre exemple de sorte que nous pouvons l crire directement AD sqrt x y BD sqrt Bx x y ou traduite en code double x2 pos gt tran x x pos gt tran x double y2 pos gt tran y x pos gt tran y Joel seme se MAE Jones Md seti H Kos trein e NS Aaa ap A y return 0 14 4 D tails d impl mentation Un module cin matique est impl ment comme un composant de HAL et il est permis d exporter ses pins et ses param tres Il consiste en quelques fonctions C par opposition au fonctions de HAL Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 120 193 int kinematicsForward const double joint EmcPose world const KINEMATICS_FORWARD_FLAGS fflags KINEMATIC Impl mente la fonction cin matique avant int kinematicsInverse const EmcPose world double joints const KINEMATICS_INVERSE_FLAGS iflags KINEMATICS Impl mente la fonction cin matique inverse KINEMATICS_TYPE kinematicsType void _ Retourne l identificateur de type de la cin matique typiquement KINEMATICS_BOTH int kinematicsHome EmcPose world double joint KINEMATICS_FORWARD_FLAGS fflags KINEMATICS_INVERSE La fonction prise d origine de la cin mati
103. 51 193 9 6 7 Label Un label est un texte qui s affiche sur le panneau Le label a une pin optionnelle de d sactivation en ajoutant lt disable_pin gt True lt disable_pin gt lt label gt lt text gt Ceci est un label lt text gt lt font gt Helvetica 20 lt font gt lt label gt Ce code produira Ceci est un label 9 6 8 Les leds Une led est utilis e pour indiquer l tat d une pin de HAL de type bit La couleur de la led sera on_color quand le signal est vrai et off_color autrement lt halpin gt d finit le nom de la pin par d faut led n o n est un entier lt size gt d finit la taille de la led par d faut 20 lt on_color gt d finit la couleur de la led led quand la pin est vraie par d faut green lt off_color gt d finit la couleur de la led quand la pin est fausse par d faut ref 9 6 9 La led ronde lt led gt lt halpin gt ma led lt halpin gt lt size gt 50 lt size gt lt on_color gt verte lt on_color gt sort Colorao lt O tame Olore gt lt led gt Le r sultat du code ci dessus 9 6 10 La led rectangulaire C est une variante du widget led lt vbox gt lt relief gt RIDGE lt relief gt lt bd gt 6 lt bd gt lt rectled gt lt halpin gt ma led rect lt halpin gt lt height gt 50 lt height gt lt width gt 100 lt width gt lt on_color gt green lt on_color gt zorr Color Vrece ozr_ Colors lt rectled gt lt vbox gt
104. 6 Legal Section 26 1 Copyright Terms Copyright c 2000 2015 LinuxCNC org Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 1 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License 26 2 GNU Free Documentation License GNU Free Documentation License Version 1 1 March 2000 Copyright 2000 Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document but changing it is not allowed 0 PREAMBLE The purpose of this License is to make a manual textbook or other written document free in the sense of freedom to assure everyone the effective freedom to copy and redistribute it with or without modifying it either commercially or noncommercially Secondarily this License preserves for the author and publisher a way to get credit for their work while not being considered responsible for modifications made by others This License is a kind of copyleft which means that derivative works of the document must themselves be free in the same sense It complements the GNU General Public License which is a copyleft license designed for free software We have designed this Licens
105. 7 193 Deuxi me partie La logique Ladder Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 128 193 Chapitre 17 La programmation en Ladder 17 1 Introduction La logique Ladder ou langage de programmation Ladder est une m thode pour tracer les sch mas en logique lectrique Il s agit maintenant d un langage graphique vraiment populaire pour la programmation des automates programmables industriels APT Il a t l origine invent pour d crire la logique relais Son nom est fond sur la constatation que les programmes dans cette langue ressemblent une chelle ladder avec deux rails verticaux et entre eux une s rie d chelons En Allemagne et ailleurs en Europe le style consiste placer les rails horizontaux un en haut de la page et l autre en bas avec les chelons verticaux dessin s s quentiellement de la gauche vers la droite Un programme en logique Ladder galement appel sch ma Ladder est ressemblant au sch ma d un ensemble de circuits lectriques relais C est l int r t majeur du sch ma Ladder de permettre une large vari t de personnels techniques ing nieurs techniciens lectriciens etc de le comprendre et de l utiliser sans formation compl mentaire gr ce cette ressemblance La logique Ladder est largement utilis e pour programmer les API avec lesquels le contr le s quentiel des processus de fabri cation est requis Le Ladder est
106. 74NGC les sous programmes Oword sp cifiques a gladevcp se placent ici SUBROUTINE_PATH gladevcp nc_files Noter les diff rences suivantes avec la configuration de l onglet d Axis Le fichier de commandes HAL est l g rement modifi puisque Touchy wutilise pas le composant halui ses signaux ne sont donc pas disponibles et certains raccourcis ont t pris Il n y a pas d option POSTGUI_HALFILE mais il est correct de passer le fichier de commandes HAL par la ligne EMBED_TAB_COMMAND L appel halcmd loaduser Wn n est pas n cessaire 11 4 Options de GladeVCP en ligne de commande Voir galement man gladevcp Ce sont les options pour cette ligne de commande Usage gladevcp options myfile ui Options h help Affiche ce message d aide et sort c NAME Fixe le nom du composant NAME Par d faut le nom de base des fichiers UI d Active la sortie d bogage g GEOMETRY Fixe la g om trie WIDTHxHEIGHT XOFFSET YOFFSET Les valeurs sont en pixels XOFFSET YOFFSET est r f renc partir du coin haut gauche de l cran Utilise g WIDTHxHEIGHT pour fixer une taille ou g XOFFSET YOFFSET pour fixer une position H FILE ex cute les d clarations de HAL depuis FILE avec halcmd apr s que le composant soit charg et pr t m MAXIMUM force la fen tre du panneau se maximiser Toutefois avec l option g geometry le panneau est d pla able d un moniteur un autre en
107. 999 degr s Les nombres positifs d placent l axe dans le sens positif et les nombres n gatifs dans le sens n gatif LOCKING_INDEXER I Quand ce param tre est mis 1 un mouvement en GO sur cet axe va produire un signal de d blocage sur la pin axis N unlock puis attendre le signal axis N is unlocked de cet axe pour d placer l axe la vitesse rapide pr vue pour cet axe Apr s ce mouvement le signal axis N unlock retombera false et les mouvements attendront que axis N is unlocked redevienne false Le mouvement des autres axes n est pas autoris lors du mouvement d un axe rotatif verrou UNITS inch Ce r glage crase celui des variables TRAJ UNITS si il est sp cifi ex TRAJ LINEAR_UNITS si le TYPE de cet axe est LINEAR TRAJJANGULAR_UNITS si le TYPE de cet axe est ANGULAR MAX_VELOCITY 1 2 Vitesse maximum pour cet axe en unit s machine par seconde MAX_ACCELERATION 20 0 Acc l ration maximum pour cet axe en unit s machine par seconde au carr BACKLASH 0 000 Valeur de compensation du jeu en unit s machine Peut tre utilis e pour att nuer de petites d fi ciences du mat riel utilis pour piloter cet axe Si un backlash est ajout un axe et que des moteurs pas pas sont utilis s la valeur de STEPGEN_MAXACCEL doit tre 1 5 2 fois plus grande que celle de MAX_ACCELERATION pour cet axe COMP_FILE file extension Fichier dans lequel est enregistr e une stru
108. Apr s avoir d tect le contact d origine avoir ajust les coordonn es de ce point la valeur de HOME_OFFSET le mobile va se d placer sur la valeur de HOME c est le point final de la s quence de prise d origine La valeur par d faut est z ro Notez que m me si ce param tre est gal la valeur de HOME_OFFSET le mobile d passera tr s l g rement la position du point d aquisition de l origine machine avant de s arr ter Donc il y aura toujours un petit mouvement ce moment l sauf bien s r si HOME_SEARCH_VEL est a z ro et que toute la s quence de POM a t saut e Ce mouvement final s effectue en vitesse de d placement rapide Puisque axe est maintenant r f renc il ny a plus de risque pour la machine un mouvement rapide est donc la fa on la plus rapide de finir la s quence de prise d origine 4 3 7 HOME IS SHARED Si cet axe n a pas un contact d origine s par des autres mais plusieurs contacts c bl s sur la m me broche d entr e mettre cette valeur 1 pour viter de commencer la prise d origine si un de ces contacts partag s est d j activ Mettez cette valeur O pour permettre la prise d origine m me si un contact est d j attaqu 4 3 8 HOME SEQUENCE Utilis pour d finir l ordre des s quences HOME_ ALL de prise d origine des diff rents axes exemple la POM de l axe X ne pourra se faire qu apr s celle de Z La POM d un axe ne pourra se faire qu
109. Button La bo te d incr ment de HAL est d riv e de GtkSpinButton elle a deux pins de sortie lt nomwidget gt f out FLOAT pin lt nomwidget gt s out 32 pin Pour tre fonctionnelle Spinbutton doit avoir une valeur d ajustement comme chelle vue pr c demment lb P Exemple de bo te d incr ment 11 5 7 Les labels Le Label HAL est un simple widget bas sur GtkLabel qui repr sente la valeur d une pin de HAL dans un format d fini par Putilisateur HAL pin type Les pins de HAL sont des types 0 S32 1 float ou 2 U32 voir aussi l infobulle d info sur G n ral HAL pin type noter que c est diff rent de PyVCP qui lui a trois widgets label un pour chaque type text template D termine le texte afficher une chaine au format Python pour convertir la valeur de la pin en texte Par d fauts s les valeurs sont converties par la fonction str mais peut contenir n importe quel argument l gal pour la m thode format de Python Exemple Distance 03f va afficher le texte et la valeur de la pin avec 3 digits fractionnaires remplis avec des z ros pour une pin FLOAT Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 88 193 11 5 8 Les conteneurs HAL_HBox et HAL_Table Compar s leurs contreparties Gtk ils ont une pin d entr e BIT qui contr le si les enfants des widgets sont sensitifs ou non Si la pin est basse alors les widgets enfants sont inactifs ce qui est le com
110. CP est cr incluant une fen tre de niveau sup rieur puis re aparent dans Axis laissant trainer les orphelins de la fen tre de niveau sup rieur Pour viter d avoir cette fen tre vide qui traine elle est unmapped rendue invisible et la cause du signal unmap que vous avez eux Suggestion pour fixer le probl me fixer window1 visible False et ignorer le message initial d v nement unmap 2 Mon programme GladeVCP d marre mais aucune fen tre n apparait alors qu elle devrait La fen tre allou e par Axis pour Glade VCP obtient la faille naturelle de tous ses enfants combin s C est au widget enfant a r clamer une taille largeur et ou hauteur Cependant toutes le fen tres ne demandent pas une plus grande que 0 par exemple le widget Graph dans sa forme courante Si il y a un tel widget dans votre fichier Glade et que c est lui qui d fini la disposition vous devrez fixer sa largeur explicitement Noter que la largeur et la hauteur de la fen tre window dans Glade n a pas de sens puisque cette fen tre sera orpheline lors du changement de parent et donc sa g om trie n aura aucun impact sur les mise en page voir ci dessus La r gle g n rale est la suivante si vous ex cutez manuellement un fichier UI avec gladevcp lt fichierui gt et que sa fen tre a une g om trie raisonnable elle devrait apparaitre correctement dans Axis 3 Je veux une Led clignotante alors j ai coch une case pour la laisser clignoter
111. Cette variable d termine si LinuxCNC doit ignorer les fins de course de limites d axe Certaines machines n utilisent pas un contact d origine s par la place elles utilisent un des interrupteurs de fin de course comme contact d origine Dans ce cas LinuxCNC doit ignorer activation de cette limite de course pendant la s quence de prise d origine La valeur par d faut de ce param tre est NO 4 3 4 HOME_USE_INDEX Sp cifie si une impulsion d index doit tre prise en compte cas de r gles de mesure ou de codeurs de positions Si cette variable est vraie HOME _USE_INDEX YES LinuxCNC fera l acquisition de l origine machine sur le premier front de l impulsion d index Si elle est fausse NO LinuxCNC fera acquisition de l origine sur le premier front produit par le contact d origine d pendra des signes de HOME_SEARCH_VEL et HOME_LATCH_VEL La valeur par d faut est NO 4 3 5 HOME_OFFSET Contient l emplacement du point d origine ou de l impulsion d index en coordonn es relatives Il peut aussi tre trait comme le d calage entre le point d origine machine et le z ro de l axe A la d tection du point d origine ou de l impulsion d origine LinuxCNC ajuste les coordonn es de l axe la valeur de HOME_OFFSET La valeur par d faut est z ro 4 3 6 Position de l origine HOME C est la position sur laquelle ira le mobile la fin de la s quence de prise d origine machine
112. Chacun d eux est mis en place en utilisant des articulations lin aires et rotatives Ces articulations ne correspondent pas habituellement avec les coordonn es Cart siennes cela n cessite une fonction cin matique qui fasse la conversion en fait 2 fonctions fonction en avant et inverse de la cin matique Pour illustrer ce qui pr c de nous analyserons une simple cin matique appel e bipode une version simplifi e du tripode qui est d j une version simplifi e de l hexapode y A 0 0 Dx B Bx 0 AD BD D Dx Dy FIGURE 14 1 D finir un bipode 3 Si la machine par exemple un tour est mont e avec seulement les axes X Z et A et que le fichier d init de LinuxCNC contient uniquement la d finition de ces 3 articulations alors l assertion pr c dente est fausse Parce que nous avons actuellement joint0 x joint Z joint2 A ce qui suppose que jointl Y Pour faire en sorte que cela fonctionne dans LinuxCNC il suffit de d finir tous les axes XYZA LinuxCNC utilisera alors une simple boucle dans HAL pour l axe Y inutilis 4 Une autre fa on de le faire fonctionner est de changer le code correspondant et recompiler le logiciel Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 119 193 Le bipode dont nous parlons est un appareil compos de deux moteurs plac s sur un mur cet appareil un mobile est suspendu par des fils Les articulations dans ce cas sont les distances entre le mobile et l
113. D placement la position de l origine y vitesse rapide 1 000 N 1 000 3 000 imputsions d index Rel chement du contact Een du contact Recherche du contact d origine vitesse de recherche Retour sur contact d origine jusqu au rel chement vitesse de recherche Oui 3 000 Prise d origine machine la 1 re impulsion g apr s enclenchement vitesse de d tection 1 000 D placement la position de l origine vitesse rapide 1 000 Lo Impulsions d index FIGURE 4 1 Les s quences de POM possibles Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 26 193 1 Comme on le voit sur la figure les deux conditions de base sont les suivantes a La direction de recherche SEARCH_VEL et la direction de d tection LATCH_VEL sont de m me signe b La direction de recherche SEARCH_VEL et la direction de d tection LATCH_VEL sont de signe oppos 4 3 Configuration Le tableau suivant d termine exactement comment se d roule la s quence de prise d origines d finie dans la section AXIS du fichier ini TABLE 4 1 Combinaisons des variables de la POM Type de POM SEARCH_VEL LATCH_VEL USE_INDEX Immediate 0 0 NON Index seul 0 nonzero OUI Contact seul nonzero nonzero NO Contact et Index nonzero nonzero OUI Note Toute autre combinaison produira une erreur 4 3 1 Vitesse de recherche HOME_SEARCH_VEL Vitesse de la phase initiale de prise d origine pendant la recherche
114. DEBUG 0 Niveau de d bogage 0 signifie qu aucun message ne sera affich dans le terminal pendant le fonctionnement de LinuxCNC Les drapeaux de d bogage ne sont g n ralement utiles que pour les d veloppeurs 3 5 2 Section DISPLAY Les diff rentes interfaces graphiques utilisent diff rentes options qui ne sont pas support es par toutes les interfaces utilisateur Les deux principales interfaces pour LinuxCNC sont AXIS et Touchy Axis est une interface pour une utilisation avec un ordinateur classique et son moniteur Touchy est utiliser avec les ordinateurs cran tactile Pour plus d informations voire la section Interfaces du Manuel de l utilisateur DISPLAY axis Le nom de l interface graphique utiliser Les options disponibles sont les suivantes axis touchy keystick mini tklinuxcnc xlinuxcnc POSITION_OFFSET RELATIVE Le syst me de coordonn es RELATIVE ou MACHINE utiliser au d marrage de l interface utilisateur Le syst me de coordonn es RELATIVE refl te le G92 et le d calage d origine G5x actuellement actifs POSITION_ FEEDBACK ACTUAL Valeur de la position COMMANDED ou ACTUAL afficher au d marrage de l inter face utilisateur La position COMMANDED est la position exacte requise par LinuxCNC La position ACTUAL est la position retourn e par l lectronique des moteurs MAX_FEED_OVERRIDE 1 2 La correction de vitesse maximum que l op rateur peut utiliser 1
115. MODE_ AUTO c mode linuxcnc MODE MANUAL c override limits c program_open foo ngc c reset_interpreter c tool_otfset toolno z_offset x_offset diameter frontangle backangle orientation 13 5 1 linuxcnc command attributes serial the current command serial number 13 5 2 linuxcnc command methods abort send EMC_TASK_ABORT message auto int int run step pause or resume a program brake int engage or release spindle brake debug int set debug level via EMC_SET_DEBUG message feedrate float set the feedrate flood int turn on off flooding home int home a given axis jog int int int int Syntax jog command axis velocity distance jog inuxcnce JOG_STOP axis jog linuxcnc JOG_CONTINUOUS axis velocity jog linuxcnc JOG_INCREMENT axis velocity distance Constants JOG_STOP 0 JOG_CONTINUOUS 1 JOG_INCREMENT 2 load tool _table reload the tool table maxvel float set maximum velocity Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 114 193 mdi string send an MDI command Maximum 255 chars mist int turn on off mist Syntax mist command mist linuxcnc MIST_ON 1 mist linuxcnc MIST_OFF 0 Constants MIST_ON 1 MIST_OFF 0 mode int set mode MODE_MDI MODE_MANUAL MODE_AUTO override_limits set the override axis limits flag program_open string open an NGC file reset_interpreter
116. Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 ji Table des mati res 1 Concepts importants pour l int grateur 1 Ll BE pt api ose rad pea Ri we eR A ag nee e 1 LLI Period di DAS Li o Ase aipe e Ee E aio ea eee ee a A we E a e a a ei ap da 1 LR Tinte des pas ss aeia i A AA E ie De mie en EUR E ox 2 L2 Sysomer ison sp ee A RR ARA a A g Gun ts E 2 121 Operation de Dast i 2 oiche co ee ee a e a 2 Le TAME POESIA EA Meme sans 3 LAS Were mtesral osos pei eee AR O a e eR A a E 3 124 o 4 cp sn IR a A i a Sk oe G a 4 LS Role la bowle 2 6 22044 su e e a A a ES AS ARAS oa 4 126 R slase Manel 22 3 24 in ee a bade ar A du 4 lo RIAL e A de Bike a Sad Ee E A e A eh Be ie da 4 LAI ACW soc oe wee ae ee A EA AAA a ARA oo 4 I Configuration de LinuxCNC 3 2 Test des capacit s temps r el 6 ul Vesicle Ne us ee RO we Aa eo ee Sa Se Ea NEE A Oe Ee ee ee 6 22 Presses des POE Ls Le ks ge eb hn he eee ba we ee eee ek de Se eS ede Re SS 7 3 Configuration de LinuxCNC 9 LL Senpi hement e ka A A EEE EE Deed eR AGES ea be RR ele ek we ae 9 32 Fichiers utilises pour la configuration 22 024 6456 man d 540 bade E oe eee de ee RE EES 10 24 Double passe TWOPASSI oa nn oY Ae ea PEE Rs Re ee ee ee es E eee ace amp 11 34 Urisanisaticn du CIELOS 222208 ar AG A a A de 12 Sa Les COMIMEN
117. NTS 1 inch 1 mil 1 cm 1 mm 1 um sont des entr es valides OPEN FILE chemin complet du fichier ngc Le fichier ngc utiliser au d marrage d AXIS Utilisez une cha ne vide et aucun fichier ne sera charg au d marrage EDITOR gedit L diteur utiliser lors du choix diter fichier du menu d AXIS pour diter le G code Ceci doit tre configur pour que cet item de menu s active Une autre possibilit valide est gnome terminal e nano TOOL_EDITOR tooledit L diteur de texte utiliser pour diter les tables d outils par exemple en s lectionnant Fichiers gt Editer la table d outils dans le menu d Axis D autres entr es comme gedit gnome terminal e vim gvim ou nano sont valides PYVCP filename xml Le fichier de description du panneau PyVCP Voir la section PyVCP LATHE 1 Passe l affichage en mode tour avec vue de dessus et la visu soit en rayon soit en diam tre GEOMETRY XYZABCUVW Contr le de pr visualisation du parcours d outil d un mouvement rotatif Cet item consiste en une suite de lettre d axe optionnellement pr c d d un signe Seuls les axes d finis par TRAJJAXES peuvent tre utilis s Cette s quence sp cifie l ordre dans lequel l effet de chaque axe est appliqu Un signe inverse le sens de la rotation La chaine GEOMETRY correcte d pend de la configuration de la machine et de la cin matique utilis e pour la contr
118. OUT FALSE ptest btn02 gt pin02 4 bit IN FALSE ptest led 01 lt pin01 4 bit IN FALSE ptest led 02 lt pin02 4 bit IN TRUE ptest led 10 lt pin10 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 73 193 T 4 bit IN TRUE ptest led 11 lt pin11 Cela montre quelles pins sont IN est lesquelles sont OUT ainsi que toutes les connections 10 5 Compte tours pour GS2 L exemple suivant utilise un variateur de fr quence GS2 de la soci t Automation Direct Il permet le pilotage du moteur la visualisation de la vitesse ainsi que d autres informations dans un panneau PyVCP Cet exemple est bas sur un autre relatif au variateur GS2 et se trouvant dans la section des exemples mat riels de ce manuel Ce dernier exemple s appuie lui m me sur la description du composant de HAL gs2_vfd 10 5 1 Le panneau Pour cr er le panneau nous ajoutons ce code au fichier xml lt pyvcp gt AS OMP ESA O US lt hbox gt lt relief gt RAISED lt relief gt lt bd gt 3 lt bd gt lt meter gt lt halpin gt spindle_rpm lt halpin gt lt text gt Broche lt text gt lt subtext gt tr mn lt subtext gt lt size gt 200 lt size gt lt min_ gt 0 lt min_ gt lt max_ gt 3000 lt max_ gt lt majorscale gt 500 lt majorscale gt lt minorscale gt 100 lt minorscale gt lt region1 gt 0 10 yellow lt regionl gt lt meter gt lt hbox gt lt l La Led On gt lt hbox gt lt relief gt RAISED lt
119. P COIL a goto coil when coil is energized ladder program jumps to a rung in the CURRENT section jump points are designated by a rung label Add rung labels in the section display top left label box CALL COIL a gosub coil when coil is energized program jumps to a subroutine section designated by a subroutine number subroutines are designated SRO to SR9 designate them in the section manager O AVERTISSEMENT If you use a N C contact with a N C coil the logic will work when the coil is energized the contact will be closed but that is really hard to follow 18 6 8 1 JUMP COIL A JUMP COIL is used to JUMP to another section like a goto in BASIC programming language If you look at the top left of the sections display window you will see a small label box and a longer comment box beside it Now go to Editor Modify then go back to the little box type in a name Go ahead and add a comment in the comment section This label name is the name of this rung only and is used by the JUMP COIL to identify where to go When placing a JUMP COIL add it in the rightmost position and change the label to the rung you want to JUMP to 18 6 8 2 CALL COIL A CALL COIL is used to go to a subroutine section then return like a gosub in BASIC programming language If you go to the sections manager window hit the add section button You can name this section select what language it will use ladder or sequential and select what type m
120. PATH gladevcp nc_files Le nom de composant HAL d une application GladeVCP lanc avec l option GLADEVCP est toujours gladevcp La ligne de commande actuellement lanc e par Axis dans la configuration ci dessous est la suivante halcmd loadusr Wn gladevcp gladevcp c gladevcp x XID lt arguments pour GLADEVCP gt Ce qui veux dire que n importe quelle option gladevcp peut tre ajout e ici tant qu elle n entre pas en collision avec les options des lignes de commande suivantes Note L option RS274NGC SUBROUTINE_PATH est fix e seulement pour que l exemple de panneau puisse trouver le sous programme Oword pour le widget de commande MDI II n est peut tre pas n cessaire dans votre configuration 11 3 6 Int gration dans un nouvel onglet d Axis la suite des autres Pour cela diter le fichier ini et ajouter dans les sections DISPLAY et HAL les lignes suivantes DISPLAY ajoute le panneau GladeVCP dans un nouvel onglet EMBED_TAB_NAME GladeVCP demo EMBED_TAB_COMMAND halcmd loadusr Wn gladevcp gladevcp c gladevcp x XID u gladevcp hitcounter py gladevcp manual example ui HAL commandes HAL pour le composant GladeVCP dans un onglet doit tre ex cut via POSTGUI_HALFILE POSTGUI_HALFILE gladevcp manual example hal RS274NGC les sous programmes Oword sp cifiques a gladevcp se placent ici SUBROUTINE_PATH gladevcp nc_f
121. Pour trouver les adresses des ports parall les de la machine tapez cette commande grep pour filtrer les informations contenues dans dmesg dmesg grep parport Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 181 193 24 6 Problemes mat riels 24 6 1 Informations sur le mat riel Pour voir la liste du mat riel install sur les ports PCI de votre carte m re tapez la commande suivante dans un terminal Lsjocal Ay Pour voir la liste du mat riel install sur les ports USB de votre carte m re tapez la commande suivante dans un terminal SUS 24 6 2 R solution du moniteur Lors de l installation d Ubuntu les r glages du moniteur sont automatiquement d tect s Il peut arriver que la d tection fonctionne mal et que la r solution ne soit que celle d un moniteur g n rique en 800x600 Pour r soudre ce cas suivez les instructions donn es ici b https help ubuntu com community Fix VideoResolutionHowto m Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 182 193 Chapitre 25 Glossary A listing of terms and what they mean Some terms have a general meaning and several additional meanings for users installers and developers Acme Screw A type of lead screw that uses an Acme thread form Acme threads have somewhat lower friction and wear than simple triangular threads but ball screws are lower yet Most manual machine tools use acme lead screws Axis One of the compu
122. Python dans ce fichier sont collect es et configur es comme des gestionnaires de fonction de rappel potentiels pour les widgets Gtk ils peuvent tre r f renc s depuis l onglet Signaux de Glade Le gestionnaire de fonction de rappel est appel avec l instance de l objet particulier comme param tre comme l instance du GtkButton pr c dente ainsi il est possible d appliquer n importe quelle m thode GtkButton depuis ici Ou faire des choses plus utiles par exemple appeler une commande MDI 11 7 3 L v nement valeur de HAL modifi e Les widgets d entr e HAL comme la Led ont l tat de leur pin de HAL on off automatiquement associ avec l apparence optique du widget Led allum e teinte Au del de cette fonctionnalit primitive on peut associer n importe quelle pin de HAL avec une fonction de rappel y compris les widgets de HAL pr d finis Cela correspond bien avec la structure v nementielle de l application typique du widget chaque activit qu elle soit un simple clic de souris une touche press e une horloge expir e ou le changement de valeur d une pin de HAL g n rera une fonction de rappel et sera g r e par le m me m canisme Pour les pins de HAL d finies par l utilisateur non associ es un widget de HAL particulier le nom du signal est value changed Voir la section Ajouter des pins de HAL pour plus de d tails Les widgets HAL sont fournis avec un signal pr d fini a
123. S HEAD on cl estop EE File Machine View Help E Stop Demo CAE gt Manual Control F3 MDI F5 Axis E C SE Override Limits l E Stop Reset Feed Override 100 ne Jog Speed 9 6 in min f 1 AXIS splash g code Not intended for actual milling 1 1 SH 2 01 CUT 3 0003 SCALE 4 60 FEED G20 Character E GOO Z 1 ESTOP No tool Position Relative Actual FIGURE 18 21 AXIS E Stop Note that in this example like in real life you must clear the remote E Stop simulated by the checkbox before the AXIS E Stop or the external Reset will put you in OFF mode If the E Stop in the AXIS screen was pressed you must press it again to clear it You cannot reset from the external after you do an E Stop in AXIS 18 11 4 Timer Operate Example In this example we are using the Operate block to assign a value to the timer preset based on if an input is on or off Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 163 193 Section Display O Display symbols 4010 OPERATE OPERATE FIGURE 18 22 Timer Operate Example In this case I0 is true so the timer preset value is 10 If I0 was false the timer preset would be 5 18 11 5 Tool Turret This Example is not complete yet This is a program for one type of tool turret The turret has a home switch at tool position 1 a
124. TAMES coca e Ee PHS de e e 12 O a NA 13 mien AI NES ERA RUE ROR oe SR aS Se oS 13 344 Sections et variables utihsatewr lt 3 6 404 6484S a De eR Ee EES 13 i Details des sections du feDier ini Sc aoe eee Bee ea it Ba al ee Wee Se ee ae ol ee 14 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 iii So Sechan EMC sao pe sm DUR RR a e eR A A A ds He e 14 202 meet DISPLAY zeres 6642 b eee A Oe eat A be ead ee wa a 14 333 secon FILTER 64 664 44 lt b 4 405 bbe LE she bas ee EASE d 16 Soon secu RS INGE Le ete be eRe e AA ee ea ee AS AAA 17 aoc ECU M MOIRE ee eo ER Pk SSS ee ee e or 17 oo el SR x ae oe AR oe eR Re Eas ALAS ow ae Eat E 18 oe SCHON HAL coco hk eae Si ee Ue e a RAS te o ae A os Bl Se a a de 18 do meen IAI 24 248 a ae ae Ae GOR a Be aor we me e 18 200 seca TRAY e oo ee A ee NN 18 So SECAGAS AXISA gt o Lis ae ida A a ee eG bee oo eS 19 33 11 Sechon HOMING 4 448445 rra be4 sat SR va Mages oe a ees 21 3 5 12 Variables relatives aux SECVOMOTSUES o o he ee ee eae 21 3 5 13 Variables relatives aux moteurs pas a pas Le ee ee eee ee 23 gt A econ EMCO o cok ba eee EP bee SEES EAE Sb eee eas 3 23 4 Prise d origine 24 At La pres Ongi onerosa d s Gus ne AAA ss 24 42 S quencesde prise Torigine c due ou Ae A a ee ee hea die 24 AR COMMENT Lu de eue ee A A dm he a but e sta 26 4 3 1 Vitesse de recherche HOME _SEARCH_VEL
125. TML designed for human modi fication Opaque formats include PostScript PDF proprietary formats that can be read and edited only by proprietary word processors SGML or XML for which the DTD and or processing tools are not generally available and the machine generated HTML produced by some word processors for output purposes only The Title Page means for a printed book the title page itself plus such following pages as are needed to hold legibly the material this License requires to appear in the title page For works in formats which do not have any title page as such Title Page means the text near the most prominent appearance of the work s title preceding the beginning of the body of the text 2 VERBATIM COPYING You may copy and distribute the Document in any medium either commercially or noncommercially provided that this License the copyright notices and the license notice saying this License applies to the Document are reproduced in all copies and that you add no other conditions whatsoever to those of this License You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute However you may accept compensation in exchange for copies If you distribute a large enough number of copies you must also follow the conditions in section 3 You may also lend copies under the same conditions stated above and you may publicly display copies 3 COPYING IN QUANTITY
126. abe hal E General packing Cammen Signal b EMC Actions Hem hal_H scalel 00 lt lt d Digit 1 fc co i 0 etre Value es j 5 amp amp value Position Top o sea a Cris i Ea o nul _ 4319 a gt d Glade a tendance a crire beaucoup de messages dans la fen tre du terminal la plupart peuvent tre ignor s S lectionner Fichier Enregistrer sous donner lui un nom comme myui ui et bien v rifier qu il sera enregistr comme un fichier GtkBuilder bouton radio en bas gauche du dialogue d enregistrement Glade VCP peut aussi traiter correctement l ancien format libglade mais il n y a aucune raison de l utiliser Par convention extension des fichier GtkBuilder est ui 11 3 3 Tester un panneau Vous tes maintenant pr t a faire un essai avec LinuxCNC par exemple Axis en marche faites gladevcp myui ui GladeVCP cr e le composant de HAL portant le nom qui a t donn au fichier par exemple le tr s original myui ui dans notre cas moins qu il n ait t surcharg pat l option c lt nom du composant gt Si Axis est en marche essayer de trouver le composant dans Afficher configuration de HAL et inspecter ses pins Vous vous demandez peut tre pourquoi les widgets conteneurs comme HAL_Hbox ou HAL_ Table apparaissent gris s inactifs Les conteneurs HAL ont une pin de HAL associ e qui est d sactiv e par d faut c est ce qui cause ce rendu gris des widgets cont
127. able lt gt motion spindle index enabl net spindle phase a encoder 0 phase A net spindle phase b encoder 0 phase B net spindle index encoder 0 phase Z net spindle phase a lt parport 0 pin 10 in net spindle index lt parport 0 pin 11 in 20 7 Vitesse broche atteinte Si le moteur de broche poss de un retour d information de vitesse provenant d un codeur il est alors possible d utiliser la variable motion spindle at speed pour permettre LinuxCNC d attendre que la broche ait atteint sa vitesse de consigne avant d effectuer tout mouvement Cette variable passe TRUE quand la vitesse command e est atteinte Comme le retour vitesse est la vitesse de consigne ne sont jamais exactement identiques il faut utiliser le composant near qui indique quand les deux composantes sont suffisamment proches l une de l autre Il est n cessaire de connecter la commande de vitesse broche sur near n in1 et le signal de retour vitesse du codeur sur near n in2 La sortie near n out est connect e motion spindle at speed Le param tre near n scale doit tre ajust pour indiquer dans quelle mesure les deux valeurs sont suffisamment proches pour passer activer la sortie Selon le mat riel utilis il pourra tre utile d ajuster chelle Les l ments suivants sont a ajouter au fichier HAL pour activer Spindle At Speed Si near est d ja pr sent dans le fichier HAL augmenter le num ro de composant et adapter le code suivant
128. add a passage of up to five words as a Front Cover Text and a passage of up to 25 words as a Back Cover Text to the end of the list of Cover Texts in the Modified Version Only one passage of Front Cover Text and one of Back Cover Text may be added by or through arrangements made by any one entity If the Document already includes a cover text for the same cover previously added by you or by arrangement made by the same entity you are acting on behalf of you may not add another but you may replace the old one on explicit permission from the previous publisher that added the old one The author s and publisher s of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version 5 COMBINING DOCUMENTS You may combine the Document with other documents released under this License under the terms defined in section 4 above for modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified and list them all as Invariant Sections of your combined work in its license notice The combined work need only contain one copy of this License and multiple identical Invariant Sections may be replaced with a single copy If there are multiple Invariant Sections with the same name but different contents make the title of each such section unique by adding at the end of it in parentheses the name of th
129. age to gcod Il est galement possible de sp cifier un interpr teur PROGRAM_EXTENSION py Python Script py python De cette fa on n importe quel script Python pourra tre ouvert et ses sorties seront trait es comme du g code Un exemple de script de ce genre est disponible nc_files holecircle py Ce script cr e le G code pour percer une s rie de trous s quents la p riph rie d un cercle De nombreux g n rateurs de G code sont par ailleurs disponibles sur le wiki la page des g n rateurs de G code Si la variable d environnement AXIS_PROGRESS_BAR est activ e alors les lignes crites sur stderr de la forme FILTER_PROGRESS d activeront la barre de progression d AXIS qui donnera le pourcentage Cette fonctionnalit devrait tre utilis e par tous les filtres susceptibles de fonctionner pendant un long moment Les filtres Python doivent utiliser la fonction print pour sortir le r sultat dans Axis Cet exemple de programme filtre un fichier et ajoute un axe W correspondant l axe Z Il marchera selon la pr sence d un espace entre chaque mot d axe usr bin env python import sys def main argv openfile open argv 0 r file in openfile readlines openfile close file_out ojo ibas ali a le ate print line di line finch z l Le words line rstrip n words words split newword Manuel de l int grateur V
130. ain or subroutine Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 145 193 Select a subroutine number SRO for example An empty section will be displayed and you can build your subroutine When you ve done that go back to the section manager and click on the your main section default name prog1 Now you can add a CALL COIL to your program CALL COILs are to be placed at the rightmost position in the rung Remember to change the label to the subroutine number you chose before 18 7 Classic Ladder Variables These Variables are used in COMPARE or OPERATE to get information about or change specs of ladder objects such as changing a counter preset or seeing if a timer is done running List of variables Bxxx Bit memory xxx Boolean Wxxx Word memory xxx 32 bits signed integer ZIWxxx Word memory xxx S32 in pin QWxxx Word memory xxx S32 out pin IF xx Word memory xx Float in pin converted to S32 in Classic Ladder QFxx Word memory xx Float out pin converted to S32 in Classic Ladder Txx R Timer xx running Boolean user read only Txx D Timer xx done Boolean user read only Txx V Timer xx current value integer user read only Txx P Timer xx preset integer TMxxx Q Timer xxx done Boolean read write TMxxx P Timer xxx preset integer read write TMxxx V Timer xxx value integer read write Mxx R Monostable xx running Boolean Mxx V Monosta
131. ardware Abstraction Layer il est facile de sp cifier que tel signal ira sur telle broche Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 41 193 Voir le tutoriel de HAL pour plus d informations Comme d crit dans l introduction et la manuel de HAL il comporte des composants dont il fourni les signaux les pins et les param tres Les premiers signaux et pins relatifs au brochage sont signaux Xstep Xdir et Xen pins parport 0 pin XX out parport 0 pin XX in Pour configurer le fichier ini il est possible de choisir entre les deux brochages les plus fr quents devenus des standards de fait le brochage standard_pinout hal ou le brochage xylotex_pinout hal Ces deux fichiers indiquent HAL comment raccorder les diff rents signaux aux diff rentes pins Dans la suite nous nous concentrerons sur le brochage standard_pinout hal 8 4 Le fichier standard_pinout hal Ce fichier contient certaines commandes de HAL et habituellement ressemble cel standard pinout config file for 3 axis steppers using a parport for 1 0 first load the parport driver loadrt hal_parport cfg 0x0378 next connect the parport functions to threads read inputs first addf parport 0 read base thread 1 write outputs last addf parport 0 write base thread 1 finally connect physical pins to the signals net Xstep gt parport 0 pin 03 out net Xdir gt parport 0 pin 02 out net Ystep gt parport 0 pin 05 out n
132. assumes that the LinuxCNC software has been configured to control spindle speed Stepconf An LinuxCNC configuration wizard It is able to handle many step and direction motion command based machines It writes a full configuration after the user answers a few questions about the computer and machine that LinuxCNC is to run on Stepper Motor A type of motor that turns in fixed steps By counting steps it is possible to determine how far the motor has turned If the load exceeds the torque capability of the motor it will skip one or more steps causing position errors TASK The module within LinuxCNC that coordinates the overall execution and interprets the part program Tcl Tk A scripting language and graphical widget toolkit with which several of LinuxCNCs GUIs and selection wizards were written Traverse Move A move in a straight line from the start point to the end point Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 186 193 Units See Machine Units Display Units or Program Units Unsigned Integer A whole number that has no sign In HAL it is known as u32 An unsigned 32 bit integer has a usable range of zero to 4 294 967 296 World Coordinates This is the absolute frame of reference It gives coordinates in terms of a fixed reference frame that is attached to some point generally the base of the machine tool Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 187 193 Chapitre 2
133. atenel 5 2 402 Lau LE mue dam Shee ee Ma Pe wee eee hE a x 181 246 2 R sohiti n UMOn s coe L a Be be a Le be dant dt ob bd eS 181 25 Glossary 182 26 Legal Section 187 201 COPE IMAS 22 4 He use E A A A de a 187 26 2 GNU Free Documentation License 187 27 Index 191 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 xii The LinuxCNC Team Ce manuel est en volution permanente Si vous voulez nous aider a son criture sa r daction sa traduction ou la pr paration des graphiques merci de contactez n importe quel membre de l quipe de traduction ou envoyez un courrier lectronique emc users lists sourceforge net Copyright 2000 2012 LinuxCNC org Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 3 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License If you do not find the license you may order a copy from Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 LINUX is the registered trademark of Linus Torvalds in the U S and other countries The registered trademark Linux is used pursuant to a sublicense from LMI the exclusive licensee of Linus Torvalds owner of the
134. augment e ou diminu e de la valeur de resolution chaque pression sur une fl che ou en positionnant la souris sur le nombre puis en tournant la molette de la souris lt spinbox gt lt halpin gt my spinbox lt halpin gt lt min_ gt 12 lt min_ gt lt max_ gt 33 lt max_ gt lt inival gt 0 lt inival gt lt resolution gt 0 1 lt resolution gt lt format gt 2 3f lt format gt ont Wiesel 30 lt tome gt lt spinbox gt Le code ci dessus donne ce r sultat 9 6 17 Curseur scale Le curseur contr le une pin FLOAT La valeur de la pin est augment e ou diminu e en d pla ant le curseur ou en positionnant la souris sur le curseur puis en tournant la molette de la souris lt scale gt lt font gt Helvetica 16 lt font gt Saleen Vue arche Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 59 193 lt halpin gt my hscale lt halpin gt lt resolution gt 0 1 lt resolution gt lt orient gt HORIZONTAL lt orient gt lt initval gt 15 lt initval gt lt min_ gt 33 lt min_ gt lt max_ gt 26 lt max_ gt lt scale gt lt scale gt lt font gt Helvetica 16 lt font gt lt width gt 50 lt width gt lt halpin gt my vscale lt halpin gt lt resolution gt 1 lt resolution gt lt orient gt VERTICAL lt orient gt lt min_ gt 100 lt min_ gt lt max_ gt 0 lt max_ gt lt scale gt Le code ci dessus donne ce r sultat Noter que par d faut c est min qui est a
135. bit in Si ce bit devient FALSE les mouvements s arr tent la machine est plac e dans l tat machine arr t e et un message est affich pour l op rateur En fonctionnement normal ce bit devra tre mis TRUE motion feed hold bit in Quand la vitesse est plac e en mode arr t contr l avec M53 P1 et que ce bit est TRUE la vitesse est fix e 0 motion motion inposition bit out TRUE si la machine est en position motion motion enabled bit out TRUE quand l tat de la machine est machine on motion on soft limit bit out TRUE quand la machine est sur une limite logicielle motion probe input bit in G38 x utilise la valeur de cette pin pour d terminer quand la sonde de mesure a touch TRUE le contact de la sonde est ferm touche FALSE le contact de la sonde est ouvert motion program line s32 out La ligne en cours d ex cution pendant le d roulement du programme Z ro si pas en marche ou entre deux lignes pendant le changement de pas de programme motion requested vel float out La vitesse courante requise en unit s utilisateur par seconde selon le r glage F n du fichier G code Les correcteurs de vitesse et autres ajustements ne s appliquent pas cette pin motion spindle at speed bit in Les mouvements passent en pause tant que cette pin est TRUE sous les conditions suivantes avant le premier mouvement d avance suivant chaque d marrag
136. ble d en ajouter jusqu 64 en utilisant l option num_dio au chargement de motmod Si le nombre d entr es sorties analogiques demand es est sup rieur la valeur par d faut de 4 il est possible d en ajouter jusqu 16 en utilisant l option num_aio au chargement de motmod 7 1 2 Pins motion adaptive feed float in Quand la vitesse est plac e en mode adaptatif avec M52 P1 la vitesse command e est multi pli e par cette valeur Cet effet est multiplicatif avec motion feed hold et la valeur du correcteur de vitesse du niveau NML motion analog in 00 float in Ces pins 00 01 02 03 ou plus si configur es sont contr l es par M66 motion analog out 00 float out Ces pins 00 01 02 03 ou plus si configur es sont contr l es par M67 ou M68 motion coord error bit out TRUE quand le mouvement est en erreur ex d passer une limite logicielle motion coord mode bit out TRUE quand le mouvement est en mode coordonn es par opposistion au mode t l op ration motion current vel float out La vitesse courante de l outil motion digital in 00 bit in Ces pins 00 01 02 03 ou plus si configur es sont contr l es par M62 M65 motion digital out 00 bit out Ces pins 00 01 02 03 ou plus si configur es sont control es par M62 M65 motion distance to go float out Distance restante pour terminer le mouvement courant motion enable
137. ble xx current value integer user read only Mxx P Monostable xx preset integer Cxx D Counter xx done Boolean user read only Cxx E Counter xx empty overflow Boolean user read only Cxx F Counter xx full overflow Boolean user read only Cxx V Counter xx current value integer Cxx P Counter xx preset integer Ixxx Physical input xxx Boolean HAL input bit Qxxx Physical output xxx Boolean HAL output bit Xxxx Activity of step xxx sequential language Xxxx V Time of activity in seconds of step xxx sequential language Exx Errors Boolean read write will be overwritten Indexed or vectored variables These are variables indexed by another variable Some might call this vectored variables Example W0 WA4 gt if W4 equals 23 it corresponds to W23 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 146 193 18 8 GRAFCET Programming AVERTISSEMENT O This is probably the least used and most poorly understood feature of Classic Ladder Sequential programming is used to make sure a series of ladder events always happen in a prescribed order Sequential programs do not work alone There is always a ladder program as well that controls the variables Here are the basic rules governing sequential programs Rule 1 Initial situation The initial situation is characterized by the initial steps which are by definition in the active state at the beginning of the ope
138. btenez ne correspond pas ce que vous esp riez la plupart du temps c est juste un petit manque d exp rience Accro tre son exp rience permet souvent une meilleure compr hension globale Porter un diagnostic sur plusieurs probl mes est toujours plus facile en les prenant s par ment de m me qu une quation dont on a r duit le nombre de variables est toujours plus rapide r soudre Dans le monde r el ce n est pas toujours le cas mais c est une bonne voie suivre 23 1 Probl mes communs 23 1 1 Le moteur n avance que d un pas La raison la plus fr quente dans une nouvelle installation pour que le moteur ne bouge pas est l interversion entre le signal de pas et le signal de direction Si quand vous pressez le bouton de jog dans un sens puis dans l autre le moteur n avance que d un pas chaque fois et toujours dans la m me direction vous tes dans ce cas 23 1 2 Le moteur ne bouge pas Certaine interfaces de pilotage de moteurs ont une broche d activation enable ou demandent un signal de pompe de charge pour activer leurs sorties 23 1 3 Distance incorrecte Si vous commandez une distance de d placement pr cise sur un axe et que le d placement r el ne correspond pas alors l chelle de l axe n est pas bonne 23 2 Messages d erreur 23 2 1 Erreur de suivi Le concept d erreur de suivi est trange quand il s agit de moteurs pas pas Etant un syst me en boucle ouverte aucune contre
139. calcul e de trois fa ons P l erreur de mesure courante est soustraite directement effet proportionnel D l erreur est int gr e pendant un laps de temps effet int gral D l erreur est d riv e pendant un laps de temps effet d riv Une r gulation PID peut tre utilis e dans n importe quel proc d pour contr ler une variable mesurable en manipulant d autres variables de ce proc d Par exemple elle peut tre utilis e pour contr ler temp rature pression d bit composition chimique vitesse et autres variables Dans certains syst mes de r gulation les r gulateurs sont plac s en s rie ou en parall le Dans ces cas le r gulateur ma tre produit les signaux utilis s par les r gulateurs esclaves Une situation courante dans le contr le des moteurs la r gulation de vitesse qui peut demander que la vitesse du moteur soit contr l e par un r gulateur esclave souvent int gr dans le variateur de fr quence du moteur recevant en entr e une valeur proportionnelle la vitesse Cette entr e de l esclave est alors fournie par la sortie du r gulateur ma tre lequel re oit la variable de consigne Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 125 193 16 1 2 Th orie Le PID repr sente les abr viations des trois actions qu il utilise pour effectuer ses corrections ce sont des ajouts d un signal un autre Tous agissent sur la quantit r gul e Les actions aboutissen
140. chier standard_pinout hal modifier le fichier standard_pinout hal il suffit de l ouvrir dans un diteur de texte puis d y localiser les parties modifier Si vous voulez par exemple modifier les broches de pas et de direction de l axe X il vous suffit de modifier le num ro de la variable nomm e parport 0 pin XX out net net Xstep parport 0 pin 03 out Kobe partooet 0 oilm 02 06 2 Le thread le plus rapide parmis les r glages de LinuxCNC habituellement il n y a que quelques microsecondes entre les ex cutions de ce code Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 43 193 peut tre modifi e pour devenir net Xstep parport 0 pin 02 out mer lija Rarport 0 ou 0 501 ou de mani re g n rale n importe quel num ro que vous souhaiteriez Attention il faut tre certain de n avoir qu un seul signal connect une broche 8 7 Modifier la polarit d un signal Si une interface attends un signal actif bas ajouter une ligne avec le param tre d inversion de la sortie invert Par exemple pour inverser le signal de rotation de la broche EN setp parport 0 pin 09 invert TRU 8 8 Ajouter le contr le de vitesse broche en PWM Si votre vitesse de broche peut tre contr l e par un signal de PWM utilisez le composant pwmgen pour cr er ce signal loadrt pwmgen output_type 0 addf pwmgen update servo thread addf pwmgen make pulses base thread net spindle spee
141. confuses the import mechanism if you re using run in place do a make clean to remove any accidentally left over hal so file then make if you re using HAL_table or HAL_HBox widgets be aware they have an HAL pin associated with it which is off by default This pin controls whether these container s children are active or not 11 10 Notes d impl mentation la gestion des touches dans Axis Nous pensons que la gestion des touches fonctionne bien mais comme c est un nouveau code nous devons vous informer ce propos pour que vous puissiez surveiller ces probl mes S il vous plait faites nous savoir si vous connaissez des erreurs ou des choses bizarres Voici l histoire Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 104 193 Axis utilise le jeu de widget de TkInter L application Glade VCP utilise les widgets Gtk et d marre dans un contexte de processus diff rent Ils sont attach s dans Axis avec le protocole Xembed Ce qui permet une application enfant comme GladeVCP de bien tenir proprement dans la fen tre d un parent et en th orie d tre int gr e au gestionnaire d v nements Toutefois cela suppose que parent et enfant supportent tous les deux proprement le protocole Xembed c est le cas avec Gtk pas avec Tkinter Une cons quence de cela c est que certaines touches ne sont pas transmises correctement dans toutes les circonstances depuis un panneau GladeVCP vers Axis Une d
142. cture de compensation sp cifique cet axe Le fichier peut tre nomm xscrew comp par exemple pour l axe X Les noms de fichiers sont sensibles la casse et peuvent contenir des lettres et ou des chiffres Les valeurs sont des triplets par ligne s par s par un espace La premi re valeur est nominale o elle devrait l tre Les deuxi me et troisi me valeurs d pendront du r glage de COMP_FILE_ TYPE Actuellement la limite de LinuxCNC est de 256 triplets par axe Si COMP_FILE est sp cifi BACKLASH est ignor Les valeurs sont en unit s machine COMP_FILE_ TYPE 0 ou 1 Si 0 Les deuxi me et troisi me valeurs sp cifient la position en avant de combien l axe est en avance et la position en arri re de combien l axe est en retard positions qui correspondent la position nominale Si 1 Les deuxi me et troisi me valeurs sp cifient l ajustement avant quelle distance de la valeur nominale lors d un d placement vers l avant et l ajustement arri re quelle distance de la valeur nominale lors d un d placement vers l arri re positions qui correspondent la position nominale Exemple de triplet avec COMP_FILE_ TYPE 0 1 00 1 01 0 99 Exemple de triplet avec COMP_FILE_ TYPE 1 1 00 0 01 0 01 MIN_LIMIT 1000 Limite minimale des mouvements de cet axe limite logicielle en unit s machine Quand cette limite tend tre d pass e le contr leur arr te le mouvement
143. d crire les noms d axe par paire ex X Y Y Z pour une machine portique mais cela n a aucun effet Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 19 193 AXES 3 Une unit de plus que le plus grand num ro d articulation du syst me Pour une machine XYZ les articulations sont num rot es 0 1 et 2 Dans ce cas les AXES sont 3 Pour un syst me XYUV utilisant une cin matique triviale l articulation V est num rot e 7 et donc les AXES devraient tre 8 Pour une machine cin matique non triviale ex scarakins ce sera g n ralement le nombre d articulations contr l es JOINTS 3 Cette variable de configuration est utilis e seulement par Axis et non par le planificateur de trajectoire du contr leur de mouvement Elle sp cifie le nombre d articulations moteurs que comporte le syst me Par exemple une machine XYZ avec un seul moteur pour chacun des 3 axes comporte 3 articulations joints Une machine portique avec un seul moteur sur deux de ses axes et deux moteurs sur le troisi me axe comporte 4 articulations joints HOME 0 0 0 Coordonn es de l origine machine de chaque axe De nouveau pour une machine 4 axes vous devrez avoir 0 0 0 0 Cette valeur est utilis e uniquement pour les machines cin matique non triviale Sur les machines avec cin matique triviale cette valeur est ignor e LINEAR_UNITS lt units gt Le nom des unit s utilis es dans le fichier INI Les cho
144. d indication soit modifier la valeur d un signal avec un widget de contr le Ainsi il existe quatre classes de widgets gladvcp qui peuvent tre connect s un signal de HAL Une autre classe de widgets d aide permettent d organiser et d tiqueter les panneaux Widgets d indications bit signals Led HAL Widgets de contr le bit signals HAL Bouton HAL Bouton radio HAL Case cocher Widgets d indications nombre signals Section 11 5 7 HAL Barre de progression HAL HBar HAL VBar HAL Indicateur Widgets de contr le nombre signals bo te d incr ment HAL HScale HAL VScale widgets d aide HAL Table HAL HBox Trac du parcours d outil HAL Gremlin Les widgets HAL h ritent des m thodes propri t s et signaux des widgets Gtk sous jacents il est donc utile de consulter le site du GTK ainsi que la documentation pour les liaisons avec PyGTK 11 5 1 Nommage des Widgets HAL et de leurs pins La plupart des widgets HAL on une simple pin de HAL associ e et portant le m me nom que le widget glade G n ral Nom Les exceptions cette r gle sont actuellement HAL_Spinbutton et HAL_ComboBox qui ont deux pins une pin lt nomwidget gt f float et une pin lt nomwidget gt s s32 HAL_ProgressBar qui a une pin d entr e lt nomwidget gt value et une pin d entr e lt nomwidget gt scale 11 5 2 Donner des valeurs aux Widgets HAL et leurs pins En r gle g n rale s
145. d Version of the Document provided no compilation copyright is claimed for the compilation Such a compilation is called an aggregate and this License does not apply to the other self contained works thus compiled with the Document on account of their being thus compiled if they are not themselves derivative works of the Document If the Cover Text requirement of section 3 is applicable to these copies of the Document then if the Document is less than one quarter of the entire aggregate the Document s Cover Texts may be placed on covers that surround only the Document within the aggregate Otherwise they must appear on covers around the whole aggregate 8 TRANSLATION Translation is considered a kind of modification so you may distribute translations of the Document under the terms of section 4 Replacing Invariant Sections with translations requires special permission from their copyright holders but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections You may include a translation of this License provided that you also include the original English version of this License In case of a disagreement between the translation and the original English version of this License the original English version will prevail 9 TERMINATION You may not copy modify sublicense or distribute the Document except as expressly provided for under this License Any other attempt to c
146. d cmd motion spindle speed out gt pwmgen 0 value net spindle on motion spindle on gt pwmgen 0 enabl net spindle pwm pwmgen 0 pwm gt parport 0 pin 09 out setp pwmgen 0 scale 1800 Change to your spindle s top speed in RPM Ce qui donnera le fonctionnement suivant pour un signal PWM 0 donnera une vitesse de Otr mn 10 une vitesse de 180tr mn etc Si un signal PWM sup rieur 0 est requis pour que la broche commence tourner suivez l exemple du fichier de configuration nist lathe qui utilise un composant d chelle scale 8 9 Ajouter un signal de validation enable Certains pilotes de moteurs requiert un signal de validation enable avant d autoriser tout mouvement du moteur Pour cel des signaux sont d j d finis et appel s Xen Yen Zen Pour les connecter vous pouvez utilisez l exemple suivant net Xen parport 0 pin 08 out Il est possible d avoir une seule pin de validation pour l ensemble des pilotes ou plusieurs selon la configuration que vous voulez Notez toutefois qu habituellement quand un axe est en d faut tous les autres sont invalid s aussi de sorte que n avoir qu un seul signal pin de validation pour l ensemble est parfaitement s curis 8 10 Ajouter un bouton d Arr t d Urgence externe Comme vous pouvez le voir ici par d faut la configuration standard n utilise pas de bouton d Arr t d Urgence externe foot note Une explication compl te sur la mani re de
147. de mani re impromptue Des petites erreurs de suivi seront toujours pr sentes cause des vibrations etc La polarit des valeurs de suivi d termine comment les entr es sont interpr t es et comment les r sultats sont appliqu s aux sorties Elles peuvent g n ralement tre r gl es par t tonnement car il n y a que deux possibilit s L utilitaire de calibration peut tre utilis pour les ajuster interactivement et v rifier les r sultats de sorte que les valeurs puissent tre mises dans le fichier INI avec un minimum de difficult s Cet utilitaire est accessible dans Axis depuis le menu Machine puis Calibration et dans TkLinuxCNC depuis le menu R glages puis Calibration Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 21 193 3 5 11 Section HOMING Les param tres suivants sont relatifs aux prises d origine pour plus d informations lire le chapitre sur la POM HOME 0 0 La position laquelle le mobile ira la fin de la s quence de prise d origine HOME_OFFSET 0 0 Position du contact d origine machine de I axe ou de l impulsion d index en unit s machine Lorsque le point d origine est d tect pendant le processus de prise d origine c est cette position qui est assign e ce point Dans le cas du partage de capteur entre l origine et les limites d axe et de l utilisation d une s quence de prise d origine qui laisse le capteur dans l tat activ la vale
148. dgets LinuxCNC bascule action ToggleAction 94 11 6 3 La bascule Action MDI et les widgets Action MDI 94 11 6 4 Un exemple simple Ex cuter une commande MDI lors de l appui sur un bouton 94 11 6 5 Param tres pass s avec les widgets Action MDI et ToggleAction MDI 95 11 6 6 Un exemple plus avanc Passer des param tres un sous programme O word 95 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 vii 16 7 Pr paration dune Action MDI 2 24 eR a eR 4e nt 96 11 6 8 Utiliser l objet LinuxCNC Stat pour traiter les changements de statut 96 11 7 Proprammation de Glade VCP cocos a RRS Deke Re b pass 97 11 71 Actions d finiespar V utlisateur ooo amp em dat de AA A 97 11 72 Unexemple ajouter une fonction de rappel en Python 44 eus e 4e is ses sea et 97 11 73 L v nement valent de HAL modifi e o es o es ee erte tere dud a Mere se 98 ELA Modelede programmation 2 5 4 65 2008 p EA E Ae 98 11 741 Mod le du gestionnaire simple osos arsos Ne es date neue se 98 11 7 4 2 Mod le de gestionnaire bas sur les classes 99 11 143 Le protocole set handler ooo 55346254558 4h eben ee es 99 11753 Sequence dimilalisaion lt lt es dues ee dan de Aa ea db d dr E 99 11 7 6 Multiple fonctions de rappel avec le m menom 100 11 7 7 Le
149. dius on the corner of the sinking electrode LinuxCNC The Enhanced Machine Controller Initially a NIST project LinuxCNC is able to run a wide range of motion devices LinuxCNCIO The module within LinuxCNC that handles general purpose I O unrelated to the actual motion of the axes LinuxCNCMOT The module within LinuxCNC that handles the actual motion of the cutting tool It runs as a real time program and directly controls the motors Encoder A device to measure position Usually a mechanical optical device which outputs a quadrature signal The signal can be counted by special hardware or directly by the parport with LinuxCNC Feed Relatively slow controlled motion of the tool used when making a cut Feed rate The speed at which a cutting motion occurs In auto or mdi mode feed rate is commanded using an F word F10 would mean ten machine units per minute Feedback A method e g quadrature encoder signals by which LinuxCNC receives information about the position of motors Feedrate Override A manual operator controlled change in the rate at which the tool moves while cutting Often used to allow the operator to adjust for tools that are a little dull or anything else that requires the feed rate to be tweaked Floating Point Number A number that has a decimal point 12 300 In HAL it is known as float G Code The generic term used to refer to the most common part programming language There are several dialects of G code LinuxCNC
150. document under the terms of the GNU Free Documentation License Version 1 1 or any later version published by the Free Software Foundation with the Invariant Sections being LIST THEIR TITLES with the Front Cover Texts being LIST and with the Back Cover Texts being LIST A copy of the license is included in the section entitled GNU Free Documentation License If you have no Invariant Sections write with no Invariant Sections instead of saying which ones are invariant If you have no Front Cover Texts write no Front Cover Texts instead of Front Cover Texts being LIST likewise for Back Cover Texts If your document contains nontrivial examples of program code we recommend releasing these examples in parallel under your choice of free software license such as the GNU General Public License to permit their use in free software Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 191 193 Chapitre 27 Index linuxencte Li Editer un fichier en root 179 A A U 43 acme screw 182 ANGULAR UNITS 19 axis 14 182 axis hal pins 37 B backlash 182 backlash compensation 182 ball nut 182 ball screw 182 BASE PERIOD 18 brochage 40 Broche avec variateur GS2 173 C ed 179 Changer de repertoire 179 Cin matique 117 cinematique 117 Cinematique triviale 117 Classicladder Examples 157 Classicladder Introduction 128 Classicladder Programming 130 CNC 182 codeur 23
151. donn e Ces gestionnaires sont optionnels et fournissent une voie pour sauver tous les tats avant d ex cuter l action MDI et pour les restaurer ensuite aux valeurs pr c dentes Les noms de signaux sont mdi command start et mdi command stop les noms de gestionnaire peuvent tre fix s dans Glade comme tout autre gestionnaire Voici un exemple montrant comment la valeur de la vitesse d avance est sauv e puis restaur e par de tels gestionnaires noter que la commande LinuxCNC et le statut des voies sont disponibles comme self emc et self stat travers la classe LinuxCNC_ActionBase def on_mdi_command_start self action userdata None action stat poll self start_feed action stat settings 1 def on_mdi_command_stop self action userdata None action emc mdi F 1f self start_feed while action emc wait_complete 1 pass Seule le widget de la bascule Action_MDI supporte ces signaux Note Dans une prochaine version de LinuxCNC les nouveaux M codes M70 M72 seront disponibles ils enregistreront l tat avant l appel du sous programme la restauration de l tat au retour sera plus ais e 11 6 8 Utiliser l objet LinuxCNC Stat pour traiter les changements de statut Beaucoup d actions d pendent du statut de LinuxCNC est il en mode manuel en mode MDI ou en mode auto Un programme est il en cours d ex cution est il en pause ou au repos Il est impossible de lancer une commande MDI
152. du signal de direction et de 5 16 21 us Nous n avons plus nous inqui ter d une erreur de direction cause de la latence Pour plus d informations sur stepgen voir la section stepgen du manuel de HAL 1 Cette section fait r f rence l utilisation de stepgen le g n rateur de pas int gr LinuxCNC Certains dispositifs mat riels ont leur propre g n rateur de pas et n utilisent pas celui incorpor LinuxCNC Dans ce cas se r f rer au manuel du mat riel concern 2 Steplen se r f re un param tre qui ajuste la performance du g n rateur de pas incorpor LinuxCNC stepgen qui est un composant de HAL Ce param tre ajuste la longueur de l impulsion de pas Continuez lire on expliquera tous finalement 3 dirhold se r f re un param tre qui adapte la longueur du maintien du signal de commande de direction Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 2 193 1 1 2 Timing des pas Sur certain pilote moteur le rapport entre la dur e des espaces et la dur e des impulsions n est pas gal dans ce cas le point le moment du pas est important Si le pas se d clenche sur le front descendant alors la broche de sortie doit tre invers e 1 2 Systemes a servomoteurs 1 2 1 Op ration de base Les syst mes servomoteurs sont capables de vitesses plus lev es pour une pr cision quivalente au moteur pas pas mais ils sont plus co teux et complexes Contrairement au
153. e net axis pos axis axno motor pos cmd gt axis axno motor pos fb dot Sxolele sal a net S axis vel lt ddt ddt out nor loe net S axis vel gt ddt ddt in net Sfaxislacc lt ddt sddt out alicia yekehe puts show sig xvel puts show sig xacc 6 7 Interactivit de haltcl La commande halrun reconnait les fichiers halctl Avec 1 option T haltcl peut tre ex cut interactivement comme un interpr teur Tcl Cette fonctionnalit est utile pour les tests et pour les applications hal autonomes exemple g alra 1 Fic ica el cel Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 33 193 6 8 Exemples pour haltcl fournis avec la distribution sim Le r pertoire configs sim axis simtcl contient un fichier ini qui utilise un fichier tcl pour d montrer une configuration haltcl en conjonction avec l utilisation du processus twopass L exemple montre l utilisation des proc dures Tcl les boucles l utilisation des commentaires avec sortie sur le terminal Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 34 193 Chapitre 7 LinuxCNC et HAL Voir galement la man page motion 9 7 1 motion temps r el Ces pins et param tres sont cr s par le module temps r el motmod Ce module fourni une interface vers HAL pour le planificateur de mouvements de LinuxCNC En gros motmod prends dans une liste de points de cheminement et g n re un flux de positions
154. e MyNewLadder Y Browse for other folders lt ED jet emc2 configs eu Create Folder Places Name v Modified Search custom clp Today at 10 35 Recently Used EJ jet 2 Desktop LJ File System BS Documents EA Music B Pictures BS videos ClassicLadder projects CES FIGURE 18 17 Save As Dialog Again if you used the Stepconf Wizard to add Classic Ladder you can skip this step To manually add a ladder you need to add add a line to your custom hal file that will load your ladder file Close your LinuxCNC session and add this line to your custom hal file loadusr w classicladder nogui MyLadder clp Now if you start up your LinuxCNC config your ladder program will be running as well If you select File Ladder Editor the program you created will show up in the Section Display window 18 11 Ladder Examples 18 11 1 Wrapping Counter To have a counter that wraps around you have to use the preset pin and the reset pin When you create the counter set the preset at the number you wish to reach before wrapping around to 0 The logic is if the counter value is over the preset then reset the counter and if the underflow is on then set the counter value to the preset value As you can see in the example when the counter Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 158 193 value is greater than the counter preset the counter reset is triggered and the val
155. e 4 157 SALI YN Tappine Commer o re sosea pa ee eee a a ew ae a E 157 18 11 2 Reject Extra PURES ooo ESR EEG GRE RS ee fe Oe ee 158 A ES SD 22 66 2 OG Li eh bo eee oa SESE ee BER 2 ANN 159 13 114 Time Operate Example lt lt ose Be we we ee 4 et D OR ae Oe ee nu 162 BS Toe Teh ne So a an eG 400 HU be eG eee ad 163 18 116 Seguental Example oi bok bi ch be ew he eee ESSE A See hee SES 163 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 x IT Exemples d utilisation 165 19 Deuxi me port parall le sur port PCI 166 20 Contr le de la broche 167 20 1 Vitesse broche En IOV 2 occa keea Peewee bar e A e da AE e R 167 20 2 Viesse de DO PWM bck due A o otage A ee Pew E Re se 167 o Maehe DIONE sok a A we BR eS RAS a aoe EN Rs 167 20 4 Sens derotation dela broch lt ca se cpio aik e oe e eoa a 168 20 5 D mattase en Tampe oscila 168 20 6 Vitesse de broch avec signal de TO TOUE o e seses Las devedet a 169 20 7 Vitesse broche GHEE gt s cg ide o a RR Oe a a eu eS e 169 21 Utilisation d une manivelle 171 22 Broche avec variateur GS2 173 22 1 EXPE e e eda se Den Da bee Oe at but an D dual md Late GR DR dut 173 IV Diagnostics amp FAQ 174 23 Moteurs pas pas 175 251 Problemes COMMUNE oe As sens ue AURA D Nr dense RARE DA RSS ORE Se ee et 175 23 1 1 Le moteurn avance qUe Tumpas ee ee DER Dash eA homer de do dinde 175 2314 2 Le Moura OURS PES 20 4 4 5 Be ee de ba aug de EA 6 eRe ee Re se 175 2341 D
156. e activ axis N amp fault in bit in Doit tre mis TRUE si une erreur externe est d tect e sur l ampli de cet axe axis N backlash corr float out axis N backlash filt float out axis N backlash vel float out axis N coarse pos cmd float out axis N error bit out 1 Dans une machine cin matique triviale il y a correspondance une pour une entre les articulations et les axes Note Du Traducteur nous utilisons dans cette traduction le terme axe dans le cas d une cin matique non triviale il devra tre remplac par le terme articulation joint Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 38 193 axis N f error float out axis N f error lim float out axis N f errored bit out axis N faulted bit out axis N free pos cmd float out axis N free tp enable bit out axis N free vel lim float out axis N home sw in bit in Doit tre mis TRUE si le contact d origine de cet axe est activ axis N homed bit out axis N homing bit out TRUE si la prise d origine de cette axe est en cours axis N in position TRUE si cet axe utilisant le free planner a atteint un arr t axis N index enable bit I O Doit tre reli e la broche index enable du codeur de cet axe pour activer la prise d origine sur l impulsion d index axis N jog counts s32
157. e by ini parameter if given mulas aligialacal leo acabiovel Wine VANIUEE 13 Ta Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 116 193 if nmlfile linuxcnc nmlfile os path join os path dirname sys argv 1 nmlfile 13 8 The linuxcnc positionlogger type Some usage hints can be gleaned from src emc usr_intf gremlin gremlin py 13 8 1 members npts number of points 13 8 2 methods start float start the position logger and run every ARG seconds clear clear the position logger stop stop the position logger call Plot the backplot now last int Return the most recent point on the plot or None lang fr toc Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 117 193 Chapitre 14 La cin matique dans LinuxCNC 14 1 Introduction Habituellement quand nous parlons de machines CNC nous pensons des machines programm es pour effectuer certains mou vements et effectuer diverses t ches Pour avoir une repr sentation unifi e dans l espace de ces machines nous la faisons cor respondre la vision humaine de l espace en 3D la plupart des machines sinon toutes utilisent un syst me de coordonn es courant le syst me Cart sien Le syst me de coordonn es Cart siennes est compos de 3 axes X Y Z chacun perpendiculaire aux 2 autres Quand nous parlons d un programme G code RS274 NGC nous parlons d un certain nombre de commandes GO Gl etc
158. e coso ee a Date ur Dunes ae 84 114 Options de Glade VCP en ligne de commande s 44 4 sece ae Done due ee 84 11 53 R t rentes des Widgets HAL 42 55 lus dau nl h ges os ane blogs EEE Ye are Leu hist 85 11 5 1 Nommage des Widgets HAL et de leurs pins 85 11 5 2 Donner des valeurs aux Widgets HAL et leurs pins 85 11 5 3 Le signal hel pin changed oes cose su be dE La rd 86 11 54 Les boutons HAL Button 224 4 4244 LU a aa des Ba Re ee EE ue a e 86 1155 Lesechelles healer cc pos ee LAN seu bas bank ee aus Lana se 87 11 5 6 La bo te d incr ment SpinButton 87 ILI Le EN ee ee eR eb ete a 87 11 5 8 Les conteneurs HAL HBox et HAL Table 2 4 4 4 4 ce 4 du a de eee e 88 Diet E A A NN 88 115 10 La barre de progression ProgressBar es ooe coan ne e a de 88 11 5 11 La botte combin e ComboBox 2 6284 20464008 G44 coed ba au do ns dd ue 89 MESA A E Maer A AAA 89 11 513 E mdicateur HAL Meter 54 5 55 65 05 a ER EE EE RS REG DA ee Ee eS 90 11 5 14 Gremlin visualiseur de parcours d outil pour fichiers nge 91 11 5 15 Fonction de diagrammes anim s Widgets HAL dans un bitmap 92 11 6 References des Widgets LingxCNC Action 4 45 ue ve Bh GER RE Ow RE PERE Se ERE ERE OS 93 11 6 Les widgets linus NC Acton 2 ea eG eR ee EME RS ESS Abe ee dr 94 11 6 2 Les wi
159. e de broche ou changement de vitesse apr s le d marrage de tout enchainement de mouvements avec broche synchronis e et si en mode CSS chaque transition avance rapide gt avance travail Cette entr e peut tre utilis e pour s assurer que la broche a atteint sa vitesse avant de lancer un mouvement d usinage Elle peut galement tre utilis e sur un tour travaillant en mode CSS au passage d un grand diam tre un petit pour s assurer que la vitesse a t suffisamment r duite avant la prise de passe sur le petit diam tre et inversement lors du passage d un petit diam tre vers un grand pour s assurer que la vitesse a t suffisamment augment e Beaucoup de variateurs de fr quence disposent d une sortie vitesse atteinte Sinon il est facile de g n rer ce signal avec le composant near par comparaison entre la vitesse de broche demand e et la vitesse actuelle motion spindle brake bit out TRUE quand le frein de broche doit tre activ motion spindle forward bit in TRUE quand la broche doit tourner en sens horaire motion spindle index enable bit I O Pour les mouvements avec broche synchronis e ce signal doit tre raccord la pin index enable du codeur de broche motion spindle on bit out TRUE quand la broche doit tourner motion spindle reverse bit out TRUE quand la broche doit tourner en sens anti horaire motion spindle revs float in Pour le bon
160. e fond comme un diagramme fonctionnel et positionner les widgets aux endroits appropri s dans le diagramme Une bonne combinaison consiste placer une image de fond comme un fichier png mettre la fen tre GladeVCP en taille fixe et utiliser Glade pour fixer la position du widget sur cette image Le code pour l exemple ci dessus peut tre trouv dans configs gladevcp animated backdrop Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 93 193 11 6 R f rences des Widgets LinuxCNC Action GladeVcp inclus une collection d actions pr programm es appel es widgets LinuxCNC Action qui sont des Widgets pour l di teur Glade la diff rence des widgets HAL qui interagissent avec les pins de HAL les widgets LinuxCNC Actions inter agissent avec LinuxCNC et son interpr teur de G code Les widgets LinuxCNC Action sont d riv s du widget Gtk Action Le widget LinuxCNC Action en quelques mots C est un objet disponible dans l diteur Glade Il n a pas d apparence visuelle par lui m me Son but associer un composant d interface visible un composant d interface sensitif comme un menu un bouton outil un bouton avec une commande Voir les propri t s des widgets Action dans G n ral Related Action de diteur L action pr programm e sera ex cut e quand l tat du composant associ basculera bouton press menu cliqu Ils fournissent une voie facile po
161. e in order to use it for manuals for free software because free software needs free documentation a free program should come with manuals providing the same freedoms that the software does But this License is not limited to software manuals it can be used for any textual work regardless of subject matter or whether it is published as a printed book We recommend this License principally for works whose purpose is instruction or reference 1 APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License The Document below refers to any such manual or work Any member of the public is a licensee and is addressed as you A Modified Version of the Document means any work containing the Document or a portion of it either copied verbatim or with modifications and or translated into another language A Secondary Section is a named appendix or a front matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document s overall subject or to related matters and contains nothing that could fall directly within that overall subject For example if the Document is in part a textbook of mathematics a Secondary Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 188 193 Section may not explain any mathematics The relationship
162. e l int grateur V2 6 11 34 gff59490 2015 12 16 153 193 Cancel Cancel a AHV 4 Mo none Dur sb ONE FIGURE 18 13 Editor Window Now click in the upper left grid to place the N O Input into the ladder Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 154 193 Section Display of custom clp O O m Display O 3L 5 EE Current re ee in edit oe FIGURE 18 14 Section Display with Input Repeat the above steps to add a N O Output to the upper right grid and use the Horizontal Connection to connect the two It should look like the following If not use the Eraser to remove unwanted sections Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 155 193 Section Display of custom clp OO Jay ame e Current re ee in edit oe FIGURE 18 15 Section Display with Rung Now click on the OK button in the Editor window Now your Section Display should look like this Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 156 193 Section Display of custom clp mE Oo O E v Display symbols 7 us 10 ore FIGURE 18 16 Section Display Finished To save the new file select Save As and give it a name The clp extension will be added automatically It should default to the running config directory as the place to save it Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 157 193 Please select the project to sav
163. e la premi re la seconde bordure et zone 2 depuis la derni re bordure jusqu 1 Les bordures se r glent comme des fractions les valeurs vont de 0 1 100 Barre horizontale Barre verticale 11 5 13 Lindicateur HAL Meter L indicateur est un widget similaire celui de PyVCP il repr sente une valeur flottante et a une pin d entr e de HAL FLOAT D indicateur a les deux propri t s suivantes min max Valeurs minimum et maximum de l tendue souhait e Ce n est pas une erreur si la valeur courante d passe cette tendue force_size Force le diam tre du widget Si inutilis alors la taille sera d duite du conteneur ou des dimensions d un widget taille fixe L indicateur occupera alors l espace le plus grand disponible tout en respectant les proportions text_template D termine le texte afficher comme pour le Label pour la valeur courante Peut tre utilis pour arr ter I affichage de la valeur label Label large au dessus du centre de l indicateur sublabel Petit label sous le centre de indicateur bg_color Couleur de fond de I indicateur Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 91 193 z0_color z1_color z2_color Valeurs des couleurs des diff rentes zones Par d faut green yellow et red For description of zones see z _ border proper ties z0_border z1_border D finissent les limites externes des zones de couleur Par d faut une seule zone de
164. e original author or publisher of that section if known or else a unique number Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work In the combination you must combine any sections entitled History in the various original documents forming one section entitled History likewise combine any sections entitled Acknowledgements and any sections entitled Dedications You must delete all sections entitled Endorsements 6 COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License and replace the indi vidual copies of this License in the various documents with a single copy that is included in the collection provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 190 193 You may extract a single document from such a collection and distribute it individually under this License provided you insert a copy of this License into the extracted document and follow this License in all other respects regarding verbatim copying of that document 7 AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works in or on a volume of a storage or distribution medium does not as a whole count as a Modifie
165. e outputs the inputs are read and updated the logic is figured out the outputs are set This can be confusing at first if the output of one line is read by the input of a another rung There will be one scan before the second input becomes true after the output is set Another gotcha with ladder programming is the Last One Wins rule If you have the same output in different locations of your ladder the state of the last one will be what the output is set to 18 2 Languages The most common language used when working with Classic Ladder is ladder Classic Ladder also supports Sequential Function Chart Grafcet 18 3 Components There are 2 components to Classic Ladder The real time module classicladder_rt The user space module including a GUI classicladder 18 3 1 Files Typically classic ladder components are placed in the custom hal file if your working from a Stepconf generated configuration These must not be placed in the custom_postgui hal file or the Ladder Editor menu will be grayed out Ladder files clp must not contain any blank spaces in the name Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 131 193 18 3 2 Realtime Module Loading the Classic Ladder real time module classicladder_rt is possible from a HAL file or directly using a halcmd instruction The first line loads real time the Classic Ladder module The second line adds the function classicladder 0 refresh to the
166. e py VCP sont valu es comme du code Python elles peuvent donc ex cuter n importe quelle action disponible dans les programmes Python N utilisez que des fichiers py VCP en xml partir d une source de confiance tag 9 4 Utiliser pyVCP avec AXIS Puisque AXIS utilise le m me environnement graphique et les m me outils Tkinter que pyVCP il est possible d inclure un panneau pyVCP sur le c t droit de l interface utilisateur normale d AXIS Un exemple typique est pr sent ci dessous Placer le fichier pyVCP XML d crivant le panneau dans le m me r pertoire que le fichier ini Nous voulons afficher la vitesse courante de la broche sur un widget barre de progression Copier le code XML suivant dans un fichier appel broche xml lt pyvcp gt lt label gt lt text gt Vitesse broche lt text gt lt label gt lt bar gt lt halpin gt spindle speed lt halpin gt lt max_ gt 5000 lt max_ gt lt bar gt lt pyvcp gt Ici nous avons fait un panneau avec un label Vitesse broche et un widget barre de progression Nous avons sp cifi que la pin HAL connect e la barre de progression devait s appeler spindle speed et r gler la valeur maximum de la barre 5000 se reporter la documentation des widgets pour toutes les options disponibles Pour faire conna tre ce fichier AXIS et qu il l appelle au d marrage nous devons pr ciser ce qui suit dans la section DISPLAY du fichier ini PYVCP broche
167. el de l int grateur V2 6 11 34 gff59490 2015 12 16 72 193 PortTest Pin 11 Pin 12 O Pin 13 Pin 15 FIGURE 10 4 Testeur de port parall le complet Pour ajouter le reste des pins du port parall le il suffi de modifier les fichiers xml et hal Pour visualiser les pins apr s avoir lanc le script HAL utiliser la commande suivante au prompt halcmd halcmd show pin Component Pins Owner Type Dir Value Name 2 lolt IN FALSE parport 0 pin Ol out lt pin01 2 ore IN FALSE parport 0 pin 02 out lt pin02 2 lole IN FALSE parport 0 pin 03 out 2 ET IN FALSE parport 0 pin 04 out Za ISLE IN FALSE parport 0 pin 05 out 2 lode IN FALSE parport 0 pin 06 out 2 oie IN FALSE parport 0 pin 07 out 2 lode IN FALSE parport 0 pin 08 out 2 BAT IN FALSE parport 0 pin 09 out 2 OU RUE parport 0 pin 10 in gt pin10 2 SALE OULSHAL SE Ep oa M0 Sin SO E 2 lort OU RUE peugeot Me pimli 2 lolt OUL PASH Dar port pin Mn mote 2 lolt OU RUE penjogi s oies Palin 2 OUT FALSE parport 0 pin 12 in not 2 At OU RUE parpore Onein ls Zi OUL PALSE parportk 0 pin Sinon 2 lolt IN FALSE parport 0 pin 14 out 2 bir O RUE PAHO esta iles 2 loi QUIE IAS aD cusp oren Om pAn OE a At IN FALSE parport 0 pin 16 out 2 TOER RATS epar porem On pin out 4 bit OUT FALSE ptest btn01 gt pin01 4 bit
168. ement in a group remember to set MODBUS ELEMENT OFFSET properly NUMBER OF ELEMENTS The number of elements in this group LOGIC You can invert the logic here Ist I Q IQ WO MAPPED This is the starting number of B I Q W IW or QW variables that are mapped onto from the modbus element group starting at the first modbus element number In the example above Port number for my computer dev ttySO was my serial port The serial speed is set to 9600 baud Slave address is set to 12 on my VFD I can set this from 1 31 meaning I can talk to 31 VFDs maximum on one system The first line is set up for 8 input bits starting at the first register number register 1 So register numbers 1 8 are mapped onto Classic Ladder s B variables starting at B1 and ending at B8 The second line is set for 2 output bits starting at the ninth register number register 9 so register numbers 9 10 are mapped onto Classic Ladder s Q variables starting at Q9 ending at Q10 The third line is set to write 2 registers 16 bits each starting at the Oth register number register 0 so register numbers 0 1 are mapped onto Classic Ladder s W variables starting at WO ending at W1 It s easy to make an off by one error as sometimes the modbus elements are referenced starting at one rather then 0 actually by the standard that is the way it s supposed to be You can use the modbus element offset radio button to help with this T
169. en cons quence S assurer que le nom du signal est bien le m me dans le fichier HAL Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 170 193 charger un composant near et 1 attacher un thread loadrt near addf near 0 servo thread connecter un ntr e la vitesse de broche command e net spindle cmd gt near 0 inl connecter un ntr e a la mesure de vitesse broche du codeur net spindle velocity gt near 0 in2 connecter la sortie sur l entr e spindle at speed net spindle at speed motion spindle at speed lt near 0 out Ajuster les entr es de vitesse de broche pour tre dans une fourchette de 1 setp near 0 scale 1 01 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 171 193 Chapitre 21 Utilisation d une manivelle Cet exemple explique comment relier une manivelle facile trouver aujourd hui sur le march Cet exemple utilisera la manivelle MPG3 avec une carte d interface C22 de chez CNC4PC et un second port parall le plac sur un slot PCI Cet exemple fournira trois axes avec chacun trois incr ments de pas 0 1 0 01 0 001 Dans le fichier custom hal ou dans un fichier jog hal ajouter ce qui suit en v rifiant bien que les composants mux4 ou encoder ne soient pas d j utilis s Si c tait le cas il faudrait en augmenter le nombre en incr mentant la valeur du count de la commande loadrt Ajuster galement le num ro de r f re
170. eneurs inactifs Un cas d utilisation courante pourrait tre pour associer les pins de HAL du conteneur halui machine is on ou un des signaux halui mode pour s assurer que certains widgets n apparaissent actifs que dans un certain tat Pour activer un conteneur ex cuter la commande HAL setp gladevcp lt nom du conteneur gt 1 11 3 4 Pr parer le fichier de commande HAL La voie sugg r e pour lier les pins de HAL dans un panneau GladeVCP consiste les collecter dans un fichier s par portant l extension hal Ce fichier est pass via l option POSTGUI_HALFILE dans la section HAL du fichier de configuration ATTENTION Ne pas ajouter le fichier de commandes HAL de GladeVCP la section ini d Axis HAL HALF ILE a n aurait pas l effet souhait Voir les sections suivantes Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 83 193 11 3 5 Int gration dans Axis comme pour PyVCP Pour placer le panneau GladeVCP dans la partie droite d Axis ajouter les lignes suivantes dans le fichier ini DISPLAY ajouter le panneau GladeVCP l emplacement de PyVCP GLADEVCP u gladevcp hitcounter py gladevcp manual example ui HAL Les commandes HAL pour les composants GladeVCP dans un onglet doivent tre ex cut es via POSTGUI_HALFILE POSTGUI_HALFILE gladevcp manual example hal RS274NGC les sous programmes Oword sp cifiques gladevcp se placent ici SUBROUTINE_
171. ent de consigne Certains proc d s ne permettent aucun d passement de la consigne D autres doivent minimiser l nergie n cessaire pour atteindre un nouveau point de consigne G n ralement la stabilit de la r ponse est requise le proc d ne doit pas osciller quels que soient les conditions du proc d et le point de consigne R gler une boucle est rendu plus compliqu si le temps de r ponse du proc d est long il peut prendre plusieurs minutes voir plusieurs heures pour qu une modification de consigne produise un effet stable Certains proc d s ne sont pas lin aires et les param tres qui fonctionnent bien pleine charge ne marchent plus lors du d marrage hors charge du proc d Cette section d crit quelques m thodes manuelles traditionnelles pour r gler ces boucles Il existe plusieurs m thodes pour r gler une boucle PID Le choix de la m thode d pendra en grande partie de la possibilit ou non de mettre la boucle hors production pour la mise au point ainsi que de la vitesse de r ponse du syst me Si le syst me peut tre mis hors production la meilleure m thode de r glage consiste souvent soumettre le syst me un changement de consigne mesurer la r ponse en fonction du temps et l aide de cette r ponse d terminer les param tres de la r gulation Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 126 193 16 1 3 1 M thode simple Si le syst me doit rester en prod
172. ersions sometimes didn t erase the object with the right code You might have noticed that the long horizontal connection button sometimes didn t work in the older versions This was because it looked for the free code but found something else The number in the brackets is the unrecognized code The ladder program will still work properly to fix it erase the codes with the editor and save the program Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 134 193 18 5 3 The Variable Windows This are two variable windows the Bit Status Window boolean and the Watch Window signed integer The Vars button is in the Section Display Window toggle the Vars button to display one the other both then none of the variable windows m Bit Status Wii al fe i i i 10 11 12 13 14 615 16 17 18 19 110 111 Q 112 Q 113 O 114 Geese ee El Ll L L L L Ll L L L L L FIGURE 18 3 Bit Status Window The Bit Status Window displays some of the boolean on off variable data Notice all variables start with the sign The I variables represent HAL input bit pins The Q represents the relay coil and HAL output bit pins The B represents an internal relay coil or internal contact The three edit areas at the top allow you to select what 15 variables will be displayed in each column For instance if the B Variable column were 15 entries high and you entered 5 at the top of the c
173. es exemple Volt mm s si l unit machine est le millim tre FFO 0 hal Gain priori retour vitesse d ordre 0 Cette valeur est multipli e par la position command e elle entre dans le calcul de la tension appliqu e l ampli moteur Les unit s du gain FFO sont des Volts sur des unit s machine exemple Volt mm si l unit machine est le millim tre FF 0 hal Gain priori retour vitesse de premier ordre Cette valeur est multipli e par l cart de la position command e par seconde elle entre dans le calcul de la tension appliqu e l ampli moteur Les unit s du gain FF1 sont des Volts sur des unit s machine par seconde exemple Volt mm s si l unit machine est le millim tre FF2 0 hal Gain priori retour vitesse de second ordre Cette valeur est multipli e par l cart de la position command e par seconde au carr elle entre dans le calcul de la tension appliqu e l ampli moteur Les unit s du gain FF2 sont des Volts sur des unit s machine par des secondes au carr exemple Volt mm s si l unit machine est le millim tre OUTPUT_SCALE 1 000 OUTPUT_OFFSET 0 000 hal Ces deux valeurs sont les facteurs d chelle et offset pour la sortie de l axe l amplifi cateurs moteur La seconde valeur offset est soustraite de la valeur de sortie calcul e en Volts puis divis e par la premi re valeur facteur d chelle avant d tre crite dans le conve
174. es commandes de Linux Pour visualiser une man page ouvrez un terminal depuis Applications Accessoires Terminal Par exemple si vous voulez trouver quelques choses concernant la commande find tapez alors dans le terminal man find Utilisez les touches Vers le haut et Vers le bas pour faire d filer le texte et la touche Q pour quitter 24 3 Lister les modules du noyau En cas de probl me il est parfois utile de conna tre la liste des modules du noyau qui sont charg s Ouvrez une console et tapez 1smod Si vous voulez pour le consulter tranquillement envoyer le r sultat de la commande dans un fichier tapez la sous cette forme lsmod gt mes modules txt Le fichier mes_modules txt r sultant se trouvera alors dans votre r pertoire home si c est de l que vous avez ouvert la console Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 179 193 24 4 diter un fichier en root diter certains fichiers du syst me en root peut donner des r sultats inattendus Soyez tr s vigilant quand vous ditez en root une erreur peut compromettre tout le syst me et l emp cher de red marrer Vous pouvez ouvrir et lire de nombreux fichiers syst mes appartenant au root qui sont en mode lecture seule 24 4 1 A la ligne de commande Ouvrir un terminal depuis Applications Accessoires Terminal Dans ce terminal tapez sudo gedit Ouvrez un fichier depuis Fichiers Ouvrir puis ditez le 24 4 2 E
175. es moteurs de l appareil nomm es AD et BD sur la figure ci dessus La position des moteurs est fix e par convention Le moteur A est en 0 0 qui signifie que sa coordonn e X est 0 et sa coordonn e Y galement 0 Le moteur B est plac en Bx 0 se qui veut dire que sa coordonn e X est Bx Notre pointe mobile se trouvera au point D d fini par les distances AD et BD et par les coordonn es Cart siennes Dx Dy La tache de la cin matique consistera a transformer les longueurs des articulations en AD BD en coordonn es Cart siennes Dx Dy et vice versa 14 3 1 Transformation avant Pour effectuer la transformation de l espace articulation en espace Cart sien nous allons utiliser quelques r gles de trigonom trie le triangle rectangle d termin par les points 0 0 Dx 0 Dx Dy et le triangle rectangle Dx 0 Bx 0 et Dx Dy Nous pouvons voir ais ment que AD x y de m me que BD Bx x y Si nous soustrayons l un de l autre nous aurons AD BD x y x 2 x Bx Bx y et par cons quent x AD BD Bx 2 Bx De l nous calculons y sqrt AD x Noter que le calcul inclus la racine carr e de la diff rence mais qu il n en r sulte pas un nombre r el Si il n y a aucune coordonn e Cart sienne pour la position de cette articulation alors la position est dite singuli re Dans ce cas la cin matique inverse retourne 1 Traduction en code double AD2 joints 0 joints 0 doubles BD
176. es r sultats d coulant de son utilisation sont impr visibles 3 5 5 Section EMCMOT D autres entr es peuvent tre rencontr es dans cette section elles ne doivent pas tre modifi es EMCMOT motmod Utilise typiquement le nom du contr leur de mouvement Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 18 193 BASE_PERIOD 50000 HAL P riode de base des t ches exprim e en ns SERVO_PERIOD 1000000 hal P riode de la t che Servo exprim e galement en nanosecondes TRAJ_PERIOD 1000000 hal P riode du planificateur de trajectoire exprim e en nanosecondes 3 5 6 Section TASK TASK milltask Indique le nom de la t che ex cutable La t che r alise diff rentes actions telles que communiquer avec les interfaces utilisateur au dessus de NML communiquer avec le planificateur de mouvements temps r el dans la m moire partag e non HAL et interpr ter le g code Actuellement il n y a qu une seule t che ex cutable qui fait sens pour 99 9 des utilisateurs milltask CYCLE_TIME 0 010 P riode exprim e en secondes laquelle TASK va tourner Ce param tre affecte l intervalle de polling lors de l attente de la fin d un mouvement lors de l ex cution d une pause d instruction et quand une commande provenant d une interface utilisateur est accept e Il n est g n ralement pas n cessaire de modifier cette valeur 3 5 7 Section HAL
177. est lt u32 gt 9 6 13 Affichage d images Seul l affichage d images au format gif est possible Toutes les images doivent avoir la m me taille Les images doivent tre toutes dans le m me r pertoire que le fichier ini ou dans le r pertoire courant pour un fonctionnement en ligne de commande avec halrun halcmd 9 6 13 1 Image Bit La bascule image_ bit bascule entre deux images selon la position vraie ou fausse de halpin lt pyvcp gt lt image name fwd file fwd gif gt lt image name rev file rev gif gt lt vbox gt lt image_bit halpin selectimage images fwd rev gt lt vbox gt lt pyvcp gt En utilisant les deux images fwd gif et rev gif FWD est affich quand selectimage est fausse et REV est affich quand selectimage est vraie FIGURE 9 1 selectimage fausse Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 56 193 FIGURE 9 2 selectimage vraie 9 6 13 2 Image u32 La bascule image_u32 est la m me que image_bit except que le nombre d images n est pratiquement plus limit il suffit de selectionner limage en ajustant halpin une valeur enti re commen ant O pour la premi re image de la liste 1 pour la seconde image etc lt pyvcp lt image name stb file stb gif gt lt image name fwd file fwd gif gt lt image name rev file rev gif gt lt vbox gt lt image_u32 halpin selectimage
178. est press la sortie du widget HAL ceux qui affichent la valeur des pins de HAL comme une LED une barre une VBar un indicateur aiguille etc supportent le signal hal pin changed qui peut provoquer une fonction de rappel dans le code Python quand une pin de HAL change de valeur Cela veut dire qu il n est plus n cessaire d interroger en permanence les pins de HAL dans le code pour connaitre les changements les widgets font a en arri re plan et le font savoir Voici un exemple montrant comment r gler un signal hal pin changed pour une Hal Led dans l diteur de Glade E hal tabel hal_led1 tl hal_buttonl ca hal_spinbuttonl E hal togglebutton1 _ LE Losa M HAL LED Properties HAL LED hal_led1 General Packing cal Signals A Signal Handler User data HAL LED b hal pin changed n led_pin_ changed L exemple dans configs gladevcp examples complex montre comment c est g r en Python 11 5 4 Les boutons HAL Button Ce groupe de widgets est d riv de divers boutons Gtk ce sont les widgets HAL_Button HAL_ToggleButton HAL_RadioButton et CheckButton Tous ont une seule pin de sortie BIT portant un nom identique au widget Les boutons n ont pas d autres propri t s additionnelles contrairement leurs classes de base Gtk HAL _ Button Action instantan e ne retient pas l tat Signal important pressed HAL _ToggleButton HAL_CheckButton Retiennent l tat on off Signal important tog
179. et Ydir gt parport 0 pin 04 out net Zstep gt parport 0 pin 07 out net Zdir gt parport 0 pin 06 out create a signal for the estop loopback net estop loop iocontrol 0 user enable out iocontrol 0 emc enable in create signals for tool loading loopback net tool prep loop iocontrol 0 tool prepare iocontrol 0 tool prepared net tool change loop iocontrol 0 tool change iocontrol 0 tool changed connect spindle on motion controller pin to a physical pin net spindle on motion spindle on gt parport 0 pin 09 out You might use something like this to enable chopper drives when machine ON the Xen signal is defined in core_stepper hal Se e net Xen gt parport 0 pin 01 out 1 Note pour rester concis nous ne pr senterons qu un seul axe tous les autres sont similaires Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 42 193 n If you want active low for this pin invert it like this setp parport 0 pin 01 out invert 1 A sample home switch on the X axis axis 0 make a signal link the incoming parport pin to the signal then link the signal to LinuxCNC s axis 0 home switch input pin net Xhome parport 0 pin 10 in gt axis 0 home sw in Shared home switches all on one parallel port pin that s ok hook the same signal to all the axes but be sure to set HOME_IS_SHARED and HOME_SEQUENCE in the ini file See the user manual 4 4 4 4
180. ew ie PUE loo ii et Be ee Bw ewe Bh BA eS AES RENTE 70 10 3 Compie tours pours a so seres dai A messe be Ee ea ee wa ee wae So 73 IOS L nine 625 34 ae REAR Baas REE BES RO ERG Bie a AG gap 73 LO52 Tes Connections gt 6 oe 4 Len ee Ee ee SOUS AREAS Ow Ee eae eee eS 75 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 vi 11 Cr ation d interfaces graphiques avec GladeVCP 76 11 1 CH ere GER ae dc See eee he E DES E NAN A EX 76 LILI PyVCP par rappoit a Glade VER po docs a A des a de 76 11 2 Description du fonctionnement avec un exemple de panneau 77 11 2 1 Deseripiien de Cexemple de Pantano ae we hee EMS See Pew mdr a 80 11 24 DesenphondelredieurdeGiste co uns n s sis dr PA Ee e se 80 11 2 3 Explorer la fonction de rappel de Python lt s 524 4 iuuus ee aa ee 81 11 3 Cr er et int grer une interface tilisateur Glade o o scc coco 4h Lune ag peu H 81 113 1 Pr requis Installation de Glade 54 sus sus 4 a dd Bee dune de Se eee E 81 11 3 2 Lancer Glade pour cr er une nouvelle interface utilisateur 2 422 44 14 44 1424483 81 LBS Teter MDANNEA cora A a nue de a A hat a e 82 11 34 Pr parer l fichier de commande HAL o o c e ee 4 dei iu A 82 11235 Integration dans Axis comme pourPyVCP o se 2 56404 a da cheese tx 83 11 3 6 Int gration dans un nouvel onglet d Axis la suite des autres 83 L1 3 7 In sraion dams TOUCHY oo s
181. ffich m me si il est sup rieur max moins que min ne soit n gatif 9 6 18 Bouton tournant dial Le bouton tournant imite le fonctionnement d un vrai bouton tournant en sortant sur un FLOAT HAL la valeur sur laquelle est positionn le curseur que ce soit en le faisant tourner avec un mouvement circulaire ou en tournant la molette de la souris Un double click gauche augmente la r solution et un double click droit la diminue d un digit La sortie est limit e par les valeurs min et max La variable cpr fixe le nombre de graduations sur le pourtour du cadran prudence avec les grands nombres lt dial gt lt size gt 200 lt size gt lt cpr gt 100 lt cpr gt lt min_ gt 15 lt min_ gt lt max_ gt 15 lt max_ gt lt text gt Dial lt text gt lt initval gt 0 lt initval gt lt resolution gt 0 001 lt resolution gt lt halpin gt anaout lt halpin gt lt dialcolor gt yellow lt dialcolor gt lt edgecolor gt green lt edgecolor gt cdotcolor lacados oleic lt dial gt Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 60 193 Le code ci dessus donne ce r sultat 9 6 19 Manivelle jogwheel La manivelle imite le fonctionnement d une vraie manivelle en sortant sur une pin FLOAT la valeur sur laquelle est positionn le curseur que ce soit en le faisant tourner avec un mouvement circulaire ou en tournant la molette de la souris lt jogwheel gt lt halpin gt my wheel lt halp
182. fi sera ignor Par exemple sur un codeur de 2000 impulsions par tour un r ducteur de 10 tours pouce et des unit s demand es en pouces nous avons INPUT_SCALE 2000 top tour x 10 tour pouce 20000 top pouce 3 5 13 Variables relatives aux moteurs pas pas SCALE 4000 hal Sp cifie le nombre d impulsions qui correspond un mouvement d une unit machine comme indiqu dans la section TRAJ Pour les syst mes moteurs pas pas c est le nombre d impulsions de pas n cessaires pour avancer d une unit machine Pour un axe lin aire une unit machine sera gale la valeur de LINEAR_UNITS Pour un axe an gulaire une unit machine sera gale la valeur de ANGULAR_UNITS Pour les syst mes servomoteurs c est le nombre d impulsions de retour signifiant que le mobile a avanc d une unit machine Un second nombre si sp cifi sera ignor Par exemple un pas moteur de 1 8 degr en mode demi pas avec une r duction de 10 tours pouce et des unit s souhait es en pouces nous avons scale 2 pas 1 8 degr s 360 degr s tour 10 tour pouce 4000 pas pouce D anciens fichiers ini et hal utilisaient INPUT_SCALE pour cette valeur STEPGEN_MAXACCEL 21 0 hal Limite d acc l ration pour le g n rateur de pas Elle doit tre 1 10 sup rieure celle de l axe MAX_ACCELERATION Cette valeur am liore les r glages de la boucle de position de stepgen Si une correction de jeu
183. fichiers et les placer dans le r pertoire emc configs pyvcp_xyz Si la case Cr er un lien est coch e un lien vers ces fichiers sera cr sur le bureau Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 67 193 10 3 1 Cr er les Widgets Ouvrir le fichier custompanel xml par un clic droit sur son nom puis en s lectionnant Ouvrir avec l diteur de texte Entre les balises lt pyvcp gt et lt pyvcp gt nous ajouterons les widgets pour le panneau Tous les d tails sur chacun des Widgets de PyVCP sont donn s dans la documentation des widgets Dans le fichier custompanel xml nous ajoutons la description des widgets lt pyvcp gt lt labelframe text Boutons de Jog gt lt font gt Helvetica 16 lt font gt lt ie bouton de jog de Maxe x gt lt hbox gt lt relief gt RAISED lt relief gt lt bd gt 3 lt bd gt lt button gt lt font gt Helvetica 20 lt font gt lt width gt 3 lt width gt lt halpin gt x plus lt halpin gt lt text gt X lt text gt lt button gt lt button gt lt font gt Helvetica 20 lt font gt lt width gt 3 lt width gt lt halpin gt x moins lt halpin gt lt bert XI text gt lt button gt lt hbox gt AE evbouton de Jog de liaxe Y gt lt hbox gt lt relief gt RAISED lt relief gt lt bd gt 3 lt bd gt lt button gt lt button gt lt button gt lt font gt Helvetica 20 lt font gt lt width
184. fonctionnement des mouvements avec broche synchronis e ce signal doit tre raccord la broche position du codeur de broche La position donn e par le codeur de broche doit tre talonn e pour que spindle revs augmente de 1 0 pour chaque tour de broche dans le sens horaire M3 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 36 193 motion spindle speed in float in Donne la vitesse actuelle de rotation de la broche exprim e en tours par seconde Elle est utilis e pour les mouvements en unit s par tour G95 Si le pilote du codeur de broche ne dispose pas d une sortie vitesse il est possible d en g n rer une en passant la position de la broche au travers d un composant ddt Si la machine n a pas de codeur de broche il est possible d utiliser motion spindle speed out rps motion spindle speed out float out Consigne de vitesse de rotation de la broche exprim e en tours par minute Positive pour le sens horaire M3 n gative pour le sens anti horaire M4 motion spindle speed out abs float out Consigne de vitesse absolue de rotation de la broche exprim e en tours par minute Toujours positive quel que soit le sens de rotation motion spindle speed out rps float out Consigne de vitesse de rotation de la broche exprim e en tours par seconde Positive pour le sens horaire M3 n gative pour le sens anti horaire M4 motion spindle speed out rps abs float out
185. gled HAL_RadioButton Un parmi un groupe Signal important toggled par bouton Importantes m thodes communes set_active get_active ortantes propri t s label image M checkbutton Case cocher chocolate O strawberry Boutons radio Excute Oword subroutine Bouton bascule Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 87 193 ASTUCE D finir les groupes de boutons radio dans Glade D cider du bouton actif par d faut Dans les boutons radio G n ral Groupe s lectionner le nom du bouton actif par d faut dans le dialogue Choisir un Bouton radio pour ce projet Voir configs gladevcp by widget radiobutton pour une application GladeVCP avec un fichier d interface utili sateur pour travailler sur les boutons radio 11 5 5 Les chelles Scales HAL_HScale et HAL_VScale sont respectivement d riv es de GtkHScale et GtkVScale Elles ont une pin de sortie FLOAT portant le m me nom que le widget Les chelles n ont pas de propri t additionnelle Pour cr er une chelle fonctionnelle dans Glade ajouter un Ajustement G n ral Ajustement Nouveau ou existant et di ter l objet ajustement Il d fini les valeurs d faut min max incr ment Fixer la Sensibilit de l incr ment de l ajustement sur automatique pour viter les warnings 35 5 y0QROO AI AAA Exemple d chelle HAL_hscale HA 11 5 6 La bo te d incr ment Spin
186. gnment and a Comparison Example QWO is a S32out bit and IWO is a S32in bit In this case the HAL pin classicladder 0 s32out 00 will be set to a value of 5 and when the HAL pin classicladder 0 s32in 00 is O the HAL pin classicladder 0 out 00 will be set to True Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 143 193 Section Display of custom clp E OoOo E Y Display symbols pe ASSIGNMENT COMPARISON FIGURE 18 8 Assign Compare Example Properties Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 144 193 F al Expression cies 18 6 8 COILS Coils represent relay coils They are controlled by the variable letter and number assigned to them The variable letter can be B or Q and the number can be up to a three digit number eg Q3 or B123 Q coils control HAL out pins e g if Q15 is energized then HAL pin classicladder 0 out 15 will be true B coils are internal coils used to control program flow N O COIL a relay coil When coil is energized it s N O contact will be closed on true etc N C COIL a relay coil that inverses its contacts When coil is energized it s N O contact will be open off false etc SET COIL a relay coil with latching contacts When coil is energized it s N O contact will be latched closed RESET COIL a relay coil with latching contacts When coil is energized It s N 0 contact will be latched open JUM
187. gt 3 lt width gt lt halpin gt y plus lt halpin gt Ge AN redes lt font gt Helvetica 20 lt font gt lt width gt 3 lt width gt lt halpin gt y moins lt halpin gt lt P IN Mi lt button gt lt hbox gt lt l le bouton de jog de l axe Z gt lt hbox gt lt relief gt RAISED lt relief gt lt bd gt 3 lt bd gt lt button gt lt font gt Helvetica 20 lt font gt lt width gt 3 lt width gt lt halpin gt z plus lt halpin gt lt text gt Z lt text gt lt button gt lt button gt lt font gt Helvetica 20 lt font gt lt width gt 3 lt width gt Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 68 193 lt halpin gt z moins lt halpin gt lt text gt Z lt text gt lt button gt lt hbox gt lt le curseur de vitesse de jog gt lt vbox gt lt relief gt RAISED lt relief gt lt bd gt 3 lt bd gt lt label gt lt text gt Vitesse de Jog lt text gt lt font gt Helvetica 16 lt font gt lt label gt lt scale gt lt font gt Helvetica 14 lt font gt lt halpin gt jog speed lt halpin gt lt resolution gt 1 lt resolution gt lt orient gt HORIZONTAL lt orient gt lt min_ gt 0 lt min_ gt lt max_ gt 80 lt max_ gt lt scale gt lt vbox gt lt labelframe gt lt pyvcp gt Apr s les ajouts pr c dents nous avons un panneau PyVCP tel que celui de l image suivante attach droi
188. guration de ma petite fraiseus Des commentaires peuvent galement tre utilis s pour choisir entre plusieurs valeurs d une seule variable DISPLAY axis DISPLAY touchy Dans cette liste la variable DISPLAY est positionn e sur axis puisque l autre est comment e Si quelqu un dite une liste comme celle ci et par erreur d commente deux lignes c est la premi re rencontr e qui sera utilis e Noter que dans une ligne de variables les caract res et n indiquent pas un commentaire INCORRECT valeur et un commentaire Commentaire correct CORRECT valeur Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 13 193 3 4 2 Les sections Les diff rentes parties d un fichier ini sont regroup es en sections Une section commence par son nom en majuscules entre crochets UNE_SECTION L ordre des sections est sans importance Les sections suivantes sont utilis es par LinuxCNC EMC informations g n rales DISPLAY s lection du type d interface graphique FILTER s lection d un programme de filtrage RS274NGC ajustements utilis s par l interpr teur de g code EMCMOT r glages utilis s par le contr leur de mouvements temps r el TASK r glages utilis s par le contr leur de t che HAL sp cifications des fichiers hal HALUI commandes MDI utilis es par HALUI TRAJ r glages additionnels utilis s par le contr leur
189. he documents for your modbus slave device will tell you how the registers are set up there is no standard way The SERIAL PORT PORT SPEED PAUSE and DEBUG level are editable for changes when you close the config window values are applied though Radio buttons apply immediately To use the echo function select the echo function and add the slave number you wish to test You don t need to specify any variables The number 257 will be sent to the slave number you specified and the slave should send it back you will need to have Classic Ladder running in a terminal to see the message 18 9 1 MODBUS Settings Serial Classic Ladder uses RTU protocol not ASCII 8 data bits No parity is used and 1 stop bit is also known as 8 N 1 Baud rate must be the same for slave and master Classic Ladder can only have one baud rate so all the slaves must be set to the same rate Pause inter frame is the time to pause after receiving an answer MODBUS_TIME_AFTER_TRANSMIT is the length of pause after sending a request and before receiving an answer this apparently helps with USB converters which are slow 18 9 2 MODBUS Info Classic Ladder can use distributed inputs outputs on modules using the modbus protocol master polling slaves The slaves and theirs I O can be configured in the config window 2 exclusive modes are available ethernet using Modbus TCP and serial using Modbus RTU No parity is used
190. i une valeur doit tre attribu e la sortie d un widget HAL depuis un code Python le faire en appelant le setter Gtk sous jacent par exemple set_active set_value ne pas essayer de donner directement la valeur la pin associ e par un halcomp nompin value parce que le widget ne verra jamais le changement Il pourrait tre tentant de fixer une pin d entr e de widget HAL par programme Noter que cela va l encontre du but premier d une pin d entr e Elle devrait tre attach e un autre composant de HAL et r agir au signal qu il g n re Bien qu aucune protection emp chant d crire sur les pins d entr e HAL Python ne soit pr sente actuellement cela n aurait aucun sens Il faut utiliser setp nompin valeur dans un fichier Hal associ pour les essais Il est par contre parfaitement autoris de mettre une valeur sur une pin de sortie de Hal avec halcomp nompin valeur condition que cette pin ne soit pas d j associ e avec un autre widget ce qui aurait pu tre cr par la m thode hal_glib GPin halcomp newpin lt nom gt lt type gt lt direction gt Voir la programmation de GladeVCP pour d autres exemples Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 86 193 11 5 3 Le signal hal pin changed La programmation v nementielle signifie que l interface graphique indique au code quand quelque chose se produit gr ce une fonction de rappel comme quand un bouton
191. ied default is 1 second 13 6 Reading the error channel To handle error messages connect to the error channel and periodically poll it Note that the NML channel for error messages has a queue other than the command and status channels which means that the first consumer of an error message deletes that message from the queue whether your another error message consumer e g Axis will see the message is dependent on timing It is recommended to have just one error channel reader task in a setup aorta ILahoiberre e linuxcnc error_channel error e poll if error kind text error if kind in linuxcnc NML_ERROR linuxcnc OPERATOR_ERROR typus error else EVPUS SEINE print typus text 13 7 Reading ini file values Here s an example for reading values from an ini file through the Linuxcnc ini object run as python ini example py emc2 dev configs sim axis axis_mm ini IMPOBERASYS IMPONEN E inifile linuxcnc ini sys argv 1 inifile find returns None if the key wasnt found the following idiom is useful for setting a default value machine_name inifile find EMC MACHINE or unknown print machine name machine_name inifile findall returns a list of matches or an empty list if the key wasnt found extensions inifile findall FILTER PROGRAM EXTENSION print extensions extensions override default NML fil
192. ienne pr t nom peut tre n importe quel nom Noter la lettre W en majuscule et le n en minuscule Le c indique PyVCP de construire un panneau avec le nom monpanneau en utilisant les infos contenues dans le fichier monpanneau xml Le nom du fichier monpanneau xml est sans importante mais doit porter l extension xml C est le fichier qui d crit comment construire le panneau Il est n cessaire d ajouter le nom du chemin si le panneau n est pas dans le r pertoire dans lequel se trouve le script HAL Une commande optionnelle utiliser si vous voulez que le panneau stoppe HAL depuis les commandes Continuer Quitter Apr s avoir charg n importe quelles autres composants la derni re commande HAL sera waituser nompanneau Cette commande indique HAL d attendre que le composant nompanneau soit ferm avant de continuer avec d autres com mandes C est g n ralement d fini comme tant la derni re commande de sorte que HAL s arr tera si le panneau est ferm 9 6 Documentation des widgets de pyVCP Les signaux de HAL existent en deux variantes BIT et FLOAT pyVCP peut afficher la valeur d un signal avec un widget indi cateur ou modifier la valeur d un signal avec un widget de contr le Ainsi il y a quatre classes de widgets py VCP connectables aux signaux de HAL Une cinqui me classe de widgets d aide permet d organiser et d appliquer des labels aux panneaux Widgets de signalisation signaux de
193. iles Noter le halcmd loadusr pour charger la commande d onglet elle assure que POSTGUI_HALFILE ne sera lanc que seulement apr s que le composant de HAL ne soit pr t Dans de rares cas une commande pourrait tre lanc e ici pour utiliser un onglet sans tre associ e un composant de HAL Une telle commande pourrait tre lanc e sans halcmd loadusr ce qui indiquerait Axis qu il ne doit plus attendre un composant de HAL puisqu il n existe pas Noter que quand le nom du composant est chang dans l exemple suivant les noms utilis s dans Wn lt composant gt et c lt composant gt doivent tre identiques Essayer en lan ant Axis il doit avoir un nouvel onglet appel GladeVCP demo droite de l onglet de la visu S lectionner cet onglet le panneau de l exemple devrait tre visible bien int gr Axis Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 84 193 Note Bien v rifier que le fichier de l interface est la derni re option pass e GladeVCP dans les deux d clarations GLADEVCP et EMBED_TAB_COMMAND 11 3 7 Int gration dans Touchy Pour ajouter un onglet GladeVCP Touchy diter le fichier ini comme cela DISPLAY ajoute un panneau GladeVCP dans un onglet EMBED_TAB_NAME GladeVCP demo EMBED_TAB_COMMAND gladevcp c gladevcp x XID u gladevcp hitcounter py H gladevcp gladevcp touchy hal gladevcp manual example ui RS2
194. imer xx running Boolean read only Txx D Timer xx done Boolean read only Txx V Timer xx current value integer read only Txx P Timer xx preset integer read or write Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 141 193 18 6 4 MONOSTABLES Represent the original one shot timers This is now deprecated and replaced by IEC Timers Monostables have 2 contacts I and R I input input will start the mono timer running R running output will be true while timer is running The I contact is rising edge sensitive meaning it starts the timer only when changing from false to true or off to on While the timer is running the I contact can change with no effect to the running timer R will be true and stay true till the timer finishes counting to zero The timer base can be multiples of milliseconds seconds or minutes There are also Variables for monostables that can be read and or written to in compare or operate blocks Mxx R Monostable xx running Boolean read only Mxx V Monostable xx current value integer read only Mxx P Monostable xx preset integer read or write 18 6 5 COUNTERS Represent up down counters There are 7 contacts R reset input will reset the count to 0 P preset input will set the count to the preset number assigned from the edit menu U up count input will add one to the count D down count in
195. imum following error configuration parameter reflects AXIS_x FERROR max_hard_limit returns integer non zero means max hard limit exceeded max_position_limit returns float maximum limit soft limit for axis motion in machine units configuration parameter reflects AXIS_x MAX_LIM max_soft_limit non zero means max_position_limit was exceeded int min_ferror returns float configuration parameter reflects AXIS_x MIN_FERROR min_hard_limit returns integer non zero means min hard limit exceeded min_position_limit returns float minimum limit soft limit for axis motion in machine units configuration parameter reflects AXIS_x MIN_LIMI min_soft_limit returns integer non zero means min_position_limit was exceeded output returns float commanded output position override_limits returns integer non zero means limits are overridden units returns float units per mm deg for linear angular velocity returns float current velocity Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 112 193 13 4 Preparing to send commands Some commands can always be sent regardless of mode and state for instance the linuxcnc command abort method can always be called Other commands may be sent only in appropriate state and those tests can be a bit tricky For instance an MDI command can be sent only if ESTOP has not been triggered and the machine is turned on and the
196. in gt lt cpr gt 45 lt cpr gt lt size gt 250 lt size gt lt jogwheel gt Le code ci dessus donne ce r sultat Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 61 193 9 7 Documentation des containers de pyVCP Les containers sont des widgets qui contiennent d autres widgets 9 7 1 Bordures Le container bordure est sp cifi avec deux balises utilis es ensembles La balise lt relief gt sp cifie le type de bordure et la balise lt bd gt sp cifie la largeur de la bordure lt relief gt type lt relief gt La valeur de type peut tre FLAT SUNKEN RAISED GROOVE ou RIDGE lt bd gt n lt bd gt La valeur de n fixe la largeur de la bordure lt hbox gt lt button gt lt relief gt FLAT lt relief gt lt a Are lt bd gt 3 lt bd gt lt button gt lt button gt lt relief gt SUNKEN lt relief gt lt text gt SUNKEN lt text gt lt bd gt 3 lt bd gt lt button gt lt button gt lt relief gt RAISED lt relief gt lt text gt RAISED lt text gt lt bd gt 3 lt bd gt lt button gt lt button gt lt relief gt GROOVE lt relief gt lt text gt GROOVE lt text gt lt bd gt 3 lt bd gt lt button gt lt button gt lt relief gt RIDGE lt relief gt lt text gt RIDGE lt text gt lt bd gt 3 lt bd gt lt button gt lt hbox gt borders allez FLAT SUNKEN RAISED GROOVE RGE 9 7 2 Hbox Utilisez une Hbox lorsque
197. ine avec LinuxCNC appel e stepper et qui se trouve habituellement dans etc linuxcnc sample configs stepper 8 2 Fr quence de pas maximale Avec la g n ration logicielle des pas la fr quence maximale en sortie pour les impulsions de pas et de direction est de une impulsion pour deux BASE_ PERIOD La fr quence de pas maximale accessible pour un axe est le produit de MAX_VELOCITY et de INPUT_SCALE Si la fr quence demand e est excessive une erreur de suivi se produira following error particuli rement pendant les jog rapides et les mouvements en GO Si votre interface de pilotage des moteurs accepte des signaux d entr e en quadrature utilisez ce mode Avec un signal en quadrature un pas est possible pour chaque BASE_PERIOD ce qui double la fr quence maximum admissible Les autres rem des consistent diminuer une ou plusieurs variables BASE_PERIOD une valeur trop faible peux causer un bloquage du PC INPUT_SCALE s il est possible sur l interface de pilotage de s lectionner une taille de pas diff rente de changer le rapport des poulies ou le pas de la vis m re ou enfin MAX_VELOCITY et STEPGEN MAXVEL Si aucune combinaison entre BASE_ PERIOD INPUT_SCALE et MAX_VELOCITY n est fonctionnelle il faut alors envisager un g n rateur de pas externe parmis les contr leurs de moteurs pas pas universels support s par LinuxCNC 8 3 Brochage LinuxCNC est tr s flexible et gr ce la couche d abstraction de HAL H
198. ise une valeur positive diff rente de z ro pour que M3 4 inverse le sens de la broche Pour relier ces pins des broches du port parall le utiliser par exemple les lignes suivantes dans le fichier hal bien s r ces broches doivent tre c bl es l interface de contr le net spindle fwd motion spindle forward gt parport 0 pin 16 out net spindle rev motion spindle reverse gt parport 0 pin 17 out 20 5 D marrage en rampe Si la broche doit d marrer en rampe et que le contr leur n a pas cette possibilit HAL pourra le faire Il faut premi rement d tourner la sortie de motion spindle speed out et la faire transiter par un composant limit2 dont l chelle est ajust e de sorte que la consigne suive une rampe entre motion spindle speed out et le p riph rique recevant la consigne de vitesse Ensuite il faut faire connaitre LinuxCNC le moment ou la broche a atteint sa vitesse pour que les mouvements puissent commencer Reprenant dans l exemple en 0 10 V la ligne net spindle speed scale motion spindle speed out gt scale 0 in sera modifi e comme indiqu dans l exemple ci dessous Introduction aux composants de HAL limit2 et near Au cas ou vous ne les auriez jamais rencontr auparavant voici une rapide introduction ces deux composants de HAL utilis s dans l exemple suivant Le composant de HAL limit2 est un composant qui re oit une valeur sur une entr e et fourni une valeur en
199. istante MEMBER Lao He mn Se ES em mdr me Hume HS Mae Ee i 175 232 MOSS CC Le 484 nh eee pe du D EERE da RUN Et RE until 175 Doe Ereprde SL zog a li Bee BE GS hoa Sn tn 175 23 22 Ets deRTAPI ra dun A ee a eae eee LR AN pe Gk 176 Pee LOIR ne sen Sm ne BA BS di leu A Ne A CN Rein a OR ee De ts Na Gale 176 23 3 1 Tester le time des DAS so Las A Rae ed de dre ee 176 24 Petite FAQ Linux 178 2d Loci AMORE L ee Se A eR de EURE RE RE LE EH Rest 178 vere MO AA oA 178 24 3 Lister les modules du O 25844 ds AE Ra eee Oe here Be ee ee ts 178 24 4 diter un fichierentoot oo 4 ana da eee eee eee du de ew bees 179 244 18 llene de commande 55 es pd pe gs Rip nid A ann RE puis ste 179 244 2 Enmode graphique oc c ss insu eR RE ee ea ae a OE a des des E 179 24 9 Commandos du terminal gt s se 4e ddl ss UE SUR a ass 179 245 1 R pertoire d AVAL ooo cs a a A A Bae hae a aps amp oS 179 243 2 Changer d repertoire A ea ee ge dre dre ot ee 179 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 xi 24 5 3 Lister les nehiers du r pertoire courant cs cos sponsors paume e st 179 24 534 Trouver DONDE o o a da a de ef al Gh a 180 Pao Rechercher un teste E e SEES Le Pee Rew a x 180 24 30 Messages uu DORE 5 55 nee RO OR eR eR ee ee an Se wR ds E 180 24 6 Probl mes mat riels ssc 2 ew oe ee ce Ro Se ER Se Beh eh wee ec Swe wl Ge ee ee we 181 240 1 Informations surlem
200. ix possibles sont in inch imperial metric mm Cela n affecte pas les unit s lin aires du code NC pour cela il y a les mots G20 et G21 ANGULAR_UNITS lt units gt Le nom des unit s utilis es dans le fichier INI Les choix possibles sont deg degree 360 pour un cercle rad radian 2pi pour un cercle grad ou gon 400 pour un cercle Cela n affecte pas les unit s angulaires du code NC Dans le code RS274NGC les mots A B et C sont toujours exprim s en degr s DEFAULT_VELOCITY 0 0167 La vitesse initiale de jog des axes lin aires en unit s par seconde La valeur indiqu e ici correspond une unit par minute DEFAULT_ACCELERATION 2 0 Dans les machines cin matique non triviale l acc l ration utilis e pour teleop jog espace cart sien en unit s machine par seconde par seconde MAX_VELOCITY 5 0 Vitesse maximale de d placement pour les axes exprim e en unit s machine par seconde La valeur indiqu e est gale 300 unit s par minute MAX_ACCELERATION 20 0 Acc l ration maximale pour les axes exprim e en unit s machine par seconde par seconde POSITION _ FILE position txt Si r gl e une valeur non vide les positions des axes joins sont enregistr es dans ce fichier Cela permet donc de red marrer avec les m mes coordonn es que lors de l arr t ce qui suppose que hors puissance la machine ne fera aucun mouvement pendant tout son arr t C est utile pour les petites
201. l est ne sont pas tr s pythonique C est pourquoi nous en arrivons au gestionnaire de classes 11 7 4 2 Mod le de gestionnaire bas sur les classes L id e ici est la suivante les gestionnaires sont li s aux m thodes de classe La classe sous jacente est instanci e et inspect e durant le d marrage de GladeVCP et li e l arbre des widgets comme gestionnaire de signaux Donc la t che est maintenant d crire Une ou plusieurs d finitions de classe avec une ou plusieurs m thodes dans un module ou r partis sur plusieurs modules Une fonction get_handlers dans chaque module qui retournera la liste des instances de classe Glade VCP leurs noms de m thode seront li s aux gestionnaires de signaux Voici un exemple minimaliste de module de gestionnaire d finit par l utilisateur class MyCallbacks def on_this_ signal self obj data None print this signal happened obj obj def get_handlers halcomp builder useropts return MyCallbacks Maintenant on_this_signal est disponible comme gestionnaire de signal dans arbre des widgets 11 7 4 3 Le protocole get_handlers Si durant l inspection du module Glade VCP trouve une fonction get_handlers Il l appelle de la mani re suivante get_handlers halcomp builder useropts Les arguments sont halcomp Se r f re au composant de HAL en construction builder arbre du widget r sulte de la lecture de la d finition de l UT
202. la commande find home robert linuxcne name ini print Le name est le nom du fichier que vous recherchez et le print indique find d afficher le r sultat dans le terminal Le ini indique find de retourner tous les fichiers portant l extension ini 24 5 5 Rechercher un texte Tapez dans un terminal grep lir texte rechercher x Pour trouver tous les fichiers contenant le texte texte rechercher dans le r pertoire courant tous ses sous r pertoires et en ignorant la casse Le param tre l demande de ne pas afficher les r sultats normalement mais la place d indiquer le nom des fichiers pour lesquels des r sultats auraient t affich s Le param tre i demande d ignorer la casse Le param tre r demande une recherche r cursive qui inclus tous les sous r pertoires dans la recherche Le caract re est un jocker indiquant tous les fichiers 24 5 6 Messages du boot Pour visualiser les messages du boot utilisez la commande dmesg depuis un terminal Pour enregistrer ces messages dans un fichier redirigez les avec dmesg gt dmesg txt Le contenu de ce fichier pourra alors tre copi et coll destination des personnes en ligne qui vous aideront diagnostiquer votre probl me Pour nettoyer le tampon des messages tapez cette commande sudo dmesg c C est utile avant de lancer LinuxCNC pour que ne soit enregistr s que les messages relatifs au fonctionnement courant de LinuxCNC
203. la liste c000 et le deuxi me port raccord par une nappe utilise la premi re adresse b800 Il est alors possible d ouvrir dans l diteur le fichier hal de la machine et d ins rer l adresse trouv e l endroit appropri loadrt hal _parport cfg 0x378 0xc000 we Noter la pr sence des guillemets encadrant les deux adresses ils sont obligatoires d s qu il y a plus d une carte Il est n cessaire galement d ajouter les fonctions de lecture read et d criture write pour la nouvelle carte Par exemple addf parport l read base thread 1 addf parport l write base thread 1 Noter que les valeurs peuvent tre diff rentes de celles de cet exemple Les cartes Netmos sont Plug N Play elles peuvent donc changer leur adressage selon le connecteur PCI dans lequel elles sont plac es Si l installation des cartes PCI de la machine est modifi e ne pas oublier de v rifier leurs adresses avant de lancer LinuxCNC Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 9 193 Chapitre 3 Configuration de LinuxCNC 3 1 Script de lancement LinuxCNC est lanc par le fichier de script linuxcnc nuca foptaonsi lame tiles Avec les options suivantes v verbose informations de fonctionnement d commande d cho l cran pour le d bogage Le fichier de script linuxcnc lit le fichier ini puis lance LinuxCNC La section HAL du fichier ini sp cifie l ordre de chargement de
204. lcicie es gt lt Linuxcnc uses the default compiled in path to the NML configuration file unless overridden see Reading ini file values for an example 13 3 1 linuxcnc stat attributes acceleration returns float default acceleration reflects the ini entry TRAJ DEFAULT_ACCELERATION active_queue returns int namber of motions blending actual_position returns tuple of floats current trajectory position x y za b c u v w in machine units adaptive_feed_enabled returns True False status of adaptive feedrate override 0 1 ain returns tuple of floats current value of the analog input pins angular_units returns string reflects TRAJ ANGULAR_UNITS ini value aout returns tuple of floats current value of the analog output pins axes returns string reflects TRAJ AXES ini value axis returns tuple of dicts reflecting current axis values See The axis dictionary axis_mask returns integer mask of axis available as defined by TRAJ COORDINATES in the ini file Returns the sum of the axes X 1 Y 2 Z 4 A 8 B 16 C 32 U 64 V 128 W 256 block_delete returns integer block delete currently on off command returns string currently executing command current_line returns integer currently executing line int current_vel returns float current velocity in Cartesian space cycle_time returns string reflects TRAJ CYCLE_TIME ini value FIXME is this right debug returns in
205. ler La chaine exemple GEOMETRY XYZBCUVW est pour une machine 5 axes pour laquelle la cin matique d place UVW en coordonn es syst me de l outil et XYZ d place la pi ce en coordonn es syst me L ordre des lettres est important parce qu il donne express ment l ordre dans lequel les diff rentes transformations seront appliqu es Par exemple tourner autour de C puis de B est diff rent de tourner autour de B puis de C La g om trie n a pas d effet sans rotation d axes ARCDIVISION 64 Ajuste la valeur de pr visualisation des arcs Les arcs sont visualis s en les divisant par un nombre de lignes droites un semi cercle est divis en ARCDIVISION de tron ons Les valeurs lev es donnent une meilleure pr cision la pr visualisation mais sont plus lentes et donne un cran plus saccad Les petites valeurs sont moins pr cises mais plus rapides l affichage r sultant est plus rapide La valeur par d faut de 64 signifie qu un cercle de 3 pouces maximum sera affich dans moins de 3 centi mes de mm 03 MDI HISTORY_FILE Le nom du fichier d historique des commandes MDI Si rien n est sp cifi Axis enregistrera cet historique dans axis_mdi_ history dans le r pertoire home de l utilisateur C est tr s pratique dans le cas de multiples configu rations sur la m me machine HELP_FILE tklinucnc txt Chemin du fichier d aide non utilis avec AXIS 3 Dans LinuxCNC 2 4 et
206. les widgets sp cialis s pour interagir avec HAL et LinuxCNC pr sent s ici 11 1 1 PyVCP par rapport GladeVCP Tous les deux supportent la cr ation de panneaux avec des widgets de HAL des l ments utilisateur visuels tels que boutons Leds curseurs etc dont les valeurs sont li es des pins de HAL qui leur tour sont des interfaces pour le reste de LinuxCNC PyVCP Jeu de widgets utilise les widgets Tkinter Cycle de cr ation d interfaces utilisateur diter les fichiers XML Lancer valuer le look Pas de support pour int grer une gestion des v nements d finie par l utilisateur Pas d interaction avec LinuxCNC au del des interactions avec les pins d E S de HAL support es GladeVCP Jeu de widgets Liaison avec le jeu de widgets de GTK Cr ation d interface utilisateur utilise l interface graphique Glade qui est un diteur WYSIWYG Tout changement sur une pin de HAL peut diriger un appel vers une gestion d v nements d finie en Python par Putili sateur Tous les signaux GTK touches appui sur un bouton fen tre E S timer v nements r seau peuvent tre associ s avec la gestion d v nements d finie en Python par Putilisateur Interaction directe avec LinuxCNC ex cution de commandes telle qu initialiser une commande MDI pour appeler un sous programme G code Plusieurs panneaux GladeVCP ind pendants peuvent tourner dans des onglets diff
207. lis e window qui pourrait tre sa seule raison d tre A ce point GladeVCP en a termin avec toutes les configurations le halfile a bien t lanc et GladeVCP est sur le point d entrer dans la boucle principale Gtk 11 7 6 Multiple fonctions de rappel avec le m me nom Dans une classe les noms de m thode doivent tre unique Cependant il est permis d avoir de multiples instances de classe pass es GladeVCP par get_handlers avec des m thodes portant le m me nom Lorsque le signal correspondant survient les m thodes sont appel es dans l ordre dans lequel elles ont t d finies module par module et dans un module dans l ordre des instances de classe retourn get_handlers 11 7 7 Le drapeau GladeVCP U lt useropts gt Au lieu d tendre GladeVCP toutes les options concevables qui pourraient potentiellement tre utilis es par un gestionnaire de classe on peut utiliser le drapeau U lt useroption gt r p titivement si n cessaire Ce drapeau collecte la liste des chaines de lt useroption gt Cette liste est pass e la fonction get_handlers argument useropts Le code est libre d interpr ter ces chaines comme bon lui semble Un utilisation possible serait de les passer la fonction exec de Python dans le get_handlers comme suit debug 0 def get_handlers halcomp builder useropts global debug suppose qu il y a une variable globale pour cmd dans useropts exec cmd in global
208. location for a work that was published at least four years before the Document itself or if the original publisher of the version it refers to gives permission K In any section entitled Acknowledgements or Dedications preserve the section s title and preserve in the section all the substance and tone of each of the contributor acknowledgements and or dedications given therein L Preserve all the Invariant Sections of the Document unaltered in their text and in their titles Section numbers or the equivalent are not considered part of the section titles M Delete any section entitled Endorsements Such a section may not be included in the Modified Version N Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section If the Modified Version includes new front matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document you may at your option designate some or all of these sections as invariant To do this add their titles to the list of Invariant Sections in the Modified Version s license notice These titles must be distinct from any other section titles You may add a section entitled Endorsements provided it contains nothing but endorsements of your Modified Version by various parties for example statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard You may
209. m LinuxCNC t estop all ok iocontrol 0 emc enable in lt classicladder 0 out 00 HE Request E Stop Enable from pyVCP or external source net ext estop reset classicladder 0 in 03 lt pyvcp py reset This line resets the E Stop from LinuxCNC net emc reset estop iocontrol 0 user request enable gt classicladder 0 in 02 This line enables LinuxCNC to unlatch the E Stop in Classic Ladder net emc estop iocontrol 0 user enable out gt classicladder 0 in 01 This line turns on the green indicator when out of E Stop net estop all ok gt pyvcp py es status Next we add the following lines to the panel xml file Note you have to open it with the text editor not the default html viewer lt pyvcp gt lt vbox gt lt label gt lt text gt E Stop Demo lt text gt lt label gt lt led gt lt halpin gt py es status lt halpin gt lt size gt 50 lt size gt lt on_color gt green lt on_color gt zorr Color red lt Q COLEA lt led gt lt checkbutton gt lt halpin gt py estop lt halpin gt lt text gt E Stop lt text gt lt checkbutton gt lt vbox gt lt button gt lt halpin gt py reset lt halpin gt lt text gt Reset lt text gt lt button gt lt pyvcp gt Now start up your config and it should look like this Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 162 193 eS axis ngc AXIS pre 2 3 CV
210. mers replace Timers and Monostables IEC Timers have 2 contacts I input contact Q output contact There are three modes TON TOF TP TON When timer input is true countdown begins and continues as long as input remains true After countdown is done and as long as timer input is still true the output will be true TOF When timer input is true sets output true When the input is false the timer counts down then sets output false TP When timer input is pulsed true or held true timer sets output true till timer counts down one shot The time intervals can be set in multiples of 100ms seconds or minutes There are also Variables for IEC timers that can be read and or written to in compare or operate blocks TMxxx Q timer done Boolean read write TMxxx P timer preset read write TMxxx V timer value read write 18 6 3 TIMERS Represent count down timers This is deprecated and replaced by IEC Timers Timers have 4 contacts E enable input starts timer when true resets when goes false C control input must be on for the timer to run usually connect to E D done output true when timer times out and as long as E remains true R running output true when timer is running The timer base can be multiples of milliseconds seconds or minutes There are also Variables for timers that can be read and or written to in compare or operate blocks Txx R T
211. moyen d importer votre module au d marrage il sera alors li automatiquement au gestionnaire d v nements avec les signaux de widget comme un ensemble dans la description de l diteur Glade 11 7 2 Un exemple ajouter une fonction de rappel en Python Ceci est juste un exemple minimal pour exprimer l id e les d tails sont donn s dans le reste de cette section GladeVCP peut non seulement manipuler ou afficher les pins de HAL il est possible aussi d crire des gestionnaires d v ne ments en Python Ce qui peut tre utilis entre autre pour ex cuter des commandes MDI Voici comment faire crire un module Python comme le suivant et l enregistrer sous le nom handlers py Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 98 193 nhits 0 def on_button_press gtkobj data None global nhits nhits 1 gtkobj set_label hits d nhits Dans Glade d finir un bouton ou un bouton HAL s lectionner l onglet Signal et dans les propri t s GtkButton s lectionner la ligne pressed Entrer on_button_press ici puis enregistrer le fichier Glade Ensuite ajouter l option u handlers py la ligne de commande de gladevcp Si les gestionnaires d v nements son r partis sur plusieurs fichiers ajouter de multiples options u lt pynomfichier gt Maintenant presser le bouton devrait modifier son label car il est d fini dans la fonction de rappel Que fait le drapeau u toutes les fonctions
212. n As shown the sequence has been BO was true making step 2 and 3 active then B1 became true and still is see the pink line through B 1 making step 4 active and step 2 inactive Step 3 is active and waiting for B2 to be true Step 4 is active and is waiting for B3 to be true WOW that was quite a mouthful Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 165 193 Troisi me partie Exemples d utilisation Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 166 193 Chapitre 19 Deuxieme port parallele sur port PCI Lors de l ajout d un deuxi me port parall le plac dans un slot PCI il est indispensable de conna tre son adresse avant de pouvoir Putiliser avec LinuxCNC Pour trouver l adresse de ce port ouvrez un terminal et tapez Lepel v Vous devriez voir quelques choses comme ci dessous parmi la liste du mat riel install en PCI Communication controller NetMos Technology PCI 1 port parallel adapter rev 01 LSI Logic Symbios Logic Unknown device 0010 medium devsel IRQ 11 ports at a800 size 8 ports at ac00 ports at b000 size 8 size 8 ports at b400 size 8 ports at b800 size 8 ports at bc00 size 16 Dans notre cas l adresse tait la premi re nous avons donc modifi le fichier hal pour passer de loadrt hal_parport cfg 0x378 loadrt hal_parport cfg 0x378 0xa800 in Noter les guillemets obligatoires encadrant les
213. n equation For example C0 V gt 9 C0 P is a valid comparison expression while C0 V gt CO P is not a valid expression There is a list of Variables down the page that can be used for reading from and writing to ladder objects When a new compare block is opened be sure and delete the symbol when you enter a compare To find out if word variable 1 is less than 2 times the current value of counter 0 the syntax would be SW1 lt 2x C0 V To find out if S32in bit 2 is equal to 10 the syntax would be SIW2 10 Note Compare uses the arithmetic equals not the double equals that programmers are used to 18 6 7 VARIABLE ASSIGNMENT For variable assignment e g assign this number or evaluated number to this variable xxx there are two math functions MINI and MAXI that check a variable for maximum 0x80000000 and minimum values OxO7FFFFFFF think signed values and keeps them from going beyond When a new variable assignment block is opened be sure to delete the symbol when you enter an assignment To assign a value of 10 to the timer preset of IEC Timer 0 the syntax would be STMO P 10 To assign the value of 12 to s32out bit 3 the syntax would be SQW3 12 Note When you assign a value to a variable with the variable assignment block the value is retained until you assign a new value using the variable assignment block The last value assigned will be restored when LinuxCNC is started The following figure shows an Assi
214. n mode graphique 1 Faites un clic droit sur le bureau et choisissez Cr er un lanceur 2 Tapez un nom tel que diteur dans la zone Nom 3 Entrez gksudo gnome open u dans la zone Commande et validez 4 Glissez un fichier et d posez le sur votre lanceur il s ouvrira alors directement dans l diteur 245 Commandes du terminal 24 5 1 R pertoire de travail Pour afficher le chemin du r pertoire courant dans le terminal tapez pwd 24 5 2 Changer de r pertoire Pour remonter dans le r pertoire pr c dent tapez dans le terminal Gel 4 5 Pour remonter de deux niveaux de r pertoire tapez dans le terminal CORTE Pour aller directement dans le sous r pertoire linuxcnc configs tapez cd linuxcnc configs 24 5 3 Lister les fichiers du r pertoire courant Pour voir le contenu du r pertoire courant tapez 1s Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 180 193 24 5 4 Trouver un fichier La commande find peut tre un peu d routante pour le nouvel utilisateur de Linux La syntaxe de base est find r pertoire_de_d part lt parametres gt lt actions gt Par exemple pour trouver tous les fichiers ini dans votre r pertoire linuxcnc utilisez d abord la commande pwd pour trouver le r pertoire courant Ouvrez un nouveau terminal et tapez pwd il vous est retourn par exemple le r sultat suivant home robert Avec cette information vous pouvez taper par exemple
215. n ou orientation atteinte Cet tat est indiqu par la d sactivation des broches spindle orient et spindle locked La pin spindle orient mode refi te le param tre P du M19 ce qui sera interpr t comme ci dessous 0 rotation quel que soit le sens pour petit mouvement angulaire d faut 1 rotation toujours en sens horaire m me direction qu avec M3 2 rotation toujours en sens anti horaire m me direction qu avec M4 Il est possible d utiliser le composant de HAL orient qui fournit une boucle de commande PID bas e sur la position du codeur de broche spindle orient angle et sur spindle orient mode Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 37 193 7 1 3 Param tres Beaucoup de ces param tres servent d aide au d boguage et sont sujets aux changements ou au retrait tout moment motion command handler time s32 RO motion command handler tmax 32 RW motion controller time s32 RO motion controller tmax s32 RW motion debug bit 0 bit RO Utilis pour le d boguage motion debug bit 1 bit RO Utilis pour le d boguage motion debug float 0 float RO Utilis pour le d boguage motion debug float 1 float RO Utilis pour le d boguage motion debug float 2 float RO Utilis pour le d boguage motion debug float 3 float RO Utilis pour le d boguage motion debug s32 0 s32 RO Utilis pour
216. n sous programme O word dans une commande MDI et passer la valeur des pins de HAL comme param tres actuels Un exemple de fichier UI est dans configs gladevcp mdi command example oword sub ui Placer configs gladevcp nc_files oword ngc de sorte qu Axis puisse le trouver et lancer gladevcp owordsub ui depuis un terminal Ce qui devrait ressembler cel Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 96 193 a oword spin 16 000000 G x O checkbutton oword check 0 000000 1 x togglebutton aL oword toggle 1 000000 x mm oword scale 80 500000 NL x run O word sub 80 5 11 6 7 Pr paration d une Action_MDI L interpr teur de G code de LinuxCNC dispose d un simple jeu de variables globales comme la vitesse travail la vitesse broche le mode relatif absolu et autres Si on utilise des commandes G code ou des sous programmes O word certaines de ces variables doivent tre modifi es par la commande ou le sous programme Par exemple un sous programme de sonde a tr s probablement besoin de d finir la vitesse d avance une valeur tr s faible Sans autres pr cautions le r glage de vitesse pr c dent serait cras par la valeur du sous programme de sonde Pour faire avec ce surprenant autant qu ind sirable effet de bord produit par un sous programme O word ou un G code ex cut avec une bascule Action MDI le gestionnaire pr MDI et post MDI doit tre associ avec une bascule Action MDI
217. nable pend counts axis 0 jog counts lt encoder 0 counts PAE Ls S parport lt PAra a ParporL is ao cie pend counts axis 1 jog counts pend counts axis 2 jog counts Pan ZA son OS Sabia Pan OA Sa 0 3 Ja UC Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 173 193 Chapitre 22 Broche avec variateur GS2 22 1 Exemple Cet exemple montre les connexions demand es pour utiliser un variateur de fr quence fourni par la soci t Automation Direct pour piloter une broche La direction de la broche et sa vitesse seront contr l es par LinuxCNC L utilisation du composant GS2 est tr s simple r gler Une configuration compl te peut tre r alis e par l assistant Stepconf Bien v rifier que les pins Spindle CW et Spindle PWM sont inutilis es sur la page de r glage du port parall le Placer les lignes suivantes dans le fichier custom hal pour connecter LinuxCNC au GS2 et avoir le contr le de celui ci depuis l interface utilisateur Charger le composant utilisateur pour le variateur variateur loadusr Wn spindle vfd gs2_vfd n spindle vfd connecter la pin de direction au variateur net gs2 fwd spindle vfd spindle fwd lt motion spindle forward connecter la pin de Marche Arr t au variateur net gs2 run spindle vfd spindle on lt motion spindle on connecter la pin indiquant que la consigne vitesse est atteinte net gs2 at speed motion spindle at speed lt spindle vfd at speed
218. nce Les composants mux4 et encoder sont d crits dans le manuel de HAL et dans les man pages Manivelle de jog loadrt encoder num_chan 1 loadrt mux4 count 1 addf encoder capture position servo thread addf encoder update counters base thread addf mux4 0 servo thread Mode position Chaque cran de manivelle provoque un pas calibr la dur e du mouvement total peut d passer la dur e de rotation de la manivelle C est le mode par d faut setp axis N jog vel mode 0 Mode vitesse L axe s arr te quand la manivelle s arr te m me si la pas de jog est incomplet D commenter la ligne suivante pour obtenir ce mode de fonctionnement et commenter le mode position setp axis N jog vel mode 1 Chaque axe est ajust ind pendemment des autres Tailles des pas de jog setp mux4 0 in0 0 1 setp mux4 0 in1 0 01 setp mux4 0 in2 0 001 S lecteur de taille des pas du jog net scalel mux4 0 sel0 lt parport 1 pin 09 in net scale2 mux4 0 sell lt parport 1 pin 10 in net pend scale axis 0 jog scale lt mux4 0 out Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 172 193 net pend scale axis 1 jog scale net pend scale axis 2 jog scale Signaux du codeur E 12 mpg a encoder 0 phase A 3 mpg b encoder 0 phase B S lecteur d axe net net Por Hoe net net mpg x axis 0 jog enable mpg y axis 1 jog enable mpg z axis 2 jog e
219. nd another switch to tell you when the turret is in a lockable position To keep track of the actual tool number one must count how many positions past home you are We will use Classic Ladder s counter block CO The counter is preset to 1 when RESET is true The counter is increased by one on the rising edge of INDEX We then COMPARE the counter value C0 V to the tool number we want in the example only checks for tool 1 and 2 are shown We also OPERATE the counter value to a word variable WO that you can assume is mapped on to a s32 out HAL pin so you can let some other HAL component know what the current tool number is In the real world another s32 in pin would be used to get the requested tool number from LinuxCNC You would have to load Classic Ladder s real time module specifying that you want s32 in and out pins See loading options above display turret sample 18 11 6 Sequential Example This Example is not complete yet This is a sequential program When the program is first started step one is active Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 164 193 Then when BO0 is true steps 2 and 3 are then active and step one is inactive Then when B1 and or B2 are true step 4 and or 5 are active and step 2 and or 3 are inactive Then when either B3 OR B4 are true step 6 is true and steps 4 and 5 are inactive Then when BS is true step 1 is active and step 6 is inactive and it all starts agai
220. ndex si elle est pr sente Cette vitesse est plus lente que celle de la phase de recherche initiale afin d am liorer la pr cision Si HOME_SEARCH_VEL et HOME_LATCH_VEL sont de m mes signes la phase de recherche pr cise s effectuera dans le m me sens que la phase de recherche initiale Dans ce cas le mobile d gagera d abord le contact en sens inverse avant de revenir vers lui la vitesse d finie ici L acquisition de l origine machine se fera sur la premi re impulsion de changement d tat du contact Si HOME_SEARCH_VEL et HOME_LATCH_VEL sont de signes oppos s la phase de recherche pr cise s effectuera dans le sens oppos celui de la recherche initiale Dans ce cas LinuxCNC d gagera le contact la vitesse d finie ici L acquisition de l origine machine se fera sur la premi re impulsion de changement d tat du contact lors de son d gagement Si HOME_SEARCH_VEL est z ro signifiant qu il n y a pas de contact et que HOME _LATCH_VEL et diff rente de z ro le mobile continuera jusqu la prochaine impulsion d index l acquisition de l origine machine se fera cet position Si HOME_SEARCH_VEL est diff rent de z ro et que HOME_LATCH_ VEL est gale z ro c est une cause d erreur op ration de prise d origine chouera La valeur par d faut est z ro Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 27 193 4 3 3 HOME_IGNORE_LIMITS Peut contenir les valeurs YES ou NO
221. nt gt lt width gt 5 lt width gt lt label gt lt label width 2 gt lt rectled gt lt halpin gt rev led lt halpin gt lt height gt 30 lt height gt lt width gt 30 lt width gt lt on_color gt red lt on_color gt lt off_color gt green lt off_color gt lt rectled gt lt vbox gt lt hbox gt lt pyvcp gt L image ci dessous montre notre panneau PyVCP en fonctionnement Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 75 193 EX axis Nge AXIS pre 2 3 CVS HEAD on gs2 ell lle File Machine View Help ClO SF e p imla SeIZNKY PS Manual Control F3 MDI FS Preview DRO Axis A A J Continuous Home Axis Touch Of Spindie Stop ai On FWD REV E E E Feed Overnde 100 Spindle Overnde 100 Jog Speed 5 6 in min Max Velocity 60 infmin AXIS splash g code Not intended for actual willing mi 1 SH 3 00 n 60 FEED G2t Character E sel ON No tool Position Relative Actual FIGURE 10 5 Panneau pour GS2 10 5 2 Les connections Pour qu il fonctionne il est n cessaire d ajouter le code suivant au fichier custom_postgui hal il r alise les connections entre PyVCP et LinuxCNC affiche le compte tours calcul bas sur freq rpm par hz loadrt mult2 addf mult2 0 servo thread Seco mbllic2 cho 23 79 net cypher_speed mult2 0 in0 lt spindle vfd frequency out net speed_out
222. nt r gl pour lancer toutes les communications avec un seul ordinateur peut tre modifi pour communiquer entre plusieurs ordinateurs 1 Ne pas confondre un diteur de texte et un traitement de texte Un diteur de texte comme gedit ou kwrite produisent des fichiers uniquement en texte Les lignes de textes sont s par es les unes des autres Un traitement de texte comme Open Office produit des fichiers avec des paragraphes des mises en formes des mots Ils ajoutent des codes de contr les des polices de formes et de tailles vari es etc Un diteur de texte n a rien de tout cela Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 11 193 linuxcncrc Ce fichier enregistre des informations sp cifiques l utilisateur il a t cr pour enregistrer le nom du r pertoire lorsque l utilisateur choisit sa premi re configuration de LinuxCNC Les l ments avec le rep re hal sont utilis s seulement pour les fichiers de HAL en exemples C est une bonne convention D autres l ments sont utilis s directement par LinuxCNC et doivent toujours avoir la section et le nom donn l item 3 3 Double passe TWOPASS LinuxCNC 2 5 supporte le processus dit TWOPASS des fichiers de configuration hal ce qui aide la modularit des fichiers hal et am liore leur lisibilit les fichiers Hal sont sp cifi s dans le fichier ini de LinuxCNC dans l instance HAL sous la forme HAL HALFILE nomdufichier
223. nte donne le d tail de ces s quences Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 25 193 Direction de recherche Positive Direction de d tection N gative Utilisation index D calage d origine Position de l origine Direction de recherche Positive Direction de d tection Positive Utilisation index D calage d origine Position de l origine Rel chement du contact os du contact Non 3 000 1 000 d 1 000 3 000 a aa du contact d origine vitesse de recherche Prise d origine machine au rel chement vitesse de d tection D placement la position de l origine vitesse rapide ene du contact pEr enchement du contact m Direction de recherche Positive Direction de d tection N gative Utilisation index D calage d origine Position de l origine Direction de recherche Positive Direction de d tection Positive Utilisation index D calage d origine Position de l origine Recherche du contact d origine vitesse de recherche Retour sur contact jusqu au rel chement vitesse de recherche Non 3 000 Prise d origine machine l enclenchement vitesse de d tection 1 000 7 o D placement la position de l origine vitesse rapide 1 000 3 000 Relachement du contact sd du contact Recherche du contact d origine vitesse de recherche Prise d origine machine la 1 re impulsion d index Oui apr s rel chement du contact vitesse de d tection ui 3 000 A AS
224. nteger line the RS274NGC interpreter is currently reading rotation_xy returns float current XY rotation angle around Z axis settings returns tuple of 3 floats current interpreter settings settings 0 sequence number settings 1 feed rate settings 2 speed spindle_brake returns integer value of the spindle brake flag spindle_direction returns integer rotational direction of the spindle forward 1 reverse 1 spindle_enabled returns integer value of the spindle enabled flag spindle_increasing returns integer unclear spindle_override_enabled returns integer value of the spindle override enabled flag spindle_speed returns float spindle speed value rpm gt 0 clockwise lt 0 counterclockwise spindlerate returns float spindle speed override scale rapidrate returns float rapid override scale state returns integer current command execution status One of RCS_DONE RCS_EXEC RCS_ERROR task_mode returns integer current task mode one of MODE_MDI MODE_AUTO MODE_MANUAL task_paused returns integer task paused flag task_state returns integer current task state one of STATE_ESTOP STATE_ESTOP_RESET STATE_ON STATE_OFF tool_in_spindle returns integer current tool number tool_offset returns tuple of floats offset values of the current tool tool_table returns tuple of tool_results list of tool entries Each entry is a sequence of the following fields
225. ols names signal connected signal connected signal connected signal connected signal connected signal connected signal connected signal connected signal connected signal connected FIGURE 18 5 Symbol Names window This is a list of symbol names to use instead of variable names to be displayed in the section window when the display symbols check box is checked You add the variable name remember the symbol and capital letters symbol name If the variable can have a HAL signal connected to it I Q and W if you have loaded s32 pin with the real time module then the comment section will show the current HAL signal name or lack thereof Symbol names should be kept short to display better Keep in mind that you can display the longer HAL signal names of I Q and W variable by clicking on them in the section window Between the two one should be able to keep track of what the ladder program is connected to Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 137 193 18 5 5 The Editor window Editor Se F FIGURE 18 6 Editor Window Add adds a rung after the selected rung Insert inserts a rung before the selected rung Delete deletes the selected rung Modify opens the selected rung for editing Starting from the top left image Object Selector Eraser N O Input N C Input Rising Edge Input Falling Edge Input Horizontal Connection Vertical Connecti
226. olumn variables B5 to B19 would be displayed The check boxes allow you to set and unset B variables manually as long as the ladder program isn t setting them as outputs Any Bits that are set as outputs by the program when Classic Ladder is running can not be changed and will be displayed as checked if on and unchecked if off Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 135 193 Watch Window pai memory owo Jo oe v FIGURE 18 4 Watch Window The Watch Window displays variable status The edit box beside it is the number stored in the variable and the drop down box beside that allow you to choose whether the number to be displayed in hex decimal or binary If there are symbol names defined in the symbols window for the word variables showing and the display symbols checkbox is checked in the section display window symbol names will be displayed To change the variable displayed type the variable number e g W2 if the display symbols check box is not checked or type the symbol name if the display symbols checkbox is checked over an existing variable number name and press the Enter Key Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 136 193 18 5 4 Symbol Window Variable 010 voll 12 Yol3 Yol4 YolS volg Sl GIE ol Symbol name lO Gall Yol2 vala volg Sols valg Sl vola vala HAL signal Comment na no no no no no no no no no Symb
227. omber le param tre self noter _ cette m thode n est pas visible dans 1 arbre du widget def _on_example_trigger_change self pin userdata None print pin value changed to pin get 11 7 12 Ajout de timers Depuis que GladeVCP utilise les widgets Gtk qui se rattachent sur les classes de base GObject la totalit des fonctionnalit s de la glib est disponible Voici un exemple d horloge de fonction de rappel def _on timer tick self userdata None return True pour relancer l horloge return False pour un monostable d monstration d une horloge lente en t che de fond la granularit est de une seconde pour une horloge rapide granularit 1 ms utiliser cela glib timeout_add 100 self on timer tick userdata 10Hz glib timeout_add_seconds 1 self _on_timer_tick Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 103 193 11 7 13 Exemples et lancez votre propre application GladeVCP Visiter linuxcnc configs gladevcp pour des exemples pr t l emploi et points de d part de vos propres projets 11 8 Questions amp r ponses 1 Je re ois un v nement unmap inattendu dans ma fonction de gestionnaire juste apr s le d marrage qu est ce que c est C est la cons quence d avoir dans votre fichier d UI Glade la propri t de la fen tre window1 visible fix e True il y a changement de parents de la fen tre Glade VCP dans Axis ou touchy L arbre de widget de Glade V
228. omposant nomm btnpanel Les param tres pyvep c font que PyVCP nomme le panneau Les pins de HAL de panell xml seront nomm es binpanel lt pin name gt Les pins de HAL de panel2 xml seront nomm es sppanel lt pin name gt Bien s assurer qu aucune ligne loadusr ne fasse d j appel une de ces pins Py VCP 10 3 Boutons de Jog Dans cet exemple nous allons cr er un panneau PyVCP avec 3 boutons utilisables pour d placer en manuel les axes X Y et Z Cette configuration sera r alis e avec l assistant Stepconf qui g n rera la configuration de la machine Premi rement nous lancons l assistant Stepconf et le configurons pour la machine ensuite dans la page Advanced Configuration Options nous Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 66 193 effectuons les s lections pour ajouter un panneau PyVCP vierge comme indiqu sur l image suivante Pour cet exemple nous avons nomm la configuration pyvcp_xyz sur la page Basic Machine Information de l assistant Stepconf a EMG Stepper Mill Contiguration Advanced Configuration Options Include HalUl user interface component Include custom PyVCP GUI panel Pyvcp Options O Spindle speed tool position display O XYZ buttons uses HalUl Existing custom program Allow connections to HAL O Include Classicladder PLC PLC Options FIGURE 10 1 Assistant de configuration XYZ D assistant Stepconf Wizard va cr er plusieurs
229. on Long Horizontal Connection Timer IEC Block Counter Block Compare Variable Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 138 193 Old Timer Block Old Monostable Block These have been replaced by the IEC Timer COILS N O Output N C Output Set Output Reset Output Jump Coil Call Coil Variable Assignment A short description of each of the buttons Selector allows you to select existing objects and modify the information Eraser erases an object N O Contact creates a normally open contact It can be an external HAL pin I input contact an internal bit coil B contact or a external coil Q contact The HAL pin input contact is closed when the HAL pin is true The coil contacts are closed when the corresponding coil is active Q2 contact closes when Q2 coil is active N C Contact creates a normally closed contact It is the same as the N O contact except that the contact is open when the HAL pin is true or the coil is active Rising Edge Contact creates a contact that is closed when the HAL pin goes from False to true or the coil from not active to active Falling Edge Contact creates a contact that is closed when the HAL pin goes from true to false or the coil from active to not Horizontal Connection creates a horizontal connection to objects Vertical Connection creates a vertical connection to horizontal lines Horizontal Running Connection creates a horizontal connec
230. onction de l amplitude du signal d erreur et en fonction du temps Il donne des r sultats plus pr cis et un contr le plus stable Il est montr math matiquement qu une boucle PID donne un contr le plus stable qu un contr le proportionnel seul et qu il est plus pr cis que ce dernier qui laissera le proc d osciller 16 1 1 Les bases du contr le en boucle Intuitivement une boucle PID essaye d automatiser ce que fait un op rateur muni d un multim tre et d un potentiom tre de contr le L op rateur lit la mesure de sortie du proc d affich e sur le multim tre et utilise le bouton du potentiom tre pour ajuster l entr e du proc d l action jusqu stabiliser la mesure de la sortie souhait e affich e sur le multim tre Un boucle de r gulation est compos e de trois parties 1 La mesure effectu e par un capteur connect un proc d par exemple un codeur 2 La d cision prise par les l ments du r gulateur 3 L action sur le dispositif de sortie par exemple un moteur Quand le r gulateur lit le capteur il soustrait la valeur lue la valeur de la consigne et ainsi obtient l erreur de mesure Il peut alors utiliser cette erreur pour calculer une correction appliquer sur la variable d entr e du proc d l action de sorte que cette correction tende supprimer l erreur mesur e en sortie de proc d Dans une boucle PID la correction partir de l erreur est
231. ont a v rifier et a ajuster Il peut aussi y avoir des pertes de pas aux changements de direction Si le moteur cale compl tement il est aussi possible que les param tres MAX_ACCELERATION ou MAX_VELOCITY aient des valeurs trop lev es Le programme suivant v rifie que la configuration de l axe Z est correcte Copiez le programme dans le r pertoire de votre linuxcnc nc_files nommez le TestZ ngc ou similaire Initialisez votre machine avec Z 0 000 sur le dessus de la table Chargez et lancez le programme Il va effectuer 200 mouvements d aller et retour entre 10 00 et 30 00mm Si vous avez un probl me de configuration la position de l axe Z affich e la fin du programme soit 10 00mm ne correspondra pas la position mesur e Pour tester un autre axe remplacez simplement le Z des GO par le nouvel axe Faire Z 0 au dessus de la table avant de d marrer Ce programme teste les pertes de position en Z msg test 1 de la configuration de l axe Z G21 1000 100 boucle 100 fois cette boucle comporte un d lai apr s chaque mouvement test des r glages d acc l ration et de vitesse 0100 while 1000 GO Z30 000 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 177 193 G4 P0 250 GO Z10 000 G4 P0 250 FLOOO FALOOO L 0100 endwhile msg test 2 de la configuration de 1 axe Z pressez S pour continuer M1 un arr t ici 1000 100 boucle 100 fois Les boucles suivantes n ont
232. opy modify sublicense or distribute the Document is void and will automatically terminate your rights under this License However parties who have received copies or rights from you under this License will not have their licenses terminated so long as such parties remain in full compliance 10 FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new revised versions of the GNU Free Documentation License from time to time Such new versions will be similar in spirit to the present version but may differ in detail to address new problems or concerns See http www gnu org copyleft Each version of the License is given a distinguishing version number If the Document specifies that a particular numbered version of this License or any later version applies to it you have the option of following the terms and conditions either of that specified version or of any later version that has been published not as a draft by the Free Software Foundation If the Document does not specify a version number of this License you may choose any version ever published not as a draft by the Free Software Foundation ADDENDUM How to use this License for your documents To use this License in a document you have written include a copy of the License in the document and put the following copyright and license notices just after the title page Copyright c YEAR YOUR NAME Permission is granted to copy distribute and or modify this
233. orts Pour ceux qui construisent leur mat riel il est facile et conomique d augmenter le nombre d entr es sorties d un PC en lui ajoutant une carte PCI fournissant un ou deux ports parall les suppl mentaires Faire suivre ces ports d une couche d opto Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 8 193 isolation est utile pour viter les courts circuits pouvant d truire la carte voir m me toute la carte m re LinuxCNC supporte un maximum de 8 ports parall les Certaines parmi les bonnes cartes parall les sont base de chipset Netmos Elles fournissent un signal 5V bien propre elles fournissent un ou deux ports parall les Pour trouver les adresses d entr es sorties de ces cartes ouvrir une console et utiliser la commande en ligne FSC Rechercher ensuite dans la liste de mat riel fourni le nom du chipset de la nouvelle carte dans cette exemple c est l entr e NetMos Technology pour une carte deux ports 0000 01 0a 0 Communication controller Netmos Technology PCI 9815 Multi 1 0 Controller rev 01 Subsystem LSI Losgic Symbios Logic 2POS 2 port parallel adapter Flags medium devsel IRO 5 1 0 ports at b800 size 8 1 0 ports at bc00 size 8 1 0 ports at c000 size 8 1 0 ports at c400 size 8 I O ports at c800 size 8 1 0 ports at cc00 size 16 Apr s exp rimentation il se trouve que le premier port incorpor la carte utilise la troisi me adresse de
234. p STEP AND TRANSITION Combined for convenience TRANSITION LINK DOWNSIDE splits the logic flow to one of two possible lines based on which of the next steps is true first Think OR logic TRANSITION LINK UPSIDE combines two OR logic lines back in to one PASS THROUGH LINK DOWNSIDE splits the logic flow to two lines that BOTH must be true to continue Think AND logic PASS THROUGH LINK UPSIDE combines two concurrent AND logic logic lines back together JUMP LINK connects steps that are not underneath each other such as connecting the last step to the first COMMENT BOX used to add comments To use links you must have steps already placed Select the type of link then select the two steps or transactions one at a time It takes practice With sequential programming The variable Xxxx eg XS is used to see if a step is active The variable Xxxx V eg XS5 V is used to see how long the step has been active The X and X v variables are use in LADDER logic The variables assigned to the transitions eg B control whether the logic will pass to the next step After a step has become active the transition variable that caused it to become active has no control of it anymore The last step has to JUMP LINK back only to the beginning step 18 9 Modbus Things to consider Modbus is a userspace program so it might have latency issues on a heavily laden computer Modbus is not really suited
235. plan de l espace articulation l actuateur actuel de la machine est trivial C est un simple plan 1 1 pos gt tran x joints 0 pos Eran y Sin Esa e Pos Etrant 2 sa Orme sue e pos gt a joints 3 pos gt b joints 4 Dose Jaimes 1 Le mot axes est aussi commun ment et incorrectement utilis propos des machines CNC il fait r f rence aux directions des mouvements de la machine 2 Cin matique une fonction deux voies pour transformer un espace Cart sien en espace articulations Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 118 193 Dans l extrait de code ci dessus nous pouvons voir comment le plan est fait la position X est identique avec la articulation 0 Y avec la articulation 1 etc Nous nous r f rons dans ce cas 4 une cin matique directe une transformation avant tandis que dans l extrait de code suivant il est fait r f rence une cin matique inverse ou une transformation inverse Jotas 101 ECS cran Jormes L AOS cran y Joines leli pes tran z joints 3 pos gt a joints 4 pos gt b JONES ISA OS Comme on peut le voir c est assez simple de faire la transformation d une machine cin matique banale ou Cart sienne Cela devient un peu plus compliqu si il manque un axe la machine gt 14 3 Cin matiques non triviales Il peut y avoir un certain nombre de types de configurations de machine robots puma scara hexapodes etc
236. plus de d lai en fin de mouvements test des r glages des temps de maintien des pilotes et les r glages d acc l ration max 0101 while 1000 GO 230 000 GO 210 000 1000 1000 1 0101 endwhile msg Fin Z doit tre a 10mm au dessus de la table M2 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 178 193 Chapitre 24 Petite FAQ Linux Voici quelques commandes et techniques de base pour l utilisateur d butant sous Linux Beaucoup d autres informations peuvent tre trouv es sur le site web de LinuxCNC ou dans les man pages 24 1 Login automatique Quand vous installez LinuxCNC avec le CD Live Ubuntu par d faut vous devez passer par la fen tre de connexion chaque d marrage du PC Pour activer le login automatique ouvrez le menu Syst me Administration Fen tre de connexion Si l installation est r cente la fen tre de connexion peut prendre quelques secondes pour s ouvrir Vous devez entrer le mot de passe utilis pour l installation pour acc der la fen tre des pr f rences Ouvrez alors l onglet S curit cochez la case Activer les connexions automatiques et saisissez votre nom d utilisateur ou choisissez en un dans la liste d roulante Vous tes maintenant dispens de la fen tre de connexion 24 2 Les Man Pages Les Man pages sont des pages de manuel g n r es automatiquement le plus souvent Les Man pages existent pour quasiment tous les programmes et l
237. portement par d faut ASTUCE Si vous trouvez que certaines parties de votre application GladeVCP sont gris es insensible v rifiez que les pins d un conteneur ne soient pas inutilis es 11 5 9 Les Leds La Led hal simule un vrai indicateur Led Elle a une seule pin d entr e BIT qui contr le son tat ON ou OFF Les Leds ont quelques propri t s pour contr ler leur aspect on_color Une chaine d finissant la couleur ON de la Led Peut tre tout nom valide de gtk gdk Color Ne fonctionne pas sous Ubuntu 8 04 off_color Un chaine d finissant la couleur OFF de la Led Peut tre tout nom valide de gtk gdk Color ou la valeur sp ciale dark dark signifie que la couleur OFF sera fix e 0 4 valeur de la couleur ON Ne fonctionne pas sous Ubuntu 8 04 pick_color_on pick_color_ off Couleurs pour les tats ON et OFF peuvent tre repr sent es par une chaine comme RRRRGGGGBBBB Ces propri t s optionnelles ont la pr c dence sur on_color et off_ color led_size Rayon de la Led pour une Led carr e 1 2 c t led_shape Forme de la Led Shape Les valeurs permises sont 0 pour ronde pour ovale et 2 pour carr e led_blink_rate Si utilis e et que la Led est ON alors la Led clignotera La fr quence du clignotement est gal la valeur de led_blink_ rate sp cifi e en millisecondes Comme un widget d entr e la Led aussi supporte le hal pin changed signal Si vous voulez avoir une notification dans vo
238. ppel hal pin changed Voir la section sur les Widgets HAL pour d autres d tails 11 7 4 Mod le de programmation L approche globale est la suivante Concevoir l interface graphique avec Glade fixer les gestionnaires de signaux associ s aux widgets action crire un module Python qui contient des objets appelables voir gestionnaire de mod les plus loin Passer le chemin du modules gladevcp avec l option u lt module gt gladevcp importe le module inspecte les gestionnaires de signaux et les connecte l arbre des widgets La boucle principale d v nements est ex cut e 11 7 4 1 Mod le du gestionnaire simple Pour des t ches simple il est suffisant de d finir des fonctions nomm es apr s les gestionnaires de signaux de Glade Elles seront appel es quand l v nement correspondant se produira dans l arbre des widgets Voici un exemple tr s simple il suppose que le signal pressed d un bouton Gtk ou d un bouton HAL est li une fonction de rappel appel e on_button_press nhits 0 def on_button_ press gtkobj data None global nhits wales q i gtkobj set_label hits Sd nhits Ajouter cette fonction dans un fichier Python et le lancer avec Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 99 193 gladevcp u lt myhandler gt py mygui ui Noter que la communication entre les gestionnaires doit passer par des variables globales qui s adaptent ma
239. pulsion et l impulsion de changement de direction est de 5 16 21us et nous n avons pas craindre que la Gecko parte dans la mauvaise direction en raison de la latence Si l ordinateur a une latence de 115 alors la combinaison d une p riode de base de 16s et d une valeur de dirhold de 2 garanti que nous serons toujours dans le respect des d lais exig s par la Gecko Pour les pas normaux sans changement de direction l augmentation de la valeur de dirhold n aura aucun effet Il faudra deux p riodes d un total de 32us pour faire un seul pas et nous avons la m me fr quence de 31250 pas par seconde que nous avions eu avec la Xylotex Le temps de latence de 11 us utilis dans cet exemple est tr s bon Si vous travaillez par le biais de ces exemples avec des latences plus grandes comme 20 ou 25us la fr quence de pas la plus grande la fois pour la Xylotex et la Gecko sera plus faible Mais les m mes formules sont applicables pour calculer un BASE_ PERIOD optimal et pour r gler dirhold ou d autres param tres du g n rateur de pas 15 1 5 Pas de secret Pour un syst me moteurs pas pas avec g n rateur de pas logiciel rapide et fiable vous ne pouvez pas deviner la p riode et les autres param tres de configuration Vous devez faire des mesures sur votre ordinateur et faire les calculs qui garantirons les meilleurs signaux dont les moteurs ont besoin Pour rendre le calcul plus facile j ai cr une feuille de
240. put will subtract one from the count E under flow output will be true when the count rolls over from 0 to 9999 D done output will be true when the count equals the preset F overflow output will be true when the count rolls over from 9999 to 0 The up and down count contacts are edge sensitive meaning they only count when the contact changes from false to true or off to on if you prefer The range is 0 to 9999 There are also Variables for counters that can be read and or written to in compare or operate blocks Cxx D Counter xx done Boolean read only Cxx E Counter xx empty overflow Boolean read only Cxx F Counter xx full overflow Boolean read only Cxx V Counter xx current value integer read or write Cxx P Counter xx preset integer read or write 18 6 6 COMPARE For arithmetic comparison Is variable XXX to this number or evaluated number The compare block will be true when comparison is true you can use most math symbols standard math symbols lt less than gt greater than lt less or equal gt greater or equal lt gt not equal grouping exponent modulus amp and or ABS absolute MOY French for average AVG average Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 142 193 For example ABS W2 1 MOY W1 W2 lt 3 No spaces are allowed in the compariso
241. que ajuste tous ses arguments leur propre valeur une position d origine connue Quand elle est appel e cette position doit tre ajust e quand elle est connue comme valeurs initiales par exemple depuis un fichier INI Si la prise d origine de la cin matique peut accepter des points de d part arbitraires ces valeurs initiales doivent tre utilis es int rtapi_app_main void void rtapi_app_exit void Il s agit des fonctions standards d installation et de la d sinstallation des modules RTAPI Quand ils sont contenus dans un seul fichier source les modules de la cin matique peuvent tre compil s et install s par comp Voir la manpage comp 1 pour d autres informations Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 121 193 Chapitre 15 R glages des pas a pas 15 1 Obtenir le meilleur pilotage logiciel possible Faire g n rer les impulsions de pas au logiciel pr sente un gros avantage c est gratuit Quasiment chaque PC dispose d un port parall le capable de sortir sur ses broches les signaux de pas g n r s par le logiciel Cependant les g n rateurs d impulsions logiciels ont aussi quelques inconv nients La fr quence maximum des impulsions est limit e Les impulsions g n r es sont irr guli res cause du bruit Elles sont sujettes la charge du CPU Ce chapitre pr sente certaines mesures qui vous aideront obtenir les meilleurs r sultats du logiciel
242. r mettez la ligne suivante dans la section RS274NGC du fichier ini RS274NGC_STARTUP_CODE G18 La ligne de commande ci dessus peut tre remplac es par des G codes plac s dans le pr ambule du programme G code 5 2 R glages INI Les r glages du fichier ini suivants sont n cessaires dans Axis en mode tour en remplacement ou ajout au fichier ini normal DISPLAY DISPLAY axis ATHE 1 TRAJ AXES 3 COORDINATES X Z AXIS_0 PSE D Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 30 193 Chapitre 6 Fichiers TCL pour HAL Le langage de halcmd excelle pour sp cifier des composants et des connexions mais il n offre aucune possibilit de calcul Par cons quent les fichiers ini sont limit s en clart et n ont pas la concision qu ils pourraient avoir avec un langage de haut niveau Haltcl fourni un moyen facile d utiliser les scripts tcl et leurs fonctions pour les calculs les boucles les branchements les proc dures etc dans les fichiers ini Pour utiliser cette fonctionnalit il est n cessaire d utiliser le langage TCL ainsi que l extension tcl pour les fichiers de HAL L extension tcl est comprise par le script principal linuxcnc qui traite les fichiers ini Les fichiers haltcl sont identifi s dans la section HAL des fichiers ini comme les fichiers hal Exemple HAL HALFILE fichier _ conventionnel hal HALFILE fichier tcl tcl
243. r plusieurs composants Glade VCP en parall le avec des noms de modules de HAL diff rents le m lange des configurations est galement possible Par exemple un panneau sur le c t droit et un ou plusieurs en onglets pour des parties d interface moins souvent utilis es 11 2 1 Description de l exemple de panneau Pendant qu Axis est en marche explorons Afficher configuration de HAL dans lequel nous trouvons le composant de HAL gladevcp et dont nous pouvons observer la valeur des pins pendant l interaction avec les widgets du panneau La configuration de HAL peut tre trouv e dans configs gladevcp manual example hal Usage des deux cadres en partie basse Le panneau est configur pour que quand Arr t d Urgence est d sactiv le cadre Settings s active et mette la machine en marche ce qui active a son tour le cadre Commandes du dessous Les widgets de HAL du cadre Settings sont li s aux Leds et labels du cadre Status ainsi qu au num ros de l outil courant et celui de l outil pr par Les utiliser pour bien voir leur effet L ex cution des commandes T lt num ro d outil gt et M6 dans la fen tre du MDI aura pour effet de changer les num ros de l outil courant et de I outil pr par dans les champs respectifs Les boutons du cadre Commandes sont des widgets d action MDI Les presser ex cutera une commande MDI dans I interpr teur Le troisi me bouton Execute Oword subroutine est un exemple avanc
244. r substitution de texte dans les fichiers hal en utilisant la forme SECTION ITEM Les m mes valeurs de fichiers ini sont accessibles dans les fichiers tcl sous la forme de tableau de variables globales SECTION ITEM Par exemple un item de fichier ini comme AXIS_0 MAX_VELOCITY 4 est exprim comme AXIS_OJMAX_VELOCITY dans les fichiers hal pour halemd et comme AXIS_0 MAX_VELOCITY dans les fichiers tcl pour haltcl 6 4 Conversion des fichiers hal en fichiers tcl Les fichiers hal existants peuvent tre convertis manuellement en fichiers tcl en les ditant pour adapter les diff rences mention n es pr c demment Ce processus peut tre automatis a l aide de scripts de conversion proc dant ces substitutions SECTIONS SS ECHO NI NE M gets gt hal gets list IAS 6 5 Notes propos de haltcl Dans haltcl la valeur de l argument pour les commandes sets et setp est implicitement trait e comme une expression dans le langage Tel exemple set gain to convert deg sec to units min for AXIS_0 radius serp scale 0 gain 6 28 360 0x AXIS_0 radius x 60 0 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 32 193 Les espaces blancs ne sont pas autoris s dans les expressions utiliser des guillemets doubles pour s en affranchir seus scale 0 gain 46 26 7 360 0 SAXIS Olrachiusi 60 0 Dans d autres contextes tels que loadrt il es
245. ram D Estop ladder program Serial modbus program ig Edit ladder dd rogram F1 Include connections to HAL cancel P Back FIGURE 18 11 Stepconf Classic Ladder 18 10 1 Add the Modules If you used the Stepconf Wizard to add Classic Ladder you can skip this step To manually add Classic Ladder you must first add the modules This is done by adding a couple of lines to the custom hal file This line loads the real time module loadrt classicladder_rt This line adds the Classic Ladder function to the servo thread addf classicladder 0 refresh servo thread 18 10 2 Adding Ladder Logic Now start up your config and select File Ladder Editor to open up the Classic Ladder GUI You should see a blank Section Display and Sections Manager window as shown above In the Section Display window open the Editor In the Editor window select Modify Now a Properties window pops up and the Section Display shows a grid The grid is one rung of ladder The rung can contain branches A simple rung has one input a connector line and one output A rung can have up to six horizontal branches While it is possible to have more than one circuit in a run the results are not predictable Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 152 193 Section Display of ee Current me ere in edit mm FIGURE 18 12 Section Display with Grid Now click on the N O Input in the Editor Window Manuel d
246. ration There shall be at least one initial step Rule 2 R2 Clearing of a transition A transition is either enabled or disabled It is said to be enabled when all immediately preceding steps linked to its corresponding transition symbol are active otherwise it is disabled A transition cannot be cleared unless it is enabled and its associated transition condition is true Rule 3 R3 Evolution of active steps The clearing of a transition simultaneously leads to the active state of the immediately following step s and to the inactive state of the immediately preceding step s Rule 4 R4 Simultaneous clearing of transitions All simultaneous cleared transitions are simultaneously cleared Rule 5 RS Simultaneous activation and deactivation of a step If during operation a step is simultaneously activated and deactivated priority is given to the activation This is the SEQUENTIAL editor window Starting from the top left image Selector arrow Eraser Ordinary step Initial Starting step Transition Step and Transition Transition Link Downside Transition Link Upside Pass through Link Downside Pass through Link Upside Jump Link Comment Box show sequential program ORDINARY STEP has a unique number for each one STARTING STEP a sequential program must have one This is where the program will start TRANSITION This shows the variable that must be true for control to pass through to the next ste
247. rect the final resting place of the part in motion but fails to solve problems related to direction changes while in motion think circular interpolation and motion that is caused when external forces think cutting tool pulling on the work piece are the source of the motion Ball Screw A type of lead screw that uses small hardened steel balls between the nut and screw to reduce friction Ball screws have very low friction and backlash but are usually quite expensive Ball Nut A special nut designed for use with a ball screw It contains an internal passage to re circulate the balls from one end of the screw to the other CNC Computer Numerical Control The general term used to refer to computer control of machinery Instead of a human Operator turning cranks to move a cutting tool CNC uses a computer and motors to move the tool based on a part program Comp A tool used to build compile and install LinuxCNC HAL components Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 183 193 Configuration n A directory containing a set of configuration files Custom configurations are normally saved in the users home Li nuxCNC configs directory These files include LinuxCNC s traditional INI file and HAL files A configuration may also contain several general files that describe tools parameters and NML connections Configuration v The task of setting up LinuxCNC so that it matches the hardware on a machine tool Coordinate Mea
248. removing the following lines net estop out lt iocontrol 0 user enable out net estop out gt iocontrol 0 emc enable in Next we add Classic Ladder to our custom hal file by adding these two lines loadrt classicladder_rt addf classicladder 0 refresh servo thread Next we run our config and build the ladder as shown here Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 160 193 Section Display Current in edit FIGURE 18 20 E Stop Section Display After building the ladder select Save As and save the ladder as estop clp Now add the following line to your custom hal file Load the ladder loadusr classicladder nogui estop clp T O assignments I0 Input from the pyVCP panel simulated E Stop the checkbox I1 Input from LinuxCNC s E Stop 12 Input from LinuxCNC s E Stop Reset Pulse 13 Input from the pyVCP panel reset button PQO Ouput to LinuxCNC to enable Q1 Output to external driver board enable pin use a N C output if your board had a disable pin Next we add the following lines to the custom_postgui hal file E Stop example using pyVCP buttons to simulate external components The pyVCP checkbutton simulates a normally closed external E Stop net ext estop classicladder 0 in 00 lt pyvcp py estop Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 161 193 HE Request E Stop Enable fro
249. rer le widget et ou l tat des variables en quittant connecter un gestionnaire de signal la fen tre de niveau sup rieur window1l d truire l v nement def on_destroy self obj data None self ini save_state self La prochaine fois que l application GladeVCP d marrera les widgets doivent retrouver l tat qu ils avaient la fermeture de lV application 11 7 10 Edition manuelle des fichiers ini Il est possible de faire cela mais noter que les valeurs dans self defaults craseront votre dition si il y a erreur de frappe ou de syntaxe Une erreur d tect e un message mis dans la console donneront des indices sur ce qui s est pass et le mauvais fichier ini sera renomm avec le suffixe BAD Apr s une mauvaise initialisation les fichiers BAD les plus anciens seront cras s 11 7 11 Ajouter des pins de HAL Si il faut des pins de HAL non associ es avec un widget HAL les ajouter comme ci dessous import hal_glib dans le gestionnaire de classe __init__ self example_trigger hal_glib GPin halcomp newpin example trigger hal HAL_BIT hal HAL_IN Pour appeler une fonction de rappel quand la valeur de cette pin change il faut associer une fonction de rappel value changed avec cette pin ajouter pour cela self example_trigger connect value changed self _on_example_trigger_change et d finir une m thode de fonction de rappel ou une fonction dans ce cas laisser t
250. rnativement l utilisation de names option comme loadrt ddt names xvit yvit zvit loadrt ddt names xaccel yaccel zaccel donnera des composants plus parlants nomm s xvit yvit zvit xaccel yaccel zaccel Beaucoup de composants fournis avec la distribution ont t cr s avec comp utility et supportent la m thode names option Il s agit notamment de composants logiques qui sont les briques de beaucoup de configurations HAL Exemples d inclusions and2 ddt deadzone flipflop or2 or4 mux2 mux4 scale sum2 timedelay lowpass et beaucoup d autres Les composants utilisateur cr s avec comp utility supportent galement automatiquement la m thode names option En plus des composants g n r s avec comp utility quelques autres composants comme encoder et pid supportent aussi names option 3 4 Organisation du fichier ini Organisation du fichier ini Un fichier ini typique suit une organisation simple les commentaires les sections les variables Chacun de ces l ments est s par sur une seule ligne Chaque fin de ligne ou retour chariot cr e un nouvel l ment 3 4 1 Les commentaires Une ligne de commentaires d bute avec un ou un Si le logiciel qui analyse le fichier ini rencontre l un ou l autre de ces caract res le reste de la ligne est ignor Les commentaires peuvent tre utilis s pour d crire ce que font les l ments du fichier ini Ceci est le fichier de confi
251. rom ini files support for position logging 13 2 Usage Patterns for the LinuxCNC NML interface The general pattern for 1inuxcnc usage is roughly like this import the 1inuxcnc module establish connections to the command status and error NML channels as needed poll the status channel either periodically or as needed before sending a command determine from status whether it is in fact OK to do so for instance there is no point in sending a Run command if task is in the ESTOP state or the interpreter is not idle send the command by using one of the 1inuxcnc command channel methods To retrieve messages from the error channel poll the error channel periodically and process any messages retrieved poll the status channel either periodically or as needed print any error message FIXME explore the exception code linuxcnc also defines the error Python exception type to support error reporting 13 3 Reading LinuxCNC status Here is a Python fragment to explore the contents of the linuxcnc stat object which contains some 880 values run while linuxenc is running for typical values Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 107 193 import sys aora ias rey s linuxcnc stat create a connection to the status channel s poll get current values except linuxcnc error detail prine evercore detail sys exit 1 IA ESAS O As aaa SW ln ES primea eSiec
252. rtains syst mes ne peuvent accepter de d passement dans ce cas une boucle ferm e sur amortie est n cessaire cela requi re une valeur P significativement plus basse que celle provoquant l oscillation 1 3 RTAI La Real Time Application Interface RTAD Interface d application temps r el est utilis e pour fournir la meilleure performance temps r el Le noyau patch RTAI permet d crire des applications avec des contraintes temporelles strictes RTAI donne la possibilit d avoir des logiciels comme ceux de g n ration de pas qui ont besoin d un timing pr cis 1 3 1 ACPI L Advanced Configuration and Power Interface ACPI a de nombreuses et diff rentes fonctions dont la plupart interf rent avec les performances du syst me temps r el Pour par exemple la gestion de l nergie la r duction de puissance du processeur la variation de fr quence du CPU etc Le noyau LinuxCNC et probablement tous les noyaux RTAI patch ont les fonctions ACPI d sactiv es ACPI prend galement soin de mettre hors tension le syst me apr s qu un arr t syst me a t command et c est pourquoi vous pourriez avoir besoin de presser sur le bouton d alimentation pour teindre compl tement votre ordinateur Le groupe RTAI a am lior cela dans les versions r centes de sorte que votre syst me LinuxCNC peut teindre le syst me par lui m me Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 5 193 Premi re
253. rtisseur D A Les unit s du facteur d chelle sont des Volts r els par Volts en sortie de DAC Les unit s de la valeur d offset sont en Volts Ces valeurs peuvent tre utilis es pour lin ariser un DAC Plus pr cis ment quand les sorties sont crites LinuxCNC converti d abord les unit s quasi SI des sorties concern es en valeurs brutes exemple Volts pour un amplificateur DAC Cette mise l chelle ressemble cela raw output offset scale la valeur d chelle peut tre obtenue par analyse des unit s exemple les unit s sont uni t s SI en sortie unit s de l actuateur Par exemple sur une machine sur laquelle une tension de consigne de l ampli de 1 Volt donne une vitesse de 250 mm s amplifier volts output mm s offset mm s 250mm s Volt Notez que les unit s d offset sont en unit s machine exemple mm s et qu elles sont d j soustraites depuis la sonde de lecture La valeur de cet offset est obtenue en prenant la valeur de votre sortie qui donne 0 0 sur la sortie de l actuateur Si le DAC est lin aris cet offset est normalement de 0 0 L chelle et 1 offset peuvent tre utilis s pour lin ariser les DAC d o des valeurs qui refl tent les effets combin s du gain de l ampli de la non lin arit du DAC des unit s du DAC etc Pour ce faire suivez cette proc dure Construire un tableau de calibrage pour la sortie piloter le DAC avec la tension souhait e et mesurer le r
254. s De cette fa on on peut passer des d clarations Python arbitraires au module gr ce a I option gladevcp U Par exemple gladevcp U debug 42 U print debug d debug Debug devrait tre mis 2 et confirmer ce que le module fait actuellement 11 7 8 Variables persistantes dans GladeVCP Un aspect g nant de Glade VCP dans sa forme initiale avec pyvcp est le fait qu on peut changer les valeurs des pins de HAL au travers du texte saisi curseurs bouton tournant bouton bascule etc mais leurs param tres ne sont pas enregistr s ni restaur s la prochaine ex cution de LinuxCNC Ils commencent aux valeurs par d faut fix es dans le panneau ou la d finition du widget GladeVCP dispose d un m canisme facile utiliser pour enregistrer et restaurer l tat des widgets de HAL ainsi que les variables du programme en fait n importe quel attribut d instance de type int float bool ou string Ce m canisme utilise le format du populaire fichier ini pour enregistrer et recharger les attributs persistants Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 101 193 11 7 8 1 Examen de la persistance de la version et de la signature du programme Imaginons renommer ajouter ou supprimer des widgets dans Glade un fichier ini qui tra ne depuis une version pr c dente du programme ou une interface utilisateur enti rement diff rente ne serait pas en mesure de restaurer correctement l
255. s ouvrir Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 7 193 Let this test run for a few minutes then note the maximum Jitter You will use it while configuring emcz While the test is running you should abuse the computer Move windows around on the screen Surf the web Copy some large files around on the disk Play some music Run an OpenGL program such as glxgears The idea is to put the PC through its paces while the latency test checks to see what the worst case numbers are Max Interval ns Max Jitter ns Last interval ns Servo thread 1 0ms 1001089 5929 995302 Base thread 25 0ps 33954 9075 24843 Reset Statistics FIGURE 2 1 Test de latence de HAL Alors que le test est en cours d ex cution il faut charger l ordinateur au maximum D placer les fen tres sur l cran Surfer sur le Web Ecouter de la musique Ex cuter un programme OpenGL comme glxgears L id e est de charger le PC au maximum pour que le temps de latence soit mesur dans le cas le plus d favorable et donc connaitre la latence maximale Note Ne pas ex cuter LinuxCNC ou Stepconf pendant que latency test est en cours d ex cution La colonne max jitter et la ligne Base Thread de exemple ci dessus donne 9075 Ce qui repr sente 9075 nanosecondes soit 9 075 microsecondes Noter ce nombre et l entrer dans Stepconf quand il sera demand Dans cet exemple de test de latence il n a fallu que quelques seconde
256. s can be used to shift the actual execution point of that gcode program to properly fit the true location of the vise and jaws Tool offsets can be used to shift the uncorrected length of a tool to equal that tool s actual length Part Program A description of a part in a language that the controller can understand For LinuxCNC that language is RS 274 NGC commonly known as G code Program Units The linear and angular units used in a part program The linear program units do not have to be the same as the linear machine units See G20 and G21 for more information The angular program units are always measured in degrees Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 185 193 Python General purpose very high level programming language Used in LinuxCNC for the Axis GUI the Stepconf configuration tool and several G code programming scripts Rapid Fast possibly less precise motion of the tool commonly used to move between cuts If the tool meets the workpiece or the fixturing during a rapid it is probably a bad thing Rapid rate The speed at which a rapid motion occurs In auto or mdi mode rapid rate is usually the maximum speed of the machine It is often desirable to limit the rapid rate when testing a g code program for the first time Real time Software that is intended to meet very strict timing deadlines Under Linux in order to meet these requirements it is necessary to install RTAI or RTLINUX and build
257. s fichiers de HAL si plusieurs sont utilis s Apr s que les fichiers HAL soient charg s l interface graphique est charg e son tour puis le fichier HAL POSTGUL Si des objets pyvcp ont t cr s avec des pins de HAL le fichier postgui hal doit effectuer les raccordements ces pins se reporter la section HAL pour plus de d tails Si aucun fichier ini n est pass en argument au script linuxcnc le s lecteur de configuration est lanc pour permettre l utilisateur de choisir parmi les exemples de configuration existants Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 10 193 E S lecteur de configuration de LinuxCNC EA Bienvenue dans LinuxCNC S lectionner une configuration de machine dans la liste de gauche Les d tails propos de cette configuration apparaitront dans l cran de droite Cliquer OK pour lancer la configuration s lectionn e Er Mes configurations This configuration step is intended for Ey Sherline4Axis Sherline 4 axis stepper machines Sherline4Axis_inch Sherline4Axis_mm There are 2 ini files one for inch setups Exemples de configuratior Sherline4Axis_inch ini and one for metric Sax1s setups Sherline4Axis_mm ini Sherline3Axis Sherline4Axis SherlineLathe boss classicladder cooltool dallur thc demo_mazak demo_sim_cl demo_step_cl etch servo gantry gladevcp halui_pyvcp heyannd cim Cr er un raccourci sur le bureau OK Annuler FIGURE 3
258. s grande partie du changement de la sortie 1 2 3 Terme int gral La contribution du terme int gral est proportionnelle l amplitude de l erreur et sa dur e La somme des erreurs instantan es au fil du temps int gration donne la compensation accumul e qui devrait avoir t corrig e pr c demment L int gration de l erreur est alors multipli e par le gain d int gral et ajout e la sortie du contr leur Le terme int gral lorsqu il est ajout augmente le mouvement du processus vers la consigne il limine l erreur de statisme qui se produit avec un r gulateur proportionnel seul Cependant puisque le terme int gral doit r pondre aux erreurs accumul es par le pass il peut causer un d passement de la valeur de consigne actuelle d passer le point de consigne et puis cr er un cart dans l autre sens Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 4 193 1 2 4 Terme d riv Le taux de variation de l erreur du processus est calcul en d terminant la pente de l erreur au cours du temps c est dire sa d riv e premi re en relation avec le temps et en multipliant ce taux de changement par le gain de d riv Le terme d riv ralentit le taux de variation de la sortie du r gulateur cet effet est plus visible proximit du point de consigne du contr leur Par cons quent le contr le d riv est utilis pour r duire l ampleur du d passement que produit la composante
259. s gt Spindle Green Eggs Ham spindle speed 0 0 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 65 193 Chapitre 10 Exemples d utilisation de PyVCP 10 1 Panneau PyVCP dans AXIS Proc dure pour cr er un panneau PyVCP et l utiliser attach dans la partie droite de l interface AXIS Cr er un fichier xml contenant la description du panneau et le placer dans le r pertoire de la configuration Ajouter une entr e avec le nom du fichier xml dans la section DISPLAY du fichier ini Ajouter une entr e POSTGUI_HALFILE avec le nom du fichier postgui HAL Ajouter les liens vers les pins de HAL pour le panneau dans le fichier postgui hal pour connecter le panneau PyVCP avec LinuxCNC 10 2 Panneaux flottants Pour cr er des panneaux flottants PyVCP pouvant tre utilis s avec n importe quelle interface suivre les points suivants Cr er un fichier xml contenant la description du panneau et le placer dans le r pertoire de configuration Ajouter les lignes loadusr dans le fichier hal pour charger chaque panneau Ajouter les liens vers les pins de HAI du panneau dans le fichier postgui hal pour connecter les panneaux PyVCP Li nuxCNC L exemple suivant montre le chargement de deux panneaux Py VCP loadusr Wn btnpanel pyvcp c btnpanel panell xml loadusr Wn sppanel pyvcp c sppanel panel2 xml Les param tres Wn font que HAL Wait for name attends le c
260. s pour afficher cette valeur Il est toutefois pr f rable de le laisser tourner pendant plusieurs minutes Parfois m me dans le pire des cas rien ne provoque de latence ou seulement des actions particuli res Par exemple une carte m re Intel marchait tr s bien la plupart du temps mais toutes les 64 secondes elle avait une tr s mauvaise latence de 300us Heureusement il existe un correctif Alors comment interpr ter les r sultats Si le r sultat de Max Jitter est en dessous d environ 15 20 us 15000 20000 nanose condes l ordinateur pourra donner d excellents r sultats pour la g n ration logicielle des pas Si le temps de latence est plus de 30 50 microsecondes de bons r sultats seront obtenus mais la vitesse maximum sera un peu faible sp cialement si des micropas sont utilis s ou si le pas de la vis est fin Si les r sultats sont de 10048 ou plus 100 000 nanosecondes alors le PC n est pas un bon candidat la g n ration des pas Les r sultats sup rieurs 1 milliseconde 1 000 000 nanosecondes liminent dans tous les cas ce PC pour faire tourner LinuxCNC en utilisant des micropas ou pas Note Si une latence lev e est obtenue il peut tre possible de l am liorer Un PC avait une tr s mauvaise latence plusieurs millisecondes en utilisant la carte graphique interne Un carte graphique d occasion 5US a r solu le probl me LinuxCNC n exige pas de mat riel de pointe 2 2 Adresses des p
261. s techniques un superbe graphe du timing n cessaire il indique Minimum DIR setup time before rising edge of STEP Pulse 200ns Minimum DIR hold time after rising edge of STEP pulse 200ns Minimum STEP pulse high time 2 0 mathrm mu s Minimum STEP pulse low time 1 0 mathrm mu s Step happens on rising edge Notez les valeurs que vous trouvez vous en aurez besoin pour la prochaine tape 15 1 3 Choisir la valeur de BASE_PERIOD BASE_PERIOD est Vhorloge de votre LinuxCNC A chaque p riode le g n rateur d impulsions de pas d cide si il est temps pour une autre impulsion Une p riode plus courte vous permettra de g n rer plus d impulsions par seconde dans les limites Mais si vous la r glez trop bas votre ordinateur va passer autant de temps g n rer des impulsions de pas que pour ex cuter tous le reste de ses t ches il finira peut tre m me par se bloquer La latence et la g n ration de pas exigent d affecter la plus courte p riode utilisable comme nous le verrons un peu plus loin Regardons l exemple du Gecko en premier Le G202 peut g rer des impulsions restant l tat bas pendant 0 5us et l tat haut pendant 4 5us il a besoin que la broche de direction soit stable 11s avant le front descendant et qu elle reste stable pendant 20us apr s le front descendant La plus longue dur e est de 20us c est le temps de maintien Une approche simple consisterait fixer la p riode
262. s32 out Num ro du prochain outil donn par le mot T selon RS274NGC iocontrol 0 tool prepare bit out TRUE quand une pr paration d outil est demand e iocontrol 0 tool prepared bit in Doit tre mise TRUE quand une pr paration d outil est termin e iocontrol 0 user enable out bit out FALSE quand un arr t d urgence interne est activ iocontrol 0 user request enable bit out TRUE quand l arr t d urgence est rel ch Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 40 193 Chapitre 8 Configuration d un systeme pas direction dir s tep 8 1 Introduction Ce chapitre d crit quelques uns des r glages les plus fr quents sur lesquels l utilisateur aura agir lors de la mise au point de LinuxCNC En raison de l adaptabilit de LinuxCNC il serait tr s difficile de les documenter tous en gardant ce document relativement concis Le syst me rencontr le plus fr quemment chez les utilisateurs de LinuxCNC est un syst me moteurs pas pas Les interfaces de pilotage de ces moteurs recoivent de LinuxCNC des signaux de pas et de direction C est le syst me le plus simple mettre en oeuvre parce que les moteurs fonctionnent en boucle ouverte pas d information de retour des moteurs le syst me n cessite donc d tre configur correctement pour que les moteurs ne perdent pas de pas et ne calent pas Ce chapitre s appuie sur la configuration fournie d orig
263. seconde dans un autre mode Le probl me est qu avec les exigences de 20us pour le maintien du signal et les 11 us de latence cela nous force utiliser une p riode d favorable de 31 us Mais le g n rateur de pas du logiciel LinuxCNC a quelques param tres qui nous laissent r gler les divers temps d une p riode de diff rentes mani res Par exemple si steplen est chang de 1 2 alors il y aura deux p riodes entre le commencement et la fin de l impulsion de pas De m me si dirhold est chang de 1 3 il y aura au moins trois p riodes entre l impulsion de pas et un changement d tat de la commande de direction Si nous pouvons utilisez dirhold pour r pondre aux exigences des 20us de maintiens du signal de direction le prochain d lai a respecter est la dur e de 4 5 us du signal de pas haut additionnons les 11 us de latence au 4 5 us de signal haut et nous obtenons une p riode minimum de 15 5 us Lorsque nous essayons la valeur de 15 5 nous trouvons que ordinateur est lent donc nous r glons sur 16 us Si nous laissons dirhold 1 par d faut alors temps minimum entre un pas et le changement de direction est de 16 us moins les 11 us de latence ce qui nous donne Sus Ce qui n est pas suffisant il nous manque 15 us Puisque la p riode est 16 us nous avons besoin d encore une p riode Dans ce cas nous changeons dirhold de 1 4 2 Maintenant le temps minimal entre la fin de l impulsion de pas et le changement
264. section et la variable dans le fichier INI Exemple de section utilisateur OFFSETS OFFSET_1 0 1234 Pour ajouter une variable utilisateur une section LinuxCNC inclure simplement cette variable dans la section souhait e Exemple de variable utilisateur AXIS_0 TYPE LINEAR SCALE 16000 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 14 193 Pour utiliser une variable utilisateur dans un fichier HAL utiliser les noms de section et de variable en lieu et place de leurs valeurs Exemple d utilisation dans un fichier HAL setp offset l offset OFFSETS OFFSET_1 setp stepgen 0 position scale AXIS_0 SCALE Note La valeur stock e dans la variable doit correspondre au type sp cifi pour la pin du composant 3 5 D tails des sections du fichier ini 3 5 1 Section EMC VERSION Revision 1 5 Le num ro de version du fichier INI La valeur indiqu e ici semble trange car elle est automatiquement mise jour lors de l utilisation du syst me de contr le de r vision C est une bonne id e de changer ce num ro chaque fois que vous modifiez votre fichier Si vous voulez le modifier manuellement il suffit de changer le num ro sans toucher au reste MACHINE ma machine C est le nom du contr leur qui est imprim dans le haut de la plupart des fen tres Vous pouvez ins rer ce que vous voulez ici tant que a reste sur une seule ligne
265. servo thread This line makes Classic Ladder update at the servo thread rate loadrt classicladder_rt addf classicladder 0 refresh servo thread The speed of the thread that Classic Ladder is running in directly affects the responsiveness to inputs and outputs If you can turn a switch on and off faster than Classic Ladder can notice it then you may need to speed up the thread The fastest that Classic Ladder can update the rungs is one millisecond You can put it in a faster thread but it will not update any faster If you put it in a slower than one millisecond thread then Classic Ladder will update the rungs slower The current scan time will be displayed on the section display it is rounded to microseconds If the scan time is longer than one millisecond you may want to shorten the ladder or put it in a slower thread 18 3 3 Variables It is possible to configure the number of each type of ladder object while loading the Classic Ladder real time module If you do not configure the number of ladder objects Classic Ladder will use the default values TABLE 18 1 Default Variable Count Object Name Variable Name Default Value Number of rungs numRungs 100 Number of bits numBits 20 Number of word variables numWords 20 Number of timers numTimers 10 Number of timers IEC numTimerslec 10 Number of monostables numMonostables 10 Number of counters numCounters 10 Number of HAL
266. sortie limit e entre les seuils min et max et galement limit e pour ne pas d passer l amortissement sp cifi En d autres termes les fluctuations de la valeur de sortie seront toujours lentes et cette lenteur est ajustable Le composant de HAL near est un composant deux entr es et une sortie binaire qui indique quand les deux entr es sont approximativement gales Voir le manuel de HAL ou les man pages taper juste man limit2 ou man near charge un composant temps r el limit2 et un near avec des noms ais s suivre loadrt limit2 names spindle ramp loadrt near names spindle at speed ajoute les fonctions au thread addf spindle ramp servo thread addf spindle at speed servo thread fixe le parametre max pour 1 amortissement acc l ration d c l ration de la broche en unit s par seconde setp spindle ramp maxv 60 d tourne la sortie vitesse broch t l envoie a 1 entr e de la rampe net spindle cmd lt motion spindle speed out gt spindle ramp in la sortie de la ramp st envoy e l entr e de 1 chell net spindle ramped lt spindle ramp out gt scale 0 in Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 169 193 pour connaitre quand commencer le mouvement on envoie la vitesse de broch command e a un ntr e du composant spindle at speed qui est un composant near on envoie galement le signal de fin de rampe vitesse actuelle sur l
267. st une valeur constante qui est ajout e sur la sortie Dans la plupart des cas elle peut rester z ro Toutefois il peut tre int ressant pour compenser un d calage de l ampli du servo ou quilibrer le poids d un objet se d pla ant verticalement Le bias est mis z ro quand la boucle PID est d sactiv e comme tous les autres composants de la sortie P 50 hal La composante Proportionnelle du gain de l ampli moteur de cet axe Cette valeur multiplie l erreur entre la position command e et la position actuelle en unit s machine elle entre dans le calcul de la tension appliqu e l ampli moteur Les unit s du gain P sont des Volts sur des unit s machine par exemple Volt mm si l unit machine est le millim tre I 0 hal La composante Int grale du gain de l ampli moteur de cet axe Cette valeur multiplie l erreur cumulative entre la position command e et la position actuelle en unit s machine elle entre dans le calcul de la tension appliqu e l ampli moteur Les unit s du gain I sont des Volts sur des unit s machine par seconde exemple Volt mmxs si l unit machine est le millim tre D 0 hal La composante D riv e du gain de l ampli moteur de cet axe Cette valeur multiplie la diff rence entre l erreur courante et les pr c dentes elle entre dans le calcul de la tension appliqu e l ampli moteur Les unit s du gain D sont des Volts sur des unit s machine sur des second
268. stribution of Opaque copies in quantity to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy directly or through your agents or retailers of that edition to the public It is requested but not required that you contact the authors of the Document well before redistributing any large number of copies to give them a chance to provide you with an updated version of the Document 4 MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above provided that you release the Modified Version under precisely this License with the Modified Version filling the role of the Document thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it In addition you must do these things in the Modified Version Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 189 193 A Use in the Title Page and on the covers if any a title distinct from that of the Document and from those of previous versions which should if there were any be listed in the History section of the Document You may use the same title as a previous version if the original publisher of that version gives permission B List on the Title Page as authors one or more persons or entities responsible for authorship of the modifications in the Modified Version toge
269. suring Machine A Coordinate Measuring Machine is used to make many accurate measurements on parts These machines can be used to create CAD data for parts where no drawings can be found when a hand made prototype needs to be digitized for moldmaking or to check the accuracy of machined or molded parts Display units The linear and angular units used for onscreen display DRO A Digital Read Out is a system of position measuring devices attached to the slides of a machine tool which are connected to a numeric display showing the current location of the tool with respect to some reference position DROs are very popular on hand operated machine tools because they measure the true tool position without backlash even if the machine has very loose Acme screws Some DROs use linear quadrature encoders to pick up position information from the machine and some use methods similar to a resolver which keeps rolling over EDM EDM is a method of removing metal in hard or difficult to machine or tough metals or where rotating tools would not be able to produce the desired shape in a cost effective manner An excellent example is rectangular punch dies where sharp internal corners are desired Milling operations can not give sharp internal corners with finite diameter tools A wire EDM machine can make internal corners with a radius only slightly larger than the wire s radius A sinker EDM can make internal corners with a radius only slightly larger than the ra
270. t Helvetica 24 lt font gt lt format gt 4 4f lt format gt lt number gt Le code ci dessus donne ce r sultat 9 6 12 2 Flottant Le widget number affiche la valeur d un signal de type flottant lt number gt lt halpin gt my number lt halpin gt lt font gt Helvetica 24 lt font gt lt format gt 4 4f lt format gt lt number gt m numb AAA 12 3406 lt font gt est une police de caract res de type Tkinter avec la sp cification de sa taille Une police qui peut tre agrandie jusqu la taille 200 est la police courier 10 pitch que vous pouvez sp cifier de la mani re suivante pour afficher des chiffres r ellement grands rontad eouricr 10 jonlieela 100 lt tome gt lt format gt est un format style C sp cifi pour d finir le format d affichage du nombre 9 6 12 3 Nombre s32 Le widget s32 affiche la valeur d un nombre s32 La syntaxe est la m me que celle de number except le nom qui est lt s32 gt Il faut pr voir une largeur suffisante pour afficher le nombre dans sa totalit lt s32 gt lt halpin gt simple number lt halpin gt lt font gt Helvetica 24 lt font gt lt format gt 6d lt format gt lt width gt 6 lt width gt lt s32 gt Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 55 193 9 6 12 4 Nombre u32 Le widget u32 affiche la valeur d un nombre u32 La syntaxe est la m me que celle de number except le nom qui
271. t finalement des soustractions de l erreur de mesure parce que le signal proportionnel est habituellement n gatif 16 1 2 1 Action Proportionnelle Pour cette action l erreur est multipli e par la constante P pour Proportionnel qui est n gative puis ajout e soustraction de l erreur de mesure la quantit r gul e P est valide uniquement sur la bande dans laquelle le signal de sortie du r gulateur est proportionnel l erreur du syst me Noter que si l erreur de mesure est gale z ro la partie proportionnelle de la sortie du r gulateur est galement z ro 16 1 2 2 Action Int grale L action int grale fait intervenir la notion de temps Elle tire profit du signal d erreur pass qui est int gr additionn pendant un laps de temps puis multipli par la constante I n gative ce qui en fait une moyenne elle est enfin additionn e soustraction de l erreur de mesure la quantit r gul e La moyenne de l erreur de mesure permet de trouver l erreur moyenne entre la sortie du r gulateur et la valeur de la consigne Un syst me seulement proportionnel oscille en plus et en moins autour de la consigne du fait qu en arrivant vers la consigne l erreur est z ro 1l n enl ve alors plus rien est d passe la consigne ou oscille et ou se stabilise une valeur trop basse ou trop lev e L addition sur l entr e d une proportion n gative soustraction de l erreur de mesure moyenn
272. t n cessaire d utiliser explicitement la commande Tcl expr expr pour des expressions de calcul exemple loadrt motion base_period expr 500000000 TRAJ MAX_PULSE_RATE 6 6 Exemples pour haltcl Prenons la question de la marge haute de stepgen stepgen headroom Le g n rateur de pas logiciel stepgen fonctionne mieux avec une contrainte d acc l ration l g rement sup rieure celle du planificateur de mouvement Ainsi lorsqu on utilise des fichiers halemd on force une valeur calcul e manuellement dans le fichier ini AXIS_0 MAXACCEL 10 0 STEPGEN_MAXACCEL 10 5 Es Avec haltcl il est possible d utiliser des commandes Tcl pour effectuer le calcul et liminer totalement l item STEPGEN_MAXACCEL du fichier ini setp stepgen 0 maxaccel AXIS 0 MAXACCEL 1 05 Autres caract ristiques de haltcl les boucles et les tests Par exemple beaucoup de configurations utilisent les fichiers hal core_sim hal ou core_sim9 hal Ceux ci diff rent du fait de la n cessit de connecter plus ou moins d axes Le code haltcl suivant devrait fonctionner pour n importe quelle combinaison d axes dans une machine cin matique triviale trivkins Cr e les signaux position vitess t acc l ration pour chaque axe ser elle 0 Core AU evala DS A A B G U vni ARO O AA O A list pin retourne une liste vide si la pin n existe pas de Pal isc jm esse emo motor OS e LA continu
273. tant qu un programme G code est en cours d ex cution cela doit donc tre pris en compte Beaucoup d actions LinuxCNC prennent cela en compte d elle m me les boutons et les options de menu sont d sactiv s quand leurs actions sont rendues impossibles Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 97 193 Avec l utilisation des gestionnaires d v nements Python qui sont un niveau inf rieur aux Actions on doit prendre soin de traiter les d pendances de statut soit m me A cette fin existe le widget LinuxCNC Stat il associe les changements de statut de LinuxCNC avec les gestionnaires d v nements LinuxCNC Stat n a pas de composant visible il suffi de l ajouter dans l diteur Glade Une fois ajout vous pouvez associer des gestionnaires avec les signaux suivants relatif au statut mis quand l arr t d urgence est activ ou d sactiv state estop la machine est totalement arr t e puissance coup e stat stop reset la machine passe l arr t state on la machine est mise en marche state off la machine passe l arr t relatif au mode mis quand LinuxCNC entre dans un de ces modes particuliers mode manual mode mdi mode auto relatif l interpr teur mis quand l interpr teur de G code passe dans un de ces modes interp run interp idl interp paused interp reading interp waiting 11 7 Programmation
274. tat des variables et des types puisqu ils ont chang depuis GladeVCP d tecte cette situation par la signature qui d pends de tous les noms d objets et de types qui ont t enregistr s et qui doivent tre restaur s Dans le cas de signatures incompatibles un nouveau fichier ini avec la configuration pas d faut est g n r 11 7 9 Utilisation des variables persistantes Pour que tous les tats des widgets Gtk que toutes les valeurs des pins de sortie des widget HAL et ou que tous les attributs de classe du gestionnaire de classe soient conserv s entre les invocations proc der comme suit Importer le module gladevcp persistenc D cider quels attributs d instance et leurs valeurs par d faut doivent tre conserv s le cas ch ant d cider quels widgets doivent avoir leur tat conserv D crire ces d cisions dans le gestionnaire de classe par la m thode init gr ce un dictionnaire imbriqu comme suit def __init self halcomp builder useropts self halcomp halcomp self builder builder self useropts useropts self defaults les noms suivants seront enregistr s restaur s comme attributs de m thode le m canisme d enregistrement restauration est fortement typ les types de variables sont d riv s depuis le type de la valeur initiale les types couramment support es sont int float bool string SS Vininalics END als eG cle CE ES e pour enregistrer restaurer l
275. te d Axis Il est beau mais ne fait rien tant que les boutons ne sont pas connect s halui Si ce stade une erreur se produit lors du d placement de la fen tre vers le bas c est g n ralement d une erreur de syntaxe ou d criture elle est donc dans cette partie qu il conviendra tout d abord de v rifier soigneusement Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 69 193 Help Jog Buttons ESES FIGURE 10 2 Boutons de Jog 10 3 2 Effectuer les connections Pour effectuer les connections n cessaires ouvrir le fichier custom_postgui hal et y ajouter le code suivant connecte les boutons PyVCP pour X net my jogxmoins halui jog 0 minus lt pyvcp x moins net my jogxplus halui jog 0 plus lt pyvcp x plus connecte les boutons PyVCP pour Y net my jogymoins halui jog 1 minus lt pyvcp y moins net my jogyplus halui jog 1 plus lt pyvcp y plus connecte les boutons PyVCP pour Z net my jogzmoins halui jog 2 minus lt pyvcp z moins net my jogzplus halui jog 2 plus lt pyvcp z plus connecte le curseur de vitesse de jog PyVCP net my jogspeed halui jog speed lt pyvcp jog speed f Apr s avoir d sactiv l A U E Stop et activ la marche machine en mode Jog le d placement du curseur du panneau PyVCP devrait agir d s qu il est plac au del de z ro et les boutons de jog devraient fonctionner Il est impossible de jogger alors qu un fichier G
276. tea OO ETICO DRE ne Read_ INPUTS fnct 2 v 1 1 C Inverted Read _ INPUTS fnct 2 v f 1 C Inverted m ula A INPUTS fnct 2 v O Inverted SO fnct 2 v 1 C Inverted FIGURE 18 9 Config I O Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 148 193 Period object info Modbus communication setup Modbus 1 0 register setup Serial port blank IP mode devittyS0 v Serial baud rate 9600 v Use RTS to send a Modbus element offset O Debug level a Read Coils inputs mapto Write Coils map from a Read register holding map to Write registers map from After transmit pause milliseconds lo After receive pause milliseconds 200 Request Timeout length milliseconds 500 NO O YES 0 1 QUIET O LEVEL 1 O LEVEL 2 O LEVEL 3 B O Q B O Q O l W QW W QW O WW FIGURE 18 10 Config Coms SERIAL PORT For IP blank For serial the location name of serial driver eg dev ttyS0 or dev ttyUSBO for a USB to serial converter SERIAL SPEED Should be set to speed the slave is set for 300 600 1200 2400 4800 9600 19200 38400 57600 115200 are supported PAUSE AFTER TRANSMIT Pause milliseconds after transmit and before receiving answer some devices need more time e g USB to serial converters PAUSE INTER
277. teger debug flag delay_left returns float remaining time on dwell G4 command seconds Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 108 193 din returns tuple of integers current value of the digital input pins distance_to_go returns float remaining distance of current move as reported by trajectory planner in Cartesian space dout returns tuple of integers current value of the digital output pins dtg returns tuple of 9 floats remaining distance of current move as reported by trajectory planner echo_serial_number returns integer The serial number of the last completed command sent by a Ul to task All commands carry a serial number Once the command has been executed its serial number is reflected in echo_serial_number enabled returns integer trajectory planner enabled flag estop returns integer estop flag exec_state returns integer task execution state One of EXEC_ERROR EXEC_DONE EXEC_WAITING_FOR_MOTION EXEC_WAIT EXEC_WAITING_FOR_PAUSE EXEC_WAITING_FOR_MOTION_AND_IO EXEC_WAITING_FOR_DELAY EXEC_WAT feed_hold_enabled returns integer enable flag for feed hold feed_override_enabled returns integer enable flag for feed override feedrate returns float current feedrate override file returns string currently executing gcode file flood returns integer flood enabled g5x_index returns string currently active coordinate system G54 0
278. ter controlled movable parts of the machine For a typical vertical mill the table is the X axis the saddle is the Y axis and the quill or knee is the Z axis Angular axes like rotary tables are referred to as A B and C Additional linear axes relative to the tool are called U V and W respectively Axis GUI One of the Graphical User Interfaces available to users of LinuxCNC It features the modern use of menus and mouse buttons while automating and hiding some of the more traditional LinuxCNC controls It is the only open source interface that displays the entire tool path as soon as a file is opened Backlash The amount of play or lost motion that occurs when direction is reversed in a lead screw or other mechanical motion driving system It can result from nuts that are loose on leadscrews slippage in belts cable slack wind up in rotary couplings and other places where the mechanical system is not tight Backlash will result in inaccurate motion or in the case of motion caused by external forces think cutting tool pulling on the work piece the result can be broken cutting tools This can happen because of the sudden increase in chip load on the cutter as the work piece is pulled across the backlash distance by the cutting tool Backlash Compensation Any technique that attempts to reduce the effect of backlash without actually removing it from the mechanical system This is typically done in software in the controller This can cor
279. teurs destin s aux t ches sp ciales Le co t d un panneau de contr le physique est tr s lev et il peut utiliser un grand nombre de broches d entr es sorties C est l que le panneau virtuel prends l avantage car il ne co te rien d utiliser pyVCP Les panneaux de contr le virtuels peuvent tre utilis s pour tester ou monitorer le mat riel les entr es sorties remplacer tempo rairement d autres mat riels d entr es sorties pendant le d boguage d une logique ladder ou pour simuler un panneau physique avant de le construire et de le c bler vers les cartes lectroniques L image suivante montre quelques widgets py VCP Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 46 193 Meet the widgets A LED indicates a HAL_BIT 30 A Scale controls a HAL_FLOAT EE A Button controls a HAL_BIT Button and so does a checkbox _ which can be indicated with a Bar 0 0 100 0 or a Number 0 0000 This is a hbox Widgets are packed horizontally Button a 000 0 0 100 0 These are a vboxes within a hbox This demonstrates box nesting and vertical packing Button2 0 000 O Button2 0 0 000 0 000 100 0 100 0 7 0 000 0 0 100 0 E Button3 0 0 100 0 Button4 Tnt Buttons 9 2 Construction d un panneau pyVCP
280. the software to run in those special environments For this reason real time software runs in kernel space RTAI Real Time Application Interface see https www rtai org one of two real time extensions for Linux that LinuxCNC can use to achieve real time performance RTLINUX See http www rtlinux org one of two real time extensions for Linux that LinuxCNC can use to achieve real time perfor mance RTAPI A portable interface to real time operating systems including RTAI and RTLINUX RS 274 NGC The formal name for the language used by LinuxCNC part programs Servo Motor Generally any motor that is used with error sensing feedback to correct the position of an actuator Also a motor which is specially designed to provide improved performance in such applications Servo Loop A control loop used to control position or velocity of an motor equipped with a feedback device Signed Integer A whole number that can have a positive or negative sign In HAL it is known as s32 A signed 32 bit integer has a usable range of 2 147 483 647 to 2 147 483 647 Spindle The part of a machine tool that spins to do the cutting On a mill or drill the spindle holds the cutting tool On a lathe the spindle holds the workpiece Spindle Speed Override A manual operator controlled change in the rate at which the tool rotates while cutting Often used to allow the operator to adjust for chatter caused by the cutter s teeth Spindle Speed Override
281. ther with at least five of the principal authors of the Document all of its principal authors if it has less than five C State on the Title page the name of the publisher of the Modified Version as the publisher D Preserve all the copyright notices of the Document E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices F Include immediately after the copyright notices a license notice giving the public permission to use the Modified Version under the terms of this License in the form shown in the Addendum below G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document s license notice H Include an unaltered copy of this License I Preserve the section entitled History and its title and add to it an item stating at least the title year new authors and publisher of the Modified Version as given on the Title Page If there is no section entitled History in the Document create one stating the title year authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated in the previous sentence J Preserve the network location if any given in the Document for public access to a Transparent copy of the Document and likewise the network locations given in the Document for previous versions it was based on These may be placed in the History section You may omit a network
282. tion au moment de l inversion de sens pour reprendre le jeu Sans correction du backlash l acc l ration pour le g n rateur de pas peut tre juste un peu plus basse que celle du planificateur de mouvements 23 2 2 Erreur de RTAPI Quand vous rencontrez cette erreur RTAPI ERROR Unexpected realtime delay on task n C est g n ralement que la variable BASE_PERIOD dans la section EMCMOT du fichier ini a une valeur trop petite Vous devez lancer un Latency Test pendant une dur e plus longue pour voir si vous n avez pas un d lai excessif quelque part responsable de ce probl me Si c est le cas r ajuster alors BASE_PERIOD avec la nouvelle valeur obtenue LinuxCNC v rifie le nombre de cycles du CPU entre les invocations du thread temps r el Si certains l ments de votre mat riel provoquent un d lai excessif ou que les threads sont ajust s des valeurs trop rapides vous rencontrerez cette erreur Note Cette erreur n est affich e qu une seule fois par session En effet si votre BASE_PERIOD tait trop basse vous pourriez avoir des centaines de milliers de messages d erreur par seconde si plus d un tait affich Plus d informations sur le test de latence 23 3 Tester 23 3 1 Tester le timing des pas Si un de vos axes vibre grogne ou fait des petits mouvements dans toutes les directions c est r v lateur d un mauvais ti ming d impulsions de pas de ce moteur Les param tres du pilote mat riel s
283. tion between two objects and is a quick way to connect objects that are more than one block apart IEC Timer creates a timer and replaces the Timer Timer creates a Timer Module depreciated use IEC Timer instead Monostable creates a one shot monostable module Counter creates a counter module Compare creates a compare block to compare variable to values or other variables eg W1 lt 5 or W1 W2 Compare cannot be placed in the right most side of the section display Variable Assignment creates an assignment block so you to assign values to variables eg W2 7 or W1 W2 ASSI GNMENT functions can only be placed at the right most side of the section display 18 5 6 Config Window The config window shows the current project status and has the Modbus setup tabs Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 139 193 D n a oa Period object info Modbus communication setup Modbus 1 0 register setup Rung Refresh Rate milliseconds Number of rungs 1 used Number of Bits E Mumber of Error Bits Mumber of Words BJ a BJ E a La Number of Counters La Number of Timers IEC Number of Arithmetic Expresions Number of Sections 10 used 0 Number of Symbols o Number of Timers Number of Monostables Number of BIT Inputs HAL pins un on Number of BIT Outputs HAL pins Number of S32in HAL pins Number of S32out HAL pins E Spa Mumber
284. to Hard real time events such as position control of motors or to control E stop The Classic Ladder GUI must be running for Modbus to be running Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 147 193 Modbus is not fully finished so it does not do all modbus functions To get MODBUS to initialize you must specify that when loading the Classic Ladder userspace program Loading Modbus loadusr w classicladder modmaster myprogram clp The w makes HAL wait until you close Classic Ladder before closing realtime session Classic Ladder also loads a TCP modbus slave if you add modserver on command line MODBUS FUNCTIONS 1 read coils 2 read inputs 3 read holding registers 4 read input registers 5 write single coils 6 write single register 8 echo test 15 write multiple coils 16 write multiple registers If you do not specify a modmaster when loading the Classic Ladder user program this page will not be displayed a Config a Period object info Modbus communication setup Modbus I O register setup 1 Modbus O register setup 2 Slave Address Penn Modbus Ele of Ele Logic lst I Q W Mapped Read INPUTS ee E Inverted ie eg CS CI Inverted Write _REG S fnct 6 16 dd Read HOLD fnct 3 Ao fi 1 E Jo Inverted Slave echo fnct 8 CS Eo J o Inverted fread meurs fret 2 vf 1 JO rered C iea nors mez jh JO ene C iea nors mez jh JO iner
285. tre code quand les pins des Leds HAL ont chang d tat alors connectez ce signal au gestionnaire par exemple on_led_pi n_changed et passez ce qui suit au gestionnaire def on_led_pin_changed self hal_led data None print on_led_pin_changed HAE pin value hal_led hal_pin get Ce code sera appel chaque front du signal et galement au d marrage du programme pour reporter la valeur courante Exemple de Leds 11 5 10 La barre de progression ProgressBar Note Ce widget pourrait disparaitre Utilisez les widgets HAL_HBar et HAL_VBar a sa place La HAL_ProgressBar est d riv e de gtk ProgressBar et a deux pins d entr e de HAL float Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 89 193 lt nomwidget gt la valeur courante afficher lt nomwidget gt scale la valeur maximum absolue en entr e Elle a les propri t s suivantes scale Valeur d chelle fixe la valeur maximum absolue en entr e Pareil que la configuration de la pin lt nomwidget gt scale Un flottant compris entre 274 et 274 green_limit Limite basse de la zone verte yellow_limit Limite basse de la zone jaune red_limit Limite basse de la zone rouge text_template Texte mod le pour afficher la valeur courante de la pin lt nomwidget gt Format pour Python peut tre utilis pour dict valeur valeur Exemple de barre de progression 11 5 11 La boite combin e ComboBox La comboBo
286. tre les balises est toujours valu comme un expression Python Les exemples ci dessous montrent un m lange des deux formats 9 6 3 Commentaires Pour ajouter un commentaire utiliser la syntaxe de xml lt Mon commentaire gt 9 6 4 Editer un fichier XML Editer le fichier XML avec un diteur de texte La plupart du temps un double click sur le nom de fichier permet de choisir ouvrir avec l editeur de texte ou similaire 9 6 5 Couleurs Les couleurs peuvent tre sp cifi es en utilisant les couleurs RGB de X11 soit par le nom par exemple gray75 ou soit en hexa d cimal par exemple 0000ff Une liste compl te est consultable ici http sedition com perl rgb html Couleurs les plus courantes les num ros suivant la couleur indiquent la nuance de la couleur white blanc black noir blue et bluel blue4 bleu cyan et cyani cyan4 cyan green et green green4 vert yellow et yellow yellow4 jaune red et red1 red4 rouge purple et purple purple4 violet pourpre gray et grayO gray 100 gris 9 6 6 Pins de HAL Les pins de HAL fournisse le moyen de connecter les widgets aux autres l ments Quand une pin de HAL est cr e pour un widget il est possible de la connecter une autre pin de HAL avec une commande net dans un fichier hal Pour plus de d tails voir la commande net dans le manuel de HAL Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16
287. type bit led rectled Widgets de contr le signaux de type bit button checkbutton radiobutton Widgets de signalisation de type nombre number s32 u32 bar meter Widgets de contr le de type nombre spinbox scale jogwheel Widgets d aide hbox vbox table label labelframe 9 6 1 Syntaxe Chaque widget sera d crit bri vement suivi par la forme d criture utilis e et d une capture d cran Toutes les balises contenues dans la balise du widget principal sont optionnelles 9 6 2 Notes g n rales A Vheure actuelle les deux syntaxes bas e sur les balises et bas e sur les attributs sont support es Par exemple les deux fragments de code XML suivants sont trait s de mani re identique lt led halpin ma led gt et lt led gt lt halpin gt ma led lt halpin gt lt led gt Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 50 193 Quand la syntaxe bas e sur les attributs est utilis e les r gles suivantes sont utilis es pour convertir les valeurs des attributs en valeurs Python 1 Si le premier caract re de l attribut est un des suivants il est valu comme une expression Python 2 Si la chaine est accept e par int la valeur est trait e comme un entier 3 Si la chaine est accept e par float la valeur est trait e comme un flottant 4 Autrement la chaine est accept e comme une chaine Quand la syntaxe bas e sur les balises est utilis e le texte en
288. u plusieurs chelons Ces chelons sont trac s horizontalement avec les composants plac s sur eux entr es sorties et autres les composants sont valu s de la gauche vers la droite Cet exemple est un simple chelon Bl GO J L entr e BO sur la gauche et un contact normalement ouvert il est connect sur la sortie QO sur la droite Imaginez maintenant qu une tension soit appliqu e a l extr me gauche d s que BO devient vraie par exemple entr e est activ e ou l utilisateur a press le contact NO la tension atteint l extr me droite en traversant la bobine QO Avec comme cons quence que la sortie QO passe de 0 1 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 130 193 Chapitre 18 Classicladder Programming 18 1 Ladder Concepts Classic Ladder is a type of programming language originally implemented on industrial PLCs it s called Ladder Programming It is based on the concept of relay contacts and coils and can be used to construct logic checks and functions in a manner that is familiar to many systems integrators Ladder consists of rungs that may have branches and resembles an electrical circuit It is important to know how ladder programs are evaluated when running It seems natural that each line would be evaluated left to right then the next line down etc but it doesn t work this way in ladder logic Ladder logic scans the ladder rungs 3 times to change the state of th
289. uction une m thode de r glage consiste mettre les valeurs I et D z ro Augmenter ensuite le gain P jusqu ce que la sortie de la boucle oscille Puis augmenter le gain I jusqu ce que cesse l oscillation Enfin augmenter le gain D jusqu ce que la boucle soit suffisamment rapide pour atteindre rapidement sa consigne Le r glage d une boucle PID rapide provoque habituellement un l ger d passement de consigne pour avoir une mont e plus rapide mais certains syst mes ne le permettent pas Param tre Temps de mont e D passement Temps de r glage S S Error P Augmente Augmente Chang faible Diminue I Diminue Augmente Augmente Eliminate D Chang faible Diminue Diminue Chang faible Effets de l augmentation des param tres 16 1 3 2 M thode de Ziegler Nichols Une autre m thode de r glage est la m thode dite de Ziegler Nichols introduite par John G Ziegler et Nathaniel B Nichols Elle commence comme la m thode pr c dente r glage des gains I et D z ro et accroissement du gain P jusqu ce que la sortie du proc d commence osciller Noter alors le gain critique K et la p riode d oscillation de la sortie P Ajuster alors les termes P I et D de la boucle comme sur la table ci dessous Type de r gulation P I D P SK PI ASK P 1 2 PID 6K P 2 P 8 Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 12
290. ue is now 0 The underflow output Q2 will set the counter value at the preset when counting backwards Section Display of custom clp custom clp New Load Load Save saveas Save As Reset Stop Stop Wars gt Editar Symbols Config Preview Print _Print About Quit FIGURE 18 18 Wrapping Counter 18 11 2 Reject Extra Pulses This example shows you how to reject extra pulses from an input Suppose the input pulse 10 has an annoying habit of giving an extra pulse that spoils our logic The TOF Timer Off Delay prevents the extra pulse from reaching our cleaned up output QO How this works is when the timer gets an input the output of the timer is on for the duration of the time setting Using a normally closed contact TMO Q the output of the timer blocks any further inputs from reaching our output until it times out Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 159 193 Yo valg TMO Q QU a TIMO Q TOF FIGURE 18 19 Reject Extra Pulse 18 11 3 External E Stop The External E Stop example is in the config classicladder cl estop folder It uses a pyVCP panel to simulate the external components To interface an external E Stop to LinuxCNC and have the external E Stop work together with the internal E Stop requires a couple of connections through Classic Ladder First we have to open the E Stop loop in the main HAL file by commenting out by adding the pound sign as shown or
291. ui aboutirait finalement un message d erreur du capteur de limite HOME_IS_SHARED lt n gt Si l entr e du contact d origine est partag e par plusieurs axes mettre lt n gt 0 pour permettre la POM m me si un des contacts partag s est d j attaqu Le mettre 1 pour interdire la prise d origine dans ce cas HOME_SEQUENCE lt n gt Utilis pour d finir l ordre dans lequel les axes se succ deront lors d une s quence de POM g n rale lt n gt commence 0 aucun num ro ne peut tre saut Si cette variable est absente ou 1 la POM de l axe ne pourra pas tre ex cut e par la commande POM g n rale La POM de plusieurs axes peut se d rouler simultan ment VOLATILE_ HOME 0 Lorsqu il est activ mis 1 l origine machine de cette articulation sera effac e si la machine est en marche et que l arr t d urgence est activ Ceci est utile si la machine poss de des contacts d origine mais n a pas de retour de position comme une machine moteur pas pas de type pas direction 3 5 12 Variables relatives aux servomoteurs Les l ments suivants sont pour les syst mes servomoteurs et pseudos servomoteurs Cette description suppose que les unit s en sortie du composant PID sont des Volts DEADBAND 0 000015 dans HAL Quelle distance est assez proche de la consigne pour consid rer le moteur en position en unit s machine Cette variable est fr quemment r gl
292. uivantes invert Inverse les directions min avec max Une HBar invers e croit de la droite vers la gauche un VBar invers e croit du haut vers le bas Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 90 193 min max Valeurs minimum et maximum de l tendue souhait e Ce n est pas une erreur si la valeur courante d passe cette tendue zero Point le plus bas de l tendue Si il est entre min et max alors la barre cro t partir de cette valeur et non de la gauche du widget ou de sa droite Utile pour repr senter des valeurs qui peuvent tre la fois positives ou n gatives force_width force_height Force la largeur ou la hauteur du widget Si inutilis s la taille sera d duite du conteneur ou de la taille des widgets et des barres qui remplissent la zone text_template D termine le texte afficher comme pour le Label pour les valeurs min max courante Peut tre utilis pour arr ter l affichage de la valeur bg_color Couleur de fond pour la barre inactive z0_color z1_ color z2_color Couleurs des zones des diff rentes valeurs Par d faut green yellow et red Pour une description des zones voir propri t s des z _border z0_border z1_border D finissent les limites des zones de couleur Par d faut seule une zone est valid e Pour en activer plus d une fixer z0_border et z1_border aux valeurs souhait es Ainsi zone O va remplir depuis 0 la premi re bordure zone 1 va remplir d
293. um acceleration reflects TRAJ MAX_ACCELERATION max_velocity returns float maximum velocity reflects TRAJ MAX_VELOCITY mcodes returns tuple of 10 integers currently active M codes mist returns integer mist on flag motion_line returns integer source line number motion is currently executing Relation to id unclear motion_mode returns integer motion mode motion_type returns integer trajectory planner mode One of TRAJ_ MODE COORD TRAJ_MODE_FREE TRAJ_MODE_TELEOP optional_stop returns integer option stop flag paused returns integer motion paused flag pocket_prepped returns integer A Tx command completed and this pocket is prepared 1 if no prepared pocket poll method to update current status attributes position returns tuple of floats trajectory position probe_tripped returns integer flag true if probe has tripped latch probe_val returns integer reflects value of the mot ion probe input pin probed_position returns tuple of floats position where probe tripped probing returns integer flag 1 if a probe operation is in progress program_units returns integer one of CANON_UNITS_INCHES 1 CANON_UNITS_MM 2 CANON_UNITS_CM 3 queue returns integer current size of the trajectory planner queue Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 110 193 queue_full returns integer the trajectory planner queue is full read_line returns i
294. ur de HOME OFFSET peut tre utilis e pour d finir une position du capteur diff rente du 0 utilis alors pour l origine HOME_SEARCH_VEL 0 0 Vitesse du mouvement initial de prise d origine en unit s machine par seconde Une valeur de z ro suppose que la position courante est l origine machine Si la machine n a pas de contact d origine laisser cette valeur Z ro HOME_LATCH_VEL 0 0 Vitesse du mouvement de d gagement du contact d origine en unit s machine par seconde HOME_FINAL_VEL 0 0 Vitesse du mouvement final entre le contact d origine et la position d origine en unit s machine par seconde Si cette variable est laiss e O ou absente la vitesse de d placement rapide est utilis e Doit avoir une valeur positive HOME_USE_INDEX NO Si l encodeur utilis pour cet axe fournit une impulsion d index et qu elle est g r e par la carte contr leur il est possible de mettre sur Yes Quand il est sur yes il aura une incidence sur le type de s quence de prise d origine utilis e HOME_IGNORE_LIMITS NO Si la machine utilise un seul et m me contact comme limite d axe et origine machine de l axe Cette variable devra alors tre positionn e sur yes Dans ce cas le contact de limite de cet axe est ignor pendant la s quence de prise d origines Il est n cessaire de configurer la s quence pour qu la fin du mouvement le capteur ne reste pas dans l tat activ q
295. ur ex cuter des commandes sans avoir faire appel la programmation en Python L apparence des LinuxCNC Actions dans Glade est approximativement la suivante Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 94 193 Y EMC Actions QQ lt lt I Q 5 m ji ooo r ee PEL E 5 Le survol de la souris donne une infobulle 11 6 1 Les widgets LinuxCNC Action Les widgets LinuxCNC Action sont des widgets de type simple tat Ils impl mentent une seule action par l usage d un seul bouton d une option de menu d un bouton radio ou d une case cocher 11 6 2 Les widgets LinuxCNC bascule action ToggleAction Ce sont des widgets double tat Ils impl mentent deux actions ou utilisent un second tat habituellement press pour indiquer qu une action est actuellement en cours Les bascules action sont pr vues pour tre utilis es avec les boutons bascule Toggle Buttons et les boutons bascule d outil ToggleToolButtons ou encore pour basculer les items de menu Un exemple simple est le bouton bascule d Arr t d Urgence EStop Actuellement les widgets suivants sont disponibles La bascule d Arr t d Urgence ESTOP envoie la commande ESTOP ou ESTOP_RESET LinuxCNC selon l tat courant La bascule ON OFF envoie la commande STATE_ON ou STATE _OFF La bascule Pause Reprise envoie la commande AUTO_ PAUSE ou AUTO _RESUME
296. utile pour les syst mes de contr le simples mais critiques ou pour reprendre d anciens circuits relais c bl s Comme les contr leurs logique programmable sont devenus plus sophistiqu s ils ont aussi t utilis s avec succ s dans des syst mes d automatisation tr s complexes Le langage Ladder peut tre consid r comme un langage bas sur les r gles plut t que comme un langage proc dural Un chelon en Ladder repr sente une r gle Quand elles sont mises en application avec des l ments lectrom caniques les diverses r gles s ex cutent toutes simultan ment et imm diatement Quand elle sont mises en application dans la logique d un automate programmable les r gles sont ex cut es s quentiellement par le logiciel dans une boucle En ex cutant la boucle assez rapidement typiquement plusieurs fois par seconde l effet d une ex cution simultan e et imm diate est obtenu 17 2 Exemple Les composants les plus communs du Ladder sont les contacts entr es ceux ci sont habituellement NC normalement clos ou NO normalement ouvert et les bobines sorties E Le contact NO Le contact NC La bobine sortie Bien s r il y a beaucoup plus de composants dans le langage Ladder complet mais la compr hension de ceux ci aidera appr hender le concept global du langage Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 129 193 L chelle se compose d un o
297. v ritable cha ne physique d arr t d urgence ou d autres dispositifs logiciels de protection des d fauts de fonctionnement comme la pompe de charge ou le watchdog POSTGUI_HALFILE example2 hal Seulement avec les interfaces TOUCHY et AXIS Ex cute example2 hal apr s que l interface graphique ait cr ses HAL pins 3 5 8 Section HALUI MDI _COMMAND G53 GO X0 YO ZO Une commande MDI peut tre ex cut en utilisant halui mdi command 00 Incr mente le nombre pour chaque commande num r e dans la section HALUI 3 5 9 Section TRAJ La section TRAJ contient les param tres g n raux du module planificateur de trajectoires de EMCMOT Vous n aurez pas modifier ces valeurs si vous utilisez LinuxCNC avec une machine trois axes en provenance des USA Si vous tes dans une zone m trique utilisant des l ments mat riels m triques vous pourrez utiliser le fichier stepper_mm ini dans lequel les valeurs sont d j configur es dans cette unit COORDINATES X Y Z Les noms des axes contr ler X Y Z A B C U V et W sont valides Seuls les axes nomm s dans COORDINATES seront accept s dans le G code Cela n a aucun effet sur l ordonnancement des noms d axes depuis le G code X Y Z jusqu aux num ros d articulations Pour une cin matique triviale X est toujours l articulation 0 A est toujours l articulation 3 U est toujours l articulation 6 et ainsi de suite Il est permis
298. x HAL est d riv e de gtk ComboBox Elle valide le choix d une valeur dans une liste d roulante Elle exporte deux pins de HAL lt nomwidget gt f La valeur courante de type FLOAT lt nomwidget gt s La valeur courante de type S32 Elle a la propri t suivante qui est configurable dans Glade column L index de colonne type 32 d faut 1 chelle de 1 100 En mode par d faut ces r glages du widget mettent les pins la valeur d index de l entr e choisie dans la liste Aussi si le widget a trois labels il peut seulement assumer les valeurs 0 1 et 2 En mode colonne colonne gt 1 la valeur report e est choisie dans le tableau de stockage de liste d fini dans Glade Ainsi typiquement la d finition du widget devrait comprendre deux colonnes dans le tableau de stockage une avec le texte affich dans la liste d roulante l autre une valeur enti re ou flottante correspondante au choix Il y a un exemple dans configs gladevcp by widget combobox combobox py ui qui utilise le mode colonne pour prendre une valeur flottante dans un stockage de liste Si comme moi vous tes d sorient pour diter une liste de stockage de ComboBox ou de CellRenderer voyez http www youtube com watch v Z5_F rW2cL8 11 5 12 Les barres Les widgets HAL HBar et VBar pour barres Horizontale et Verticale repr sentent des valeurs flottantes Elles ont une pin d entr e de HAL FLOAT Chaque barre a les propri t s s
299. x syst mes pas pas les servo syst mes n cessitent un dispositif de r tro action pour se positionner Ils ne fonctionnent pas imm diatement sorti de la boite et ils doivent tre calibr s pour fonctionner contrairement aux moteurs pas pas Cette diff rence s explique par le mode de r gulation diff rent des deux syst mes Les servosyst mes sont r gul s en boucle ferm e et le moteur pas pas en boucle ouverte Que signifie boucle ferm e Regardons un sch ma simplifi et la fa on dont un syst me de servomoteur fonctionne Amp sommateur Amp de pulssance signal de consigne ou de commande L amp sommatenr pilote Pamplificateur Le signal d entr e et le de puissance signal de retour pllotent Famplificateur sommateur Damplificateur de puissance pilote le signal de retour moteur Capteur de retour Moteur Le moteur pilote la charge et le capteur FIGURE 1 1 Boucle ferm e Ce diagramme montre que le signal de consigne de commande et le signal de retour pilotent l amplificateur sommateur ensuite celui ci pilote l amplificateur de puissance qui pilote le moteur qui actionne la charge et le dispositif de retour d information qui fournis le signal de retour Cela se per oit comme une boucle ferm e o A contr le B B contr le C C contr le D et D contr le A Si vous n avez pas travaill avec des syst mes servomoteurs auparavant cela sera sans aucun doute
300. xCNC et voir comment les choses r agissent Si tout va bien vous pouvez r duire progressivement la p riode Si le pointeur de la souris commence tre sacad et que le reste du PC ralentit votre p riode est un peu trop court Retournez alors la valeur pr c dente qui permettent le meilleur fonctionnement Dans ce cas supposons que vous ayez commenc 25us en essayant descendre 13us vous trouvez que c est autour de 16us que se situe la limite la plus basse et qu en dessous l ordinateur ne r pond plus tr s bien Alors vous utilisez 16us Avec une Manuel de l int grateur V2 6 11 34 gff59490 2015 12 16 123 193 p riode 16us et une latence 11us le temps de sortie le plus court sera de 16 11 Sus La carte demande seulement 2us ainsi vous aurez une certaine marge Il est bon d avoir une marge si vous ne voulez pas perdre de pas parce que vous auriez r gl un timing trop court Quel est la fr quence de pas maximum Rappelez vous deux p riodes pour faire un pas Vous avez r gl la p riode 16us alors qu un pas prend 32us Il fonctionnera 31250 pas par seconde ce qui n est pas mal 15 1 4 Utiliser steplen stepspace dirsetup et ou dirhold Dans la section pr c dente nous avons utilis la carte de puissance Xylotex pour piloter nos moteurs avec une p riode de l6us ce qui nous a donn une fr quence de pas de 31250 pas par seconde maximum Alors que la Gecko a t bloqu e 31us
301. xig de 20us et que votre test de latence vous avait donn une latence maximum de 115 alors si vous d finissez BASE_PERIOD 20 11 31s 31000 nanosecondes dans le fichier ini vous aurez la garantie de r pondre aux exigences de votre carte de pilotage Mais c est un compromis Faire une impulsion de pas demande au moins deux p riodes Une pour d buter l impulsion et une pour y mettre fin Etant donn que la p riode est de 31us il faut 2x31 62us pour cr er une impulsion de pas Ce qui signifie que la fr quence de pas maximum sera seulement de 16129 pas par seconde Pas tr s bon Mais n abandonnez pas nous avons encore quelques r glages faire dans la section suivante Pour la Xylotex la configuration demande des temps de maintien tr s courts de 200ns chacun 0 2us Le temps le plus long est de 2us Si vous avez 111s de latence alors vous pouvez d finir BASE_ PERIOD aussi bas que 11 2 13us Se d barrasser du long temps de maintien de 20us aide vraiment Avec une p riode de 13us un pas complet ne dure que 26us 2x13 et la fr quence maximum est de 38461 pas par seconde Mais ne commencez pas c l brer cel Notez que 13us est une p riode tr s courte Si vous essayez d ex cuter le g n rateur de pas toutes les 1345 il ne restera peut tre pas assez de temps pour faire autre chose et votre ordinateur se bloquera Si vous visez des p riodes de moins de 25us vous devez commencer 25us ou plus lancer Linu

Download Pdf Manuals

image

Related Search

Related Contents

Manual - GLOi AB  Prenez l`air! - Espace Albert Camus  Lenovo ThinkServer RD220  Neff K5624 refrigerator  Espressoautomat Bedienungsanleitung Espresso  ZeroSarro - Serie Comercial  Testez et mesurez en toute sécurité selon la - Multi  Le Robot Café Automatic  

Copyright © All rights reserved.
Failed to retrieve file