1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
= Prise d'origine[[sec:Prises-d-origine]]
== 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 d'EMC2 en conséquence. Toutefois, les machines sont différentes
les unes des autres et la prise d'origine est maintenant devenue assez
complexe.
=== Séquence de prise d'origine
La figure suivante montre les quatre séquences de prise d'origine possibles.
Une description détaillée des variables de configuration associées
est visible au chapitre <<cap:Variables-sequences-de-POM>>.
.Les séquences de POM possibles[[fig:Sequences-de-prise-d-origine]]
image::images/emc2-motion-homing-diag_fr.png[]
==== Vitesse de recherche (HOME_SEARCH_VEL = 0) (((Vitesse de recherche du contact d'origine)))
Vitesse de la phase initiale de prise d'origine, c'est la recherche du
contact d'origine machine. Une valeur différente de zéro indique à EMC
la présence d'un contact d'origine machine. EMC va alors commencer par
vérifier si ce contact est déjà pressé. Si oui, il le dégagera à la
vitesse établie par “HOME_SEARCH_VEL”, la direction du dégagement sera
de signe opposé à celui de “HOME_SEARCH_VEL”. Puis, il va revenir vers
le contact en se déplaçant 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é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. À l'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.
==== Vitesse de détection (HOME_LATCH_VEL = 0) (((Vitesse de détection du contact d'origine)))
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'index, 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, EMC 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,
l'opération de prise d'origine échouera. La valeur par défaut est zéro.
==== HOME_IGNORE_LIMITS = YES/NO (((HOME IGNORE LIMITS)))
Peut contenir les valeurs YES ou NO. Cette variable détermine si EMC
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, EMC doit ignorer l'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.
==== HOME_USE_INDEX = YES/NO (((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), EMC fera l'acquisition de l'origine
machine sur le premier front de l'impulsion d'index. Si elle est fausse
(=NO), EMC fera l'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.
==== HOME_OFFSET (((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 de
l'impulsion d'origine, EMC ajuste les coordonnées de l'axe à la valeur
de “HOME_OFFSET”. La valeur par défaut est zéro.
==== Position de l'origine (HOME) (((HOME)))
C'est la position sur laquelle ira le mobile à la fin de la séquence
de prise d'origine machine. 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 à
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 l'axe est
maintenant référencé, il n'y 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.
==== HOME_IS_SHARED (((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 à 0 pour
permettre la prise d'origine même si un contact est déjà attaqué.
==== HOME_SEQUENCE (((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'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”, leur POM s'effectueront simultanément. Si
“HOME_SEQUENCE” est égale à -1 ou non 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.
==== VOLATILE_HOME (((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.
==== LOCKING_INDEXER (((Verrouillahe Indexeur)))
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.
==== Les variables de la POM
Il y a six combinaisons possibles des variables qui définissent le
déroulement de la séquence de prise d'origine. EIles sont définies dans
la section [AXIS] du fichier ini.
.Combinaisons des variables de la POM[[cap:Variables-sequences-de-POM]]
[width="90%", options="header"]
|==========================================================
|Type de séquence |SEARCH_VEL |LATCH_VEL |USE_INDEX
|Aucun |0 |0 |NO
|error |0 |0 |YES
|error |0 |nonzero |NO
|Index-seulement |0 |nonzero |YES
|error |nonzero |0 |NO
|error |nonzero |0 |YES
|Switch-seulement |nonzero |nonzero |NO
|Switch et Index |nonzero |nonzero |YES
|==========================================================
|