Preparamos un proyecto de Step7 con un PLC 315-2DP y le asignamos una red Profibus con una velocidad de 1,5 Mbit/s (la máxima que soporta el S5-95U). En el catálogo buscamos "S5-95U" y lo arrastramos sobre la red Profibus, asignándole una dirección libre, en mi caso la 7.
Seleccionamos el componente que acabamos de insertar y copiamos el Módulo universal sobre los slots 1 y 2.
En las propiedades de cada módulo universal pulsamos sobre el botón Entrada directa... y donde pone Byte identificador (decimal): introducimos el primer código decimal con el que configuramos la comunicación Profibus en el DB1 del S5-95U, en mi caso 223.
Con ese código ya interpreta qué cantidad y tipo de datos se van a comunicar, tan solo debemos decirle la dirección de entradas que ocuparán los datos recibidos, en mi caso a partir de la 256.
Realizamos el proceso análogo para las salidas en el otro módulo universal, poniendo, para mi ejemplo, el valor 239.
Y como dirección de salida pongo la 256:
Y listo, guardamos y compilamos la configuración, y la transferimos al PLC. Si todo va bien y pasamos el S5-95U de Stop a Run podremos ver que el piloto rojo BF se apaga, lo que significa que ambos PLC se entienden.
Ya tenemos la configuración lista. Ya solo nos queda hacer un programa en el 315-2DP para probar el funcionamiento. Lo que he hecho es agrupar todos los datos necesarios (entradas y salidas digitales, analógicas y contadores) en un DB, y con un FC hacer la interpretación de los datos.
NOTA: para quien tenga interés, al final de esta entrada están los enlaces a los proyectos se Step5 y Step7 con todo el código.
Leer las entradas del S5-95U es tan sencillo como copiar zonas de la entrada en periferia hacia mi DB:
L PEW 256 // ENTRADAS DIGITALESLeo los bits que me indican si existe desbordamiento en las entradas digitales, ejemplo para la primera entrada:
T DB10.DBW 0
L PEW 258 // ENTRADAS DE ALARMA Y BYTE DE DIAGNOSIS
T DB10.DBW 2
L PED 260 // CONTADORES RÁPIDOS
T DB10.DBD 4
L PED 264 // ENTRADAS ANALÓGICAS
T DB10.DBD 8
L PED 268
T DB10.DBD 12
L PED 272
T DB10.DBD 16
L PED 276
T DB10.DBD 20
// LECTURA DE LOS BITS DE DESBORDAMIENTOY proceso el valor de la entrada analógica:
U DB10.DBX 8.0
= "COM_S5".EA_OV[0]
// PROCESADO DE VALORESTransfiero el estado de las salidas digitales:
L "COM_S5".EA_RAW[0]
L 2#11111111111000
UW
SRW 3
T "COM_S5".EA[0]
L DB10.DBW 42Preparo y transfiero el valor a sacar por la salida analógica:
T PAW 256
L "COM_S5".AAY finalmente transfiero las órdenes y valores para resetear y cambiar los valores de preselección de los contadores rápidos:
SLW 4
L 2#111111111110000
UW
T PAW 258
L DB10.DBW 46Viendo el DB10 y sus comentarios debería ser sencillo saber donde leer y escribir para tener acceso a todas las entradas y salidas. Las entradas y salidas digitales son triviales. El valor de las entradas analógicas se debe leer en la tabla (array) EA, donde se deposita su lectura ya procesada, y se debe interpretar un valor de 2046 como 10 V. Para los contadores rápidos A y B hay sendas señales de reset (CONT_A_RESET y CONT_B_RESET), lo que hacen es poner los contadores a cero y asignar nuevos valores de preselección (CONT_A_PRES y CONT_B_PRES). La lectura de los contadores la tenemos en CONTADOR_A y CONTADOR_B. Finalmente, en la salida analógica (AA) deberemos escribir un valor entre 0 y 1024, significando este último valor 10 V o 20 mA.
T PAW 260 // ORDENES DE RESETEAR CONTADORES
L DB10.DBD 48
T PAD 262 // VALORES DE PRESELECCIÓN DE CONTADORES
El programa para el S5-95U lo puedes bajar aquí y para el 315-2DP aquí.
Cualquier comentario será bienvenido.
Buenas GR
ResponderEliminarComo siempre muy buena entrada!
Gracias por compartirlo
Saludos
Muy útil el artículo, lastima que no consigo bajar los programas para analizarlos y probarlos.
ResponderEliminar