Escalado Analógica en Logix con instrucción CPT Capítulo 2

logo2dominios


En la anterior entrada, hicimos una introducción y realizamos los pasos para crear una aplicación y la configuración de hardware:

Escalado Analógica en Logix con instrucción CPT Capítulo 1

Siendo el montaje del controlador y la tarjeta de EA el siguiente:

Fuente de alimentación 24VCC, Compact Logix L16 y módulo EA.

Detalle de tarjeta de entrada analógica 1734-IE4C

Antes de seguir, os aconsejo que leáis la serie de entradas sobre Señales Analógicas:

Señales Analógicas

Y si ya lo habéis hecho, vamos a repasar unos conceptos en los siguientes párrafos, éstos están extraídos de la siguiente entrada:

Señales Analógicas Cap.11 (Práctica-Parte 7)

1. Escalado de Señal Analógica.

Trabajar en unidades de ingeniería (m, mca, rpm, %, ppm….) es más intuitivo para los integradores que hacerlo con las unidades internas de los PLC o PAC, las llamadas “números de cuentas”, además éstas últimas presentan el problema que dependen de la resolución de la tarjeta y de cada tipo y marca, por lo que se suele convertir a unidades de ingeniería. Además es necesario hacer esta conversión, para representar estos valores en los HMI’s, de esta manera, explotación-producción podrá interpretar más fácilmente los valores de proceso.

Podemos realizar el escalado de tres formas diferentes:

  • En PAC’s de alta gama como es el Control Logix de Allen Bradley, el escalado se realiza en la propia tarjeta de analógicas, por lo que obtenemos directamente el valor en unidades de ingeniería, sin tener que realizar ningún tipo de programación adicional.
  • Realizar el escalado mediante funciones y librerias propias de los PLC’s-PAC’s.
  • Mediante un algoritmo que realice el cálculo.

En nuestro caso, disponemos de un PAC que no dispone de escalado en la tarjeta, por lo que el escalado lo tenemos que realizar mediante una función interna o un algoritmo, esta segunda opción la dejamos para entradas posteriores.

 

Una vez que conocemos el hardware con el que realizaremos las prácticas y hemos repasado algunos conceptos, comenzamos:

1 – Declarar una estructura de datos de usuario (UDT User Defined Data Types).

Para declararla, debemos desplegar en el “Controller Organizer” la carpeta Data Types” y tras pulsar en botón derecho seleccionamos “New Data Type”.

Nos aparecerá la siguiente ventana emergente.

Le asignamos el nombre que deseemos para nuestra estructura de datos, recordad que debe ser un nombre descriptivo de su uso, en nuestro caso le asignamos el nombre “ESCALADO”.

Rellenamos la estructura con los datos que necesitemos para la UDT. Cabe recordar, que una UDT puede estar formada por variables que sean datos predefinidos y/o por matrices de éstos. En nuestro ejemplo, introducimos los siguientes datos:

  • ENTRADA_ANALOGICA, dato que usaremos para almacenar la variable que nos da la variable con los datos de la entrada analógica. Elegimos un dato tipo DINT, no obstante podría ser de tipo INT, ya que el dato que nos entrega la tarjeta de EA es de tipo INT.

  • NUMERO_CUENTAS_BAJO, dato que usaremos para fijar el extremo inferior del número de cuentas, este dato depende de la resolución de la tarjeta (número de bits) que equipemos. Veremos esto con más detalle más adelante.
  • NUMERO_CUENTAS_ALTO, dato que usaremos para fijar el extremo superior del número de cuentas, este dato depende de la resolución de la tarjeta (número de bits) que equipemos. Veremos esto con más detalle más adelante. De tipo DINT, podríamos usar
  • UDS_INGENIERIA_BAJO, dato que usaremos para fijar el extremo inferior de las unidades de ingeniería de nuestro instrumento.
  • UDS_INGENIERIA_ALTO, dato que usaremos para fijar el extremo superior de las unidades de ingeniería de nuestro instrumento.
  • RESULTADO, variable para almacenar la salida de la instrucción con el la EA ya escalada.

En los tres últimos datos elegimos datos de tipo REAL para disponer de decimales.

De momento, estos son los datos que declaramos en la UDT y que iremos ampliando a medida que introduzcamos más funcionalidades.

Una vez que tenemos definida nuestra estructura, declaramos en “Controller Tags” una variable que llamaremos “TEMPERATURA” y será de tipo “ESCALADO” (UDT declarada en el paso anterior).

Ya tenemos una estructura que nos facilitará el escalado de una señal analógica con la instrucción CPT.

En la siguiente entrada, usaremos la instrucción CPT y la función de escalado que implementaremos en ella.

¡Saludos!.

favicon

Escalado Analógica en Logix con instrucción CPT Capítulo 1

logo2dominios


Hola tras la consulta de Daniel en una entrada anterior, vamos a publicar una serie de entradas donde explicaremos como se realiza el escalado con lenguaje ladder:

Señales Analógicas Cap.11 (Práctica-Parte 7)

Comenzamos:

En la entrada anteriormente comentada, el escalado se realiza en lenguaje de bloques de funciones y muchas veces no se dispone de este lenguaje por no disponer de licencia para ello, por ello es muy útil saber realizar el escalado con ladder o diagrama de contactos, además personalmente le veo otras ventajas adicionales que iremos viendo a lo largo de las siguientes entradas. Por ello, en esta serie de entradas vamos a explicar nuestra forma de realizar este escalado.

Hay que dejar claro, que vamos a trabajar con la plataforma Logix y más concretamente con la familia Compact Logix, con sus respectivas tarjetas de entrada y salida analógicas de la familia 1769 y POINT I/O 1734, si vamos a trabajar con tarjetas de la familia de Control Logix, prefiero usar la funcionalidad de escalado en la propia tarjeta de entrada o salida analógica de la familia 1756, aunque no se lo crea más de uno hay gente que no la usa y os podéis encontrar programas que realizan un escalado a número de cuentas en la tarjeta y posteriormente se realiza el escalado a unidades de ingeniería por programa. Por tanto, esta entrada nos servirá, entre otras, para las siguientes combinaciones de equipos:

  • Compact Logix con entradas y salidas de la familia 1769 y 1734.
  • Control Logix si equipamos un modelo de periferia de E/S descentralizada, por ejemplo cabecera 1734-AENT y entrada analógica de esta familia.

En nuestro caso, vamos a usar un Compact Logix L16 y una entrada analógica 1734-IE4C como módulo de expansión.

1- Comenzamos creando una aplicación Logix.

Lo primero que hacemos es abrir RSLogix 5000 o Studio 5000 y crear un nuevo proyecto, o lo realizamos con QUICK START.

O lo realizamos a través de “File/New…”.


 

En nuestro caso, elegimos el controlador 1769-L16ER-BB1B en versión 20 con un módulo de expansión y llamamos a nuestra aplicación “Escalado_Analogica_Ladder”.


2- Declaramos el hardware en I/O Configuration.

Procedemos a declarar en la “I/O Configuration” el módulo de entrada analógica 1734-IE4C. La familia L1 utiliza las E/S de la familia de POINT I/O 1734. Para ello, con botón derecho pulsamos sobre “New Module…”. No vamos a entrar en detalle, ya que existen otras entradas en el blog que detallan más como se declara una E/S, por lo que a continuación sólo recogemos los pasos principales para declarar el módulo EA.

Buscamos el módulo 1734-IE4C en el catálogo hardware.

Le asignamos el nombre “EA”.

Comprobamos en “Controller Tags” que se ha generado las estructuras de este módulo, en nuestro ejemplo son las “LOCAL:2”, ya que las “LOCAL:1” son de las E/S que equipa el controlador L16.

En la siguiente entrada, vamos a declarar una estructura de datos definida por el usuario (UDT) en la que vamos a ir recogiendo las variables necesarias para realizar el escalado, a medida que implementamos más funcionalidades, iremos ampliándola con  más variables.

¡Saludos!.

favicon

“APP arIE (Realidad Aumentada de Instalaciones de EMASESA)… Mirar, Ver y Comprender” gana el Tercer Premio del VII Concurso de Ideas en Emasesa

logo2dominios

 

 

 


El pasado veinticinco de abril, se falló la VII EDICIÓN DEL CONCURSO DE IDEAS DE EMASESA y tuve la gran suerte de volver a estar entre los finalistas y obtener el tercer premio en la categoría de ideas para proyectos de I+D+i.

Enlace noticia.

La idea consiste en desarrollar una APP que facilite las tareas de explotación, supervisión y mantenimiento correctivo/preventivo en las instalaciones de EMASESA.

Según Wikipedia:

La realidad aumentada (RA) es el término que se usa para definir la visión de un entorno físico del mundo real, a través de un dispositivo tecnológico, es decir, los elementos físicos tangibles se combinan con elementos virtuales, logrando de esta manera crear una realidad mixta “Realidad Aumentada” en tiempo real.

En resumen, la realidad aumentada consiste en ofrecer información digital superpuesta a la visión real.

El gran auge de los dispositivos móviles ha hecho posible que este tipo de tecnología esté disponible en cualquier momento y lugar, gracias a la inclusión de las cámaras digitales. Entre las APP que usan esta tecnología, se encuentran empresas del sector de la compra-venta y alquiler de viviendas, hostelería, arquitectura y diseño. Y a nivel de hardware no podemos olvidar el desarrollo de las GoogleGlass.

El CEO de Apple Tim Cook, decía hace unos meses, en una entrevista sobre la realidad virtual y la realidad aumentada lo siguiente:

“Está la realidad virtual y la realidad aumentada, ambas son increíblemente interesantes, pero mi opinión es que la realidad aumentada es la mayor de las dos, probablemente de lejos, porque ahora nosotros dos estamos aquí hablando, pero podríamos tener otras cosas –visuales–, tal vez son cosas de las que no hablemos, tal vez sea otra persona que no está presente pero parece estarlo.”

“……….somos lo que hacemos día a día, por lo que la innovación no es un acto, es un hábito………”

Adaptación de la frase de Aristóteles por el “capo”.

¡Saludos!.

Entrada relacionada.

favicon

 

 

La creatividad es un estado de ánimo

 logo2dominios


Me gustaría comunicaros, que la entrada publicada en el día de ayer, será la última que haga sobre Automatización en el blog. Esta temática, la principal del blog hasta la fecha, será abordada por los colaboradores en la medida de sus posibilidades, pero mi persona no volverá a hacerlo sobre este tema.

Está muy de moda, decir que la creatividad es un estado de ánimo y pienso que es cierto, por ello voy a dejar de “crear” sobre temas de automatización, es duro dejar algo que te apasiona, pero ya estoy cansado “del día de la marmota” o quizás tenga razón un amigo mío y he llegado “a ese punto”.

creatividad

Saludos.

favicon

DeviceLogix Cap. 14 POINT I/O Programación Módulo 1734-8CFGDLX Parte 8

 logo2dominios


En la última entrada, hemos realizado una copia de seguridad de la red y ahora vamos a realizar forzados de variables en DeviceLogix.

¡Comenzamos!.

En la anterior entrada hemos realizado un “upload” de la red y estabamos en línea con ella, ahora  hacemos doble clic sobre el módulo que tiene DeviceLogix (PointIO 24VDC 8pt Config DLX), para abrir la ventana de configuración del equipo.

dlx129

Seleccionamos la pestaña “DeviceLogix”.

dlx134

Y pulsamos sobre “Start Logic Editor…”.

dlx135

Debemos visualizar el programa que tengamos implementado en el módulo, en él vamos a realizar un forzado de variable.

dlx136

Para realizar el forzado, sobre la variable (en nuestro ejemplo Discrete Input 0) debemos hacer clic en el botón derecho del ratón y seleccionar “Force”.

dlx137

Cuando la variable está forzada se pone en amarillo el fondo de la instrucción.

dlx139

Para quitar el forzado, sobre la variable (en nuestro ejemplo Discrete Input 0) debemos hacer clic en el botón derecho del ratón y seleccionar “Clear Force”.

dlx140

dlx141

En la siguiente entrada veremos como intercambiar datos de módulos en la misma red, en nuestro ejemplo leeremos datos del módulo 1734-8CFG.

Saludos.

favicon

DeviceLogix Cap. 13 POINT I/O Programación Módulo 1734-8CFGDLX Parte 7

 logo2dominios


En la última entrada, hemos realizado un programa algo más complejo con DeviceLogix. En esta entrada vamos a realizar una copia de seguridad  mediante la funcionalidad “Upload”.

¡Comenzamos!.

Lo primero es abrir RSNetworx y abrir un nuevo fichero, para ello “File\New”.

          dlx149

dlx147

Si tenemos todas las versiones instaladas de RSNetworx (Ethernet/IP, DeviceNet y ControlNet), en la ventana emergente nos aparecerán tres opciones, elegimos “DeviceNet Configuration De….”.

dlx148

Procedemos a ponernos online con la red, para ello pulsamos el botón “Online” en la barra de herramientas.

rsnetworx5        

dlx125

Nos aparecerá un ventana emergente, para seleccionar la ruta hasta la red que queramos escanear.

dlx126

En nuestro ejemplo, es “Pointbus Port, DeviceNet” en la cabecera 1734-AENTR.

dlx127

Nos aparecerá una ventana emergente de advertencia, que dice lo siguiente:

dlx36

“Antes de que el software le permite configurar dispositivos en línea , debe cargar o descargar la información del dispositivo . Cuando se haya completado la operación de carga o descarga, configuración fuera de línea pueden sincronizar con la red en línea .

Nota: Puede cargar o descargar la información del dispositivo en cualquier forma de toda la red o dispositivo individual .”

En la ventana de configuración de elementos nos parecerán todos los elementos escaneados.

dlx129

Ahora realizaremos el paso más importante, que es hacer una carga desde los dispositivos de toda la red. Para ello pulsando botón derecho del ratón, sobre la ventana de configuración de elementos, seleccionamos del menú “Upload from Network”.

dlx131

dlx132

dlx133

dlx129

Para finalizar, debemos guardar el fichero y para ello “File\Save As..”

dlx143

dlx144

En la siguiente entrada veremos como forzar variables en DeviceLogix.

Saludos.

favicon

Poner en Fecha y Hora Micro 810 (Fran Sánchez)

logo2dominios


Entrada del colaborador Fran Sánchez:

¡Comenzamos!

El programa utilizado para programar estos PLC´s es Connected  Components  Workbench es gratuito y se puede descargar en  http://www.rockwellautomation.com/global/products-technologies/connected-components/tools/workbench.page#tab4 el problema es que la versión abierta no permite edición online, ni estructuras de datos.

El que no permita edición online es un incordio y una pérdida de tiempo para la programación muy grande, pero por lo menos está la opción gratuita.

Para poner en Fecha y Hora un Micro 810 disponemos de dos modos de hacerlo (Como todos los PLC´s de Rockwell) uno es mediante programación y otro es desde la configuración de PLC, el problema es que al menos en la versión gratuita, para poner en hora el PLC desde la configuración hay que pararlo.

El ejemplo lo vamos a realizar con un Micro 810 Pero se hace igual en toda la gama Micro8X0.

Modo 1, Desde configuración:

Presupongo, que todos sabemos conectarnos al PLC y movernos por el PLC, así que vamos al grano.

Hacemos doble click sobre el controlador, en este caso Micro810.

img1

Se nos abrirá la siguiente ventana, y pulsamos sobre Real Time Clock.

img2

Llegado a este paso, debemos asegurarnos de que podemos pasar el PLC a modo program, si es así lo hacemos pulsando el selector que aparece marcado en la imagen.

img3

Nos preguntará si estamos seguros de que queremos cambiar a modo Program, Aceptamos si estamos seguros de que lo queremos.

img4

Una vez puesto el PLC en Program pulsamos sobre SET DATA/TIME.

img5

Una vez pulsado se nos abrirá la siguiente ventana, en la cual podemos configurar manualmente la fecha y hora.

img6O en su defecto podemos seleccionar que use la del ordenador desde el que estamos conectados, que es lo que voy a hacer yo, así que seleccionamos la opción Use current computerr´s data and time y pulsamos sobre OK.

img7

Una vez aceptado, volvemos a poner el PLC en Run , asegurándonos de que podemos hacerlo pulsamos sobre el mismo selector desde el que anteriormente hemos puesto el PLC en Program.

img8

De nuevo nos preguntará, si estamos seguros de que queremos pasa a Run, le decimos que OK.

img9

Y con esto, quedará cambiada la hora, del modo 1.

Modo 2, desde el programa:

Presupongo, que todos sabemos conectarnos al PLC, movernos por el PLC y transferir los programas, así que vamos al grano.

En la línea de programa que deseemos, insertamos del modo habitual una Instrucción.

img10

Se nos abrirá la siguiente ventana, en la cual buscamos y  seleccionamos pulsando OK la instrucción RTC_SET

img11

En la página 421 del manual http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/2080-rm001_-es-e.pdf tenemos más información acerca de la instrucción, en las que dice que para el modelo 810(El del ejemplo) y 820 basta con rellenar el campo de la instrucción RTCData.

Pulsamos dos veces sobre la parte baja de RTCData.

img12

Y se nos abrirá el Variable Selector.

img13

Rellenamos el nombre de la variable que deseemos y pulsamos OK.

img14

Insertamos también un contacto, desde el que vamos ejecutar la instrucción RTC_SET.

img15

Una vez hecho todo lo anterior, transferimos el programa y nos ponemos Online.

Hacemos doble click sobre el contacto SET.

img16

Y se nos abrirá la ventana de variable Monitoring.

img17

Expandimos el tipo de dato SET_CLOCK y rellenamos la fecha que queramos, durante el ejemplo compruebo que no se puede establecer una fecha inferior al año 2000.

Rellenamos las variables marcadas, no hay que rellenar la variable SET_CLOCK.DayOfWeek ya que el manual dice que se ignora, ya que se calcula sola.

img18

Una vez rellena la fecha que queremos activamos la variable SET pulsando sobre su campo LogicalValue para activarlo.

img19

Una vez activado, veremos que se ejecuta la instrucción, si Sts está a 1, es que la instrucción se ha ejecutado correctamente.

img20

Una vez que hayamos comprobado que se ha ejecutado correctamente desactivamos la variable SET.

img21

Comprobamos que la Fecha y Hora se han cambiado correctamente

img22

Comprobamos que se ha cambiado correctamente, los minutos no coinciden porque es el tiempo que he tardado en realizar todo esto.

Un saludo, Fran.

favicon