Skip to main content

Detección de posición inicial de un eje Modulo

La posición real de una unidad o codificador se transmite como DWORD al controlador.

Para un eje de módulo, el período P se define en incrementos por el valor de módulo y la escala. El período P especifica el número exacto de incrementos en una rotación. Esto significa que los valores posicionales X, X+1*P, X+2*P, etc. describen la misma posición física. La posición X+n*P excede el límite de DWORD cuando n es lo suficientemente grande. Esto sucede en la posición 0x1 00 00 00 00. Luego se corta el lugar inicial y el valor comienza en 0. Si P no es un factor de 0x1 00 00 00 00, entonces la posición X ya no describe la misma posición física antes y después de la interrupción.

Si las relaciones de transmisión se establecen de modo que el período no sea un factor de 0x1 0000 0000, entonces la posición de un eje de rotación se puede mover después de la activación.

ejemplo 1. Ejemplo

El eje comienza en la posición 0x0. Está a 0°. Un período es de 360°. La escala se selecciona de modo que corresponda a 3600000 = 0x36 EE80 incrementos Después de 1193 rotaciones, el eje se detiene en 0xFFFD 7280=1193*3600000. Después de otra rotación completa, el eje alcanza la posición 0x10034 6100. En la interrupción, se corta el 1 inicial y la posición 0x34 6100 se forma Si mueve el eje de nuevo a la posición 0x0, luego el eje se detiene en la posición 16.7296°. Por lo tanto, la posición 0x0 corresponde a la posición 0°, 16.7296°, etc., dependiendo de la interrupción real.



Sugerencia

Si ha seleccionado la escala para que se produzca el efecto anterior, y si no es posible o no es necesario realizar un recorrido de referencia al inicio del programa, puede recuperar la posición anterior a la última desactivación mediante el SMC3_PersistPosition bloque de funciones Aquí se utiliza un codificador de valor absoluto.