8 de octubre de 2009

Trabajando con un accionamiento Indramat Ecodrive03 desde un Siemens S7-300 (parte 2ª)

Primera parte aquí.

Configurado el accionamiento, lo debemos añadir a la red Profibus en el hardware del Step7. Para ello debemos tener los ficheros GSD correspondientes al accionamiento DKC03 instalados.


Buscamos en el árbol de componentes 'Otros aparatos de campo' => 'Accionamientos' => 'DKC03.3' y lo arrastramos sobre la red Profibus. Le asignamos la dirección que le corresponda y ahora hay que indicarle el tamaño de los datos a transmitir. Para ello recordamos lo que hemos configurado con el DriveTop en la trama Profibus y añadimos en el slot de entradas '6 words inputs' (12 bytes) y en el slot de salidas '7 words outputs' (14 bytes). Ambos a partir de la dirección 256 (100 en hexadecimal). Guardamos y compilamos y cerramos el hardware.

La comunicación desde el S7-300 se hará a través de los SFCs 14 y 15 que sirven para, respectivamente, leer y escribir datos de un esclavo DP en las direcciones que le programemos, tal y como se ve en la siguiente captura:


Los valores que recibo los he mapeado en 12 bytes a partir de dirección M150.0, y los valores a transmitir en 14 bytes a partir de la dirección M162.0. Así tengo acceso a las funciones del accionamiento que necesito, las puedes ver en las siguientes capturas:




Ahora ya tengo todo configurado y el accionamiento accesible, sólo queda hacer la programación. En función de mi mapeado voy a hacer una breve descripción de los bits, palabras y dobles palabras que uso para manejarlo.

Lo primero es activar el servomotor, que según la configuración que he hecho se hace activando el bit M162.7 [SERVOMOTOR: DRIVE ON].

Con el bit M163.5 [SERVOMOTOR: ERROR DELETE] borraremos un posible estado de error en el servomotor.

En mi caso sólo voy a usar tres bloques de desplazamiento, así que con controlar los dos primeros bits de selección de bloque (M175.0 [SERVOMOTOR: SELECCIÓN BLOQUE BIT 0] y M175.1 [SERVOMOTOR: SELECCIÓN BLOQUE BIT 1] tengo suficiente. Poniendo los dos a cero selecciono el bloque cero, poniendo el primero a uno selecciono el bloque uno y poniendo el segundo a uno selecciono el bloque dos.

En la palabra MW164 [SERVOMOTOR: LÍMITE DE PAR] especifico el par máximo que hará el servomotor. Se indica en porcentaje en tanto por mil referenciado al nominal, ej: si escribo un 800 será un 80% del par nominal del servomotor.

Los bits M162.0 [SERVOMOTOR: MODO DE OPERACIÓN (BIT 0)] y M162.1 [SERVOMOTOR: MODO DE OPERACIÓN (BIT 1)] sirven para seleccionar el modo de operación del servomotor entre los cuatro disponibles; como sólo voy a utilizar el principal los dejaré ambos a cero.

Para realizar el referenciado (homing) usaremos el bit M162.2 [SERVOMOTOR: DRIVE TO ZERO POINT], que dejaremos activado durante todo el proceso.

Para iniciar un bloque de desplazamiento deberemos tener activado el bit M162.5 [SERVOMOTOR: START] y luego activar el bit M163.0 [SERVOMOTOR: INICIAR MOVIMIENTO]. El movimiento se iniciará con un flanco positivo de esta última señal y se mantendrá mientras la mantengamos a uno o se complete.

Para modificar la posición de un bloque de desplazamiento escribiremos el índice que ocupa el parámetro de posición P4006, que en mi caso será un 2, en la palabra MW166 [SERVOMOTOR: ÍNDICE DEL PARÁMETRO A MODIFICAR]; si hemos añadido además la velocidad en la tabla del contenedor de datos MDT con el parámetro P4007 y queremos modificarlo, el índice será un 3.

Además debemos especificar para qué bloque queremos hacer la modificación, que se indica en la palabra MW168 [SERVOMOTOR: NÚM. DE BLOQUE A MODIFICAR].

Finalmente el valor que tomará el parámetro anteriormente seleccionado se lo diremos en la palabra doble MD170 [SERVOMOTOR: VALOR PARÁMETRO A MODIFICAR].

En la palabra doble MD152 [SERVOMOTOR: POSICIÓN] tendremos el valor de posición instantáneo del servomotor.

Y para terminar, en la palabra MW156 [DIAGNÓSTICO SERVOMOTOR], en caso de error del servomotor, nos indicará un código en hexadecimal, que viendo la tabla diagnóstico del manual, nos servirá para saber qué le pasa. Es el mismo código que podemos ver en la pantalla de estado del accionamiento, en el DriveTop.

Por supuesto, todo esto (y mucho más) está en los manuales, aunque en mi opinión son un poco coñazo.

Finalizando, con todo lo visto en estas dos entradas he configurado y ejecutado posicionamientos en varias máquinas, y el funcionamiento de estos servomotores ha sido óptimo (aunque en ocasiones hubo que tocar los parámetros de regulación).

Como siempre, si ves algo que esté mal o cualquier cosa que quieras decirme, tienes a tu disposición mi correo y los comentarios.

1 comentario:

  1. TENGO UN DK03.3 CON UN PLC 315-2 DP y no se como activar mi servo para que se vaya a home o como habilitar el servo. no me puedes pasar tu archivo de xxx.par del drive top y el archivo del plc para que lo pueda ver y comprender como lo habilitas

    ResponderEliminar

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