10 de febrero de 2011

Comunicación Profibus entre un atornillador Rexroth CS351 y un PLC Siemens S7-300 (parte 2ª y última)

En la entrada anterior dejé el atornillador configurado, ahora vamos a introducirlo en la red Profibus de Step7.

EL primer paso será abrir la herramienta de configuración hardware de Step7 para instalar el archivo GSD que generamos en la entrada anterior.

Lo seleccionamos y lo instalamos. Es posible que nos pida cerrar previamente los proyectos que tengamos abiertos.

Aquí es recomendable recordar el nombre del componente (en mi caso IMpdp fuer KE/SE/CS) para luego poder buscarlo en el catálogo.

Abrimos la configuración hardware del proyecto, donde ya tengo insertado un PLC 313C-2DP y una red Profibus, y en el catálogo buscamos nuestro atornillador.

Lo arrastramos sobre la red Profibus y nos pedirá una dirección.

Seleccionamos el atornillador, ya conectado a la red Profibus, y arrastramos desde el catálogo al interior del módulo la configuración del mapeado de entradas y salidas. Podemos asignar las direcciones de entradas y salidas que más nos convengan.


Y listo, ya tenemos nuestro atornillador configurado. Pulsamos en Guardar y compilar, cerramos la aplicación de configuración hardware y ya estamos listos para programar.

Yo he cambiado las direcciones de los dos bytes de entradas y los dos de salidas a la dirección 100, y para poder diagnosticarlos los he puesto en una tabla de variables:

Para leer los datos de par de apriete y ángulo girado debemos ir al manual titulado "Project planning manual", en el apartado 7.4.4 titulado "Formats of the results output" tenemos una tabla con el formato de cada dato. Por ejemplo, en el caso del par es un INT32. Un poco más abajo aparece un ejemplo de cómo debemos leer ese dato, lo que, a efectos prácticos, significa que debo cambiar el orden de todos los bytes.

Para saber donde leer el dato tenemos que tomar la dirección base de entradas de datos que hayamos configurado (en mi caso la 128) e ir sumando los tamaños de los datos que se transmiten.

Por ejemplo, según vemos en la imagen anterior el valor de par ocupa cuatro bytes a partir del quinto byte. Como la dirección base es 128 podemos leer el par en la dirección PED133 de la zona de entradas de periferia.

Para invertir el orden de todos los bytes he creado el FC13:

El código es bastante sencillo:

FUNCTION FC13 : VOID
TITLE =INVERTIR LOS BYTES EN UN DWORD
//DEVUELVE UN DINT
VERSION : 0.1


VAR_INPUT
DATO : DWORD ;
END_VAR
VAR_OUTPUT
DATO_INV : DINT ;
END_VAR
VAR_TEMP
AUX_DWORD : DWORD ;
AUX_DINT : DINT ;
END_VAR
BEGIN
NETWORK
TITLE =http://notasdeautomatizacion.blogspot.com

L #DATO;
T #AUX_DWORD;

L LB 0;
T LB 7;

L LB 1;
T LB 6;

L LB 2;
T LB 5;

L LB 3;
T LB 4;

L #AUX_DINT;
T #DATO_INV;
END_FUNCTION

Con esto ya tenemos el valor del par de apriete, en formato entero. En mi caso, las dos últimas cifras representan decimales; el número de decimales depende del par de apriete nominal de nuestra herramienta de atornillado, consultad en el manual.

De forma parecida obtendremos el resto de valores que hayamos configurado en la comunicación.

Ahora ya solo queda programar una lógica de activación de las señales de entrada y salida para controlar el atornillador desde el PLC y esto es algo que viene muy bien explicado en el manual, en el apartado 6 "Control signals", con diagramas temporales de activación para cada operación que necesitemos realizar, aunque también es cierto que simplemente por el nombre de cada señal ya se intuye como debemos tratarlas.

Y hasta aquí estas notas sobre el atornillador Rexroth CS351. Como conclusiones puedo decir que ha sido sencillo de configurar y la comunicación no ha ofrecido problemas. No me he metido en programar ciclos de atornillado con el software BS350 (lo hacía el cliente) pero por lo que pude ver es muy sencillo e intuitivo.

Como siempre, cualquier comentario será bienvenido.

1 comentario:

  1. thanks but Ihave a problem can you help me? I have cpu313c but but in cpu I have no conter,DI8*DC24V,AI5/AO2*12bit,DI16/DO16*DC24V with firmware v2.0.8.By the way I also have done hardware update but no result
    primay4.t@gmail.com

    ResponderEliminar

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