Archivo de la categoría: Programación

Proyecto para el control, gestión de la producción y administración de los recursos productivos

Programa-analisis-datos-biologicKali2

Proyecto para el control, gestión de la producción y administración de los recursos productivos

En una primera fase del proyecto se ha creado un scada, Supervisory Control And Data Acquisition (Supervisión, Control y Adquisición de Datos) con WinCC profesional de Siemens para controlar y supervisar procesos industriales a distancia y captura de datos de producción de la empresa.

Principal-biologicKali2

Scada de la planta de envasado

produccio-biologicKali

 

Scada de la planta de producción

 

Análisis de datos de producción

Los datos leídos por el scada son almacenados en una base de datos SQL Server, para poder analizar esos datos se ha creado un programa de gestión y análisis de datos de producción, este programa permite leer y analizar los datos de producción en tiempo real.

El OEE (Overall Equipment Effectiveness o Eficiencia General de los Equipos) es una razón porcentual que sirve para medir la eficiencia productiva de la maquinaria industrial. Esta herramienta también es conocida como TTR (Tasa de Retorno Total) cuando se utiliza en centros de producción de proyectos.

Tener un OEE de, por ejemplo, el 40%, significa que de ada 100 piezas buenas que la máquina podría haber producido, sólo ha producido 40.

grafica-biologic-Kali

Grafica estado de la producción real diaria

Leer datos avanzados de un esclavo I.O Link con un PLC S7 1200

Una vez instalado un bus I.O Link con diferentes esclavos en un PLC S7 1200, podemos leer algunos de sus datos simplemente consultando en las direcciones de entrada o salida asignadas a ese modulo, ahora bien si lo que queremos es un diagnostico mucho más amplio de cada esclavo podemos leer esos datos con una librería de Siemens que nos permite leer cíclicamente esos datos de diagnóstico.

Leer datos avanzados de un esclavo I.O Link con un PLC S7 1200

Para poder acceder a los datos avanzados en un bus I.O Link podemos utilizar la librería de Siemens IO_LINK_CALL_1200, en este ejemplo el FB50001, la llamada a este bloque requiere de una serie de parámetros para acceder al módulo esclavo que deseamos:

llamada-fb_io_link_call_1200

Algunos parámetros de entrada importantes son:

 

REQ: Petición de lectura del bus, se puede poner una base de tiempo y leer los datos cíclicamente.

ID: El identificador de Hardware, es decir donde tenemos instalado en master IO-Link

CAP: Acces point de la función IO_LINK_CALL normalmente a 227

RD_WR: Lectura o escritura operación, lectura = 1

PORT: Puerto del IO-Link al que queremos acceder.

IOL_INDEX: Dirección donde queremos leer los datos de diagnóstico del esclavo, debemos consultar el manual del esclavo para saber estas direcciones.

LEN: Longitud de datos es caso de modo escritura.

RECORD_IOL_DATA: Donde leemos o escribimos los datos del bus.

 

Los datos recogidos del diagnóstico de los esclavos los podemos encontrar el RECORD_IOL_DATA, un puntero hacia un DB donde podamos consultar o escribir los datos que queramos.

Dependerá de cada esclavo donde encontrar los datos de diagnóstico que nos interesen por tanto es necesario consultar el manual de cada esclavo, en este ejemplo se leen los datos de un analizador de fases SIRIUS 3UG4815 Line Monitoring Relay for IO-Link:

 bits-diagnostico-io-link

 

 

Programa para convertir de Siemens Step 7 a Rockwell

Aprovechando el código AWL de los programas hechos en Step 7 junto a la línea en texto ASCII que lleva incorporado el Logix Designer de Rockwell se puede crear un programa para realizar una traducción directa desde Siemens Step 7 a Rockwell.

Este programa lo he realizado con .NET y aunque no está totalmente perfeccionado, puede llegar a traducir el 65% de un programa hecho en Siemens Step7, del mismo modo no sería muy complicado realizar la opción contraria, es decir de .

El programa traduce de segmento en segmento, es decir no traduce un bloque o FC completo, esto es así porque es muy importante comprobar en todo momento que lo que está traduciendo sea correcto, ya que algunas veces por pequeños fallos la traducción no es correcta al 100%

traduccion-siemens-rockwell

 

Programa para convertir de Siemens Step 7 a Rockwell

El programa es muy simple, vamos a ver un ejemplo, en primer lugar debemos de copiar el código AWL del segmento del programa de Siemens:

El segmento a copiar

red-siemens-step-7

Seleccionamos ver AWL:

red-siemens-step-7-awl

Seleccionamos todo el contenido AWL de la red y hacemos Control C, y lo pegamos con el botón Pegar Traducir Copiar, este botón realiza las 3 tareas, es decir pega el contenido del portapapeles en el programa, realiza la traducción y copia en el portapapeles la traducción a Rockwell, de esta forma solo necesitamos un clic para traducir el segmento:

programa-traduccion-siemens-rockwell

 

Aunque se puede ver en la parte inferior el segmento traducido a ASCII para Rockwell, no hace falta seleccionarlo y copiarlo, por que ya lo tenemos copiado en el portapapeles, ahora simplemente lo pegamos en el editor de Rockwell:

pegar-a-Rockwell

Y comprobamos como realiza la traducción, eso si los simbólicos ya deben estar creados en el programa:

resultado-traduccion-rockwell