19 de noviembre de 2009

Trabajando con limitación de par en un Simotion

Para limitar el par de trabajo en un eje controlado por un Simotion se usa la función _enableTorqueLimiting y sirve tanto para ejes con control de velocidad, como para ejes de posicionamiento o ejes síncronos. Una característica muy importante cuando limitamos el par es que la vigilancia del error de seguimiento así como la vigilancia de posición se deshabilitan, ya que cuando el eje se encuentre que necesita limitar el par debe reducir su velocidad y se saldrá de la ventana teórica de posicionamiento.

El valor de limitación de par se puede cambiar en cualquier momento siendo de aplicación instantánea. Para eliminar la limitación existe la función _disableTorqueLimiting, aunque también se cancela con si aplicamos las funciones _resetAxis o _disableAxis.

Si estamos usando el telegrama de comunicación Profibus 105 (en mi caso es lo habitual) el valor de reducción de par se transmite en el word 5 (Torque reduction) y puedo saber si la reducción de par está activada en el bit 1 (|M| < Status word MeldW) en la recepción. El valor de par que se transmite no es en valor absoluto, se transmite en porcentaje con respecto al par máximo del motor. Además debemos especificar este par máximo en el parámetro DriveData.maxTorque, porque si no obtendríamos limitaciones de par erróneas (algo parecido sucede si activamos el Technology data block para leer el valor de par, ver esta entrada). Hasta aquí la teoría resumida, que viene completa y mejor explicada en el documento de Siemens "torque_limitation_070803_en".

En la práctica, cuando empecé a aplicar el límite de par me encontré con alguna dificultad. Resulta que si tienes el par limitado y el eje está parado porque no puede vencer el esfuerzo resistente, al retirar el límite de par el eje sale disparado, a par máximo, a su posición final, con todo el peligro que ello supone. Comentado este tema con un técnico de Siemens me recomendó que, cuando trabaje con límite de par, para finalizar un movimiento siga la siguiente secuencia:

Paso a paso, lo que hace es lo siguiente:

1 - Activar un límite de par muy pequeño, que impida cualquier tipo de movimiento.


2 - Parar el eje.


3 - Comprobamos si la limitación de par continúa activada.


4 - Si la limitación de par está activada, la eliminamos.


Yo pongo estos comandos en una 'Motion task' independiente, y la llamo después de finalizar cualquier movimiento que pueda dejar pendiente un limitación de par sin desactivar.

Como siempre, cualquier comentario será bienvenido.

No hay comentarios:

Publicar un comentario

Por favor, no pidas copias de programas comerciales, licencias o números de serie.