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

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

 

Efímera constancia……

logo2dominios

 

 


Hace unos meses, mantenía una conversación con una persona que estos últimos años, me ha ayudado mucho a mejorar en muchos planos de la vida. Comentábamos sobre la generosidad a la hora de compartir el conocimiento, y como muchas personas se volvían cicateras, en un intento de protegerse de posibles “asaltos” a su castillo de naipes del conocimiento.

“La automatización es efímera y por ello no me preocupa compartir…..” le contesté, quedó sorprendido durante un instante, y cuando reaccionó me solicitó que le explicara que quería decir. Lo intenté con estas palabras:

“Una de las cosas que he aprendido a lo largos de estos años en mi carrera profesional, es que la tecnología y por ende la automatización es efímera, cuando guardas algo en tu zurrón pensando que es tu tesoro, cometes dos errores: uno pensar que nadie llegará a adquirirlos sin tu ayuda y el segundo es que cuando los sacas y lo haces visible, está obsoleto”.

efimero_0

Por ello, creo que una de las virtudes que debe tener un técnico que se dedica a la automatización, es la constancia y la perseverancia, o también me gusta explicarlo con estas frases: “nunca perder la ilusión de querer aprender, ni la ilusión de quedar sorprendido cuando funciona algo, en definitiva ser como un niño….”.

efimero_1

Este verano un gran amigo me regaló el libro de Creatividad, S.A. de Ed Catmull y algo que deja claro este triunfador en muchos capítulos, era precisamente la idea de compartir y eso que se jugaban muchos millones y prestigio. Precisamente mientras lo leía, tuve una serie de catastróficas desdichas con un portátil y varios discos duros, perdiendo información muy valiosa. No es la primera vez que me pasa, aunque en la otra ocasión, yo tuve más la culpa y también Linux (verdad Miguel Tena), con independencia del coste económico, tengo que decir que no me ha dolido tanto, ya que mucha de esa información, la tengo publicada o compartida con muchos colegas y sólo he tenido que hacer unas llamadas para recuperar casi todo.

Tengo un amigo que me “pega mucha caña” con ésto y me dice que se aprovechan de mí en muchas ocasiones, siempre intento explicarle por qué lo hago y por qué me importa poco que de vez en cuando se aprovechen, la verdad que nunca consigo convencerle. Existen varios motivos, no obstante el más importante soy yo mismo, ya que me siento genial con cualquiera de estas acciones: compartir, explicar, ayudar…..

Esta generosidad se debe interiorizar y no se tiene que presumir de ella y por supuesto, nunca esperar nada a cambio, así nadie nunca te defraudará.

¡Ser generosos tiene recompensa!.

Esta entrada está dedicada a JIRC y aprovecho para agradecer todo lo que he aprendido junto a él y lo que me ha ayudado en mi desarrollo.

¡Saludos!.

favicon

European Maker Week Sevilla

logo_dominios_725


El próximo 3 y 4 de junio se hablará de cultura “maker” en Sevilla, en el Espacio CREA, yo ya he reservado entradas para toda la “familia”, ¿te apuntas?.

maker_sevilla

.

https://www.facebook.com/events/553836348123798/

http://events.europeanmakerweek.eu/events/view/341

“European Maker Week es un evento impulsado por la Comisión Europea e implementada por Maker Faire Rome en colaboración con Startup Europe. El evento es una celebración conjunta de makers e innovadores en Europa durante una semana (del 30 de mayo al 5 de junio) en 38 países de la Unión Europea.

En Sevilla tendrá lugar el 3 y el 4 de junio y en él tienen cabida profesionales, empresarios industriales, emprendedores, hackers, fans, estudiantes, para tecnólogos y no tecnólogos, frikis y no frikis, mayores y niños.

Tendremos charlas y talleres para explicar la importancia y aplicaciones de tecnologías relacionadas con el mundo Maker y Hacker como: impresión 3D, plataformas de hardware libres como Arduino / Genuino o Raspberry Pi, huertos urbanos, GIS, wargames, Minecraft, etc”

¡Saludos!.

favicon