Archivos de autor Satoshi

PorSatoshi

Llamadas a funciones en PLC’s

En informática y en programación en general, estamos acostumbrados a hablar de funciones. Las funciones también son comunes dentro de la programación industrial y en los PLC’s en particular.

¿Que es una función? ¿Para qué sirve?

Una función es una pequeña parte de un programa que realiza un trabajo muy concreto. Son muy útiles porque generan una independencia del programa principal, y se caracterizan porque son llamadas ya sea desde el mismo programa principal u otra función.

Ejemplos hay muchos. Por ejemplo, si yo hago un programa que sea una calculadora, es posible que quiera tener una función dedicada para los cálculos (suma, resta, etc.), y que el programa principal sea el gestor que haga las llamadas pertinentes, además de gestionar la comunicación con el usuario.

¿Y en un PLC? ¿Y en Codesys? 

En el mundo de los PLC, las funciones siguen las líneas mismas líneas maestras que en la informática, pero además cumplen otro rol: la mejor organización del programa. 

Ya lo sabemos, los programas de los PLC’s pueden ser muy largos, y seguramente la independencia de ciertas tareas en funciones, del programa principal, agrega mejor lectura y versatiladidad al programa.

¿Cómo se programa una función en Codesys?

Las funciones en Codesys son POU’s. En Codesys tenemos tres grandes grupos de bloques de programación (POU’s):

  • Programas (PRG)
  • Funciones con memoria (FB)
  • Funciones sin memoria (FC)

Por lo tanto, las funciones se programan ya sea con los FB o los FC, cada uno tiene sus propias características, pero la principal diferencia, es que los primeros tienen memoria, a diferencia de los segundos.

¿Un ejemplo?

Hay algunos ejemplos en los que son especialmente útiles, como por ejemplo, en la realización de cálculos matemáticos.  Un ejemplo muy bueno es la programación de una calculadora.

¿Te gustaría ver el ejemplo? No te pierdas esta entrada al blog, con vídeo incluido: 

¿Te gustaría seguir aprendiendo sobre Codesys?

Si quieres seguir aprendendiendo a programar PLC’s y Codesys no deberías perder la oportunidad de echar un vistazo a los links que te dejamos más a bajo, contamos con múltiples formas de ayudarte 🙂 

Soluciones Codesys

Workshop Nivel 1 y 2
Soluciones System Partner
Consultoría y Soporte
PorSatoshi

Programar una Calculadora sobre un PLC Codesys

¿Quién no ha usado una calculadora alguna vez? Todos, ¿Verdad? En esta entrada explicamos cómo programar una calculadora con PLC’s, bajo el entorno de programación Codesys. Veamos:

¿Cómo se programa una calculadora con un PLC?

Dicen que una imagen vale más que mil palabras… ¿Y un vídeo? Veamos a continuación cómo programar una calculadora con un PLC:

Interesante, ¿Verdad? Pues a continuación veamos al detalle cómo funciona el programa.

¿Cómo funciona?

¿Detalles de funcionamiento? Veamos: Aunque no es un programa complejo, existen dos POU’s:

  • PLC_PRG
  • Calculos

El primero es el programa principal, y gestiona las variables que comunican entre la interfaz de visualización, así como la ejecución en orden de la secuencia de operación. También llama a la función especifica dedicada a los cálculos, que realmente se dedica sólo a calcular, en función de los parámetros que reciba del programa principal.

Hay todavía otro elemento importante, que es el objeto visualización. La visualización, al tener teclado, cumple también la función de teclado, por lo que en realidad es el elemento que hace toda la interacción con el usuario. En función de cómo se interactúe, el objeto visualización va pasando valores diferentes al programa principal.

¿Alguna particularidad más?

Habrás notado que una de las particularidades más interesantes es que usamos un FC para realizar los cálculos. Los FC son POU’s sin memoria, que devuelven resultados diferentes en función de las entradas instantáneas del momento.

¿Por qué hemos usado un FC? Porque justamente es el POU apropiado para esto: el resultado de la suma siempre dependerá de los dos operandos que usemos, así como la resta o la división…

Otra característica importante, es que al FC lo hemos alimentado con variables de entrada, y el mismo nos ha devuelto variables de salida.

¿Nuevo en Codesys? 

Si este es tu caso, te recomendamos que leas algunas de estas entradas en nuestro blog. Te dejamos aquí sólo algunas:

Soluciones Codesys

Workshop Nivel 1 y 2
Soluciones System Partner
Consultoría y Soporte
PorSatoshi

Nueva Tienda dedicada a Makers

Si te gusta el movimiento maker y eres un apasionado de la electrónica, estás de enhorabuena porque desde hace unas semanas hemos lanzado nuestra nueva tienda dedicada a makers.

¿Cómo es la tienda?

Se trata de un ecommerce dedicado a makers, donde se encontrarán placas de diferentes fabricantes. Entre las categorías propias, se pueden encontrar componentes electrónicos, placas de desarrollo, sensores, pantallas e incluso libros y cursos. Podrás encontrar la web en el siguiente enlace:

¿Qué apartados tiene la web?

Además de las clásicas categorías organizadas por productos, hemos incluido una sección específica para tutoriales. En ella, encontrarás varios tutoriales dedicados al mundo maker, como por ejemplo:

Y muchos más! De hecho, seguramente, con el paso del tiempo los tutoriales podrían irse ampliando con otros. La idea es ir generando contenido con el paso del tiempo.

Otro apartado que hemos incluido es un blog, dónde se irán relacionando varios temas, como noticias, cursos o eventos, sobre el Internet de las Cosas.

¿Por qué “Internet de las Cosas”?

Porque el Internet de las Cosas es una de las temáticas más interesantes en las que un maker puede trabajar. Como se sabe, el IoT está cambiando paradigmas y aportando valor en muchas industrias, y el movimiento maker tiene una buena responsabilidad en todo esto.

Si quieres saber más sobre el Internet de las Cosas, te aconsejamos leer algunos de estos artículos:

Y otras noticias más… De hecho, igual que pasa con los tutoriales, esta sección esperamos que se irá ampliando.

¿Algo más?

No realmente, excepto que no dudes en contactarnos en caso de duda!

PorSatoshi

Sentencias condicionales con ST

Ya hemos hablado en otros post sobre el Texto Estructurado. Como ya comentamos,  su uso dentro de un PLC puede llevar a nuevas ventajas para programadores y compañías

¿Por dónde empiezo?

El Texto Estructurado, o ST, es uno de los 5 lenguajes del IEC 61131-3 , la  normativa que dicta cómo programar PLC’s sin depender del Hardware.

Se trata de un lenguaje textual y orientado a objetos – que puede recordar mucho a otros como Java, por ejemplo-. En este sentido, es un lenguaje que hereda muchas de las propiedades y ventajas de otros lenguajes de programación usados en la informática. En esta entrada encontrarás más información.

¿Qué es una sentencia condicional?

Dentro del mundo de la programación, diríamos que al conjunto de instrucciones que dictaminan si se pueden ejecutar o no una función, la llamamos sentencia condicional.

Por lo tanto, se trata de instrucciones de alto nivel. `Por ejemplo, las que ejecutan en función de la condición (“IF..THEN..ELSE”) o las que se ejecutan en bucle como (WHILE..DO)

¿Y cómo se ve en un PLC?

El clásico programa que para algunos podría ser complicado de entender en Ladder, puede tener su traducción en ST con algunas pocas líneas de código. Por ejemplo, imaginemos un proceso donde tengamos que controlar una temperatura.

PROGRAM PLC_PRG
VAR
    Temperatura: INT;
    EncenderCal: BOOL;
    AbrirVentana: BOOL;
END_VAR

IF Temperatura < 17 THEN
    EncenderCal := TRUE;
ELSIF Temperatura > 25 THEN
    AbrirVentana := TRUE;
ELSE AbrirVentana := FALSE;
END_IF;

Como se ve, este es un lenguaje textual, en el que se pueden programar condiciones mediante las sentencias condicionales que comentábamos.

¿Otras propiedades? ¿Seguir aprendiendo?

Una de las principales propiedades, y que hablamos en su día, fue acerca de los métodos. Puedes leer más de los métodos aquí. Otra característica importante se trata de estar orientado a objetos, lo que genera propiedades especialmente valiosas en muchos casos.

Si quieres seguir aprendiendo, quédate atento a nuestro blog, puesto que planificamos lanzar un curso.

PorSatoshi

Webinar: OPC UA Java SDK

A menudo, cuando los usuarios se preguntan en qué lenguaje están desarrolladas las aplicaciones OPC UA, desconocen de la existencia de los SDK. Nuestro OPC UA Java SDK es una plataforma ideal para desarrollar aplicaciones OPC UA interoperables y sólidas.

¿Por qué OPC UA?

Quién busca desarrollar aplicaciones a prueba a futuro, capaces de comunicarse con todo tipo de aplicaciones satisfaciendo los requisitos de comunicación más exigentes (en cuanto a arquitecturas complejas, seguridad, etc.), encuentra en OPC UA a su aliado ideal.

OPC UA es una tecnología que mantiene la OPC Foundation, y que lleva más de 25 años siendo sinónimo de fiabilidad y comunicaciones en la industria. Puedes leer más aquí. OPC UA es la evolución de OPC Clásico, y se distingue de ésta, entre otros, por ser una tecnología muliplataforma, adaptable, rica en el modelo de información y adaptada a las necesidades de comunicación del siglo XXI.

¿Por qué Java?

Si OPC UA nació para ser multiplataforma, pasa exactamente lo mismo con Java. Un programa hecho en Java puede ejecutarse sobre cualquier máquina, sin importar el hardware.

Pero no sólo eso. OPC UA busca ser flexible y rico en cuanto al modelado de información. Y Java encaja perfectamente con estos objetivos, puesto que se trata de un lenguaje orientado a objetos.

¿OPC UA Java SDK?

Para los que buscan desarrollar aplicaciones OPC UA, nuestro OPC UA Java SDK es una elección excelente.

Se trata de  una opción sólida para desarrollar aplicaciones clientes, servidores y sistemas OPC UA multiplataforma. El SDK es un kit de desarrollo de software que contiene las funciones que se encargan de todos los detalles de comunicación de OPC UA, lo que significa que el programador se puede centrar sólo en lo que importa: la aplicación.  La interfaz de programación de alto nivel permite el desarrollo rápido de aplicaciones y acelerar su proceso de desarrollo.

Webinar y acceso

Si quieres probar el SDK para empezar a desarrollar aplicaciones, hemos publicado hace apenas unos días un Webinar dónde explicamos cómo empezar con él.

¿Te gustaría empezar a desarrollar aplicaciones OPC UA? Entonces contáctarnos para darte acceso.

PorSatoshi

Lenguaje Ladder y conceptos fundamentales

Si a un programador de PLC’s le preguntan por el lenguaje de programación que más utiliza en sus proyectos, existe sin duda una gran probabilidad que responda con  la palabra mágica: Ladder.

¿Por qué? ¿Cuál es su importancia? Veamos…

¿Qué es el lenguaje Ladder?

Ladder es escalera en inglés. El nombre por lo tanto recuerda que este lenguaje de programación se programa mediante símbolos gráficos y en diferentes segmentos. Como en las escaleras, en cada segmento (o escalón), programamos las diferentes sentencias de la lógica.

lenguaje ladder

Lenguaje Ladder

 

Al lenguaje Ladder también se le conoce como diagrama de contactos, puesto que realmente programamos mediante contactos eléctricos que, unidos, terminan formando una sentencia lógica.

¿Por qué es tan importante?

Cuando empezaron a usarse PLC’s, entre los años 60 y 70, los técnicos de la época estaban familiarizados con la lógica de contactos. Esto generó la necesidad a los fabricantes de PLC’s de entregar una herramienta que fuese fácilmente comprensible para los técnicos: de aquí surge el lenguaje ladder.

Con los años, cada vez se hizo más y más popular y , en nuestros días, es el lenguaje de programación industrial más utilizado de todos. De hecho y en la práctica, a día de hoy prácticamente todos los entornos de programación y autómatas son programables en este lenguaje.

¿Debería aprender?

Si estás por trabajar con PLC’s y quieres aprender a programar en Ladder, tenemos buenas noticias para ti, ya que en Opiron estamos preparando dos formaciones online para programar ya sea usando la plataforma Codesys  como también con Arduino.

¿Cómo apuntarse?

Hemos creado una página web especialmente dedicada al curso de Ladder en Codesys que encontrarás a continuación:

Para aquellos que quieran hacer el curso en Arduino, encontrarán más información a continuación:

Por cualquier otra consulta estaremos encantados de hablar contigo!

PorSatoshi

OSI, la pirámide de las comunicaciones

Todos asumimos que los protocolos de comunicación funcionan y sirven para llevar datos de un punto a otro. Por detrás, existe una tecnología que puede variar en función del protocolo. Sin embargo, lo que se mantiene inalterable es el modelo que emplean todos: OSI.

¿En qué consiste?

El modelo OSI, del inglés Open System Interconnection, se desarrolló por la ISO (International Organization for Standarization) como una arquitectura para comunicaciones electrónicas y es una referencia para el desarrollo y comprensión de protocolos.

Dicho de otra forma, OSI presenta un modelo común para entender cómo funcionan los protocolos y también para diseñar nuevos, ya que los divide en capas funcionales.

La pirámide de 7 capas

Las pirámides tienen una punta y una base. Desde el punto de vista funcional, pasa lo mismo con la capa OSI, la punta es el funcionamiento, mientras que la base mantiene el funcionamiento.

En OSI, se especifican siete capas:

  • Aplicación, 7
  • Presentación, 6
  • Sesión, 5
  • Transporte, 4
  • Red, 3
  • Enlace de datos. 2
  • Física, 1

Las capas en las que OSI divide los protocolos tienen funciones muy específicas. Las capas inferores (1 a 3), se dedican a transportar los datos a nivel físico, mientras que las superiores (4 a 7) se dedican a presentar la información a nivel de aplicación.

Ejemplos: OSI en TCP

Veamos el ejemplo del modelo TCP/IP (Protocolo para el Control de Transmisión/ Protocolo de Internet), está compuesto por cuatro capas (simplifica a OSI), en la que cada una se encarga de determinados aspectos en la comunicación y a su vez cada una brinda un servició especifico a la capa superior. 

En la imagen vemos la pila OSI (izquierda) y su modelo TCP/IP (derecha)

Conclusión, ¿Para qué sirve OSI?

En resumidas cuentas, para estandarizar protocolos de comunicación en un modelo comprensible para todos. Esto hace que los protocolos se diseñen, mantengan, y configuren en un lenguaje común, lo que sin duda hace que tanto desarrolladores como usuarios puedan generar comunicaciones de forma mucho más efectiva.

¿Te gustaría seguir profundizando en el tema? Revisa entonces nuestro recurso digital sobre Redes TCP.

PorSatoshi

Buses de campo en Codesys

Una de las mejores funcionalidades que tiene Codesys es su capacidad para poder comunicarse con todo tipo de dispositivos mediante diferentes protocolos de comunicación y buses de campo. ¿Te interesa configurarlos en Codesys? Sigue  leyendo.

¿Qué son?

Empecemos por lo esencial. Los buses de campo son medios de comunicación electrónicos e industriales para comunicar PLC’s con otros PLC’s o periferia descentralizada.

En su día, publicamos este post donde te ampliamos la información.

¿Cómo los usa Codesys?

Los buses de campo se integran en Codesys mediante librerías propias, lo que significa que podemos programar las comunicaciones mediante configuradores o mediante bloques.

Los configuradores están perfectamente integrados y se pueden usar para programar las comunicaciones de forma sencilla e intuitiva:

Por el otro lado, los bloques e instrucciones específicas permiten programar las comunicaciones de forma dinámica, lo que en algunas veces puede ser beneficioso para programar determinadas funciones.

¿Qué buses de campo soporta Codesys?

Codesys cada día se amplía, pero para resumir podríamos decir que tenemos disponibles:

  • Modbus en sus diferentes variantes (TCP, RTU…)
  • PROFIBUS y PROFINET
  • EtherNet / IP
  • EtherCAT
  • BACnet
  • J1939
  • Sercos
  • IO-Link

Unos cuántos, ¿Verdad?

Beneficios de usar Buses de Campo en Codesys

Además de las propias ventajas que tiene poder comunicarse con tantos tipos de dispositivos, hay otras ventajas implícitas, que las podríamos resumir en:

  • Generar la configuración en el mismo entorno (sin tener que aprender e instalar cosas nuevas)
  • Depurar errores en el mismo entorno que la lógica del PLC
  • Elegir con más libertad el protocolo o bus que usaremos para la aplicación (tenemos tantos disponibles…)

Seguir aprendiendo

Este año hemos iniciado nuestros Workshops con buses de campo con Codesys, donde, entre otros, hablamos de Modbus, I/O Link, Ethercat y CANOpen.

Y tú, ¿Cuáles usas? ¿Te sientes cómodo con ellos?

PorSatoshi

Nuevo Evento I/O Link con Codesys

Desde hace unos años, I/O Link ha emergido como una prometedora tecnología dentro de la norma IEC 61131 (Sí, la misma de Codesys).  Como especialistas en IEC61131, hemos decidido organizar un evento I/O Link donde se muestre como integrar Codesys con I/O Link.

¿Qué es Codesys?

Es un software de programación de PLC’s basado en la normativa IEC 61131-3, . Una de sus mayores particularidades es que es agnóstico al hardware, lo que posibilita que se puedan programar muchos controladores. Tienes más información en nuestra serie de artículos codesys.

¿Qué es I/O Link?

I/O Link es parte de la normativa IEC61131, de la que también forma parte Codesys. En particular, I/O Link es la sección IEC61131-9, que resuelve la interfaz de comunicación entre PLC’s con sensores y actuadores.

Por lo tanto, diríamos que se trata de un protocolo de comunicación orientado a la comunicación de sensores y dispositivos en la industria. Hay muchas ventajas en I/O Link, pero seguramente la más importante es la de formar parte del estándar -lo que genera la independencia de hardware, al igual que ocurría con Codesys-.

Puntos de la Jornada

Durante la jornada, haremos una demostración de las capacidades de I/O Link. En particular, veremos diferentes casos sobre cómo se usa la tecnología, y cómo combinarla con Codesys y OPC UA para tener una fábrica inteligente.

El enfoque de la jornada es muy práctica, y va a incluir tanto presentaciones técnicas como demostraciones para facilitar una rápida comprensión de la tecnología.

¿Cuándo y dónde?

El evento I/O Link será en Munro, Buenos Aires, el día 10 de Marzo de 2020. El evento lo organizaremos junto con la empresa Aumecon, representante de Turck en Argentina.

¿Cómo apuntarse?

Puedes solicitar tu vacante consultándonos aquí. Si eres un gerente, programador, integrador de sistemas, técnico de mantenimiento y en general estás interesado en conocer más de I/O Link, no deberías dejar pasar esta oportunidad.

PorSatoshi

Buses de campo

La imperiosa necesidad de integrar cada día más señales de control en la industria llevó a  buscar alternativas al cableado habitual ¿Te interesa saber más sobre buses de campo? Sigue leyendo.

¿Qué es un bus de campo?

Empecemos por lo esencial. Los buses de campo son medios de comunicación electrónicos e industriales para comunicar PLC’s con otros PLC’s o periferia descentralizada.

Dicho de otra forma, un bus de campo es un bus que nos permite comunicar con otros dispositivos con un protocolo específico en campo, es decir, en una área de fabricación.

¿Por qué debería comunicarse un PLC con un bus de campo?

Bueno, ya sabrás que una de las características esenciales de los PLC es su capacidad de comunicarse con su entorno mediante Entradas y Salidas. Las Entradas y Salidas normalmente se comunican con el PLC mediante módulos específicos y cada una de ellas es cableada por separado.

El bus de campo integra muchas señales, reduciendo en gran medida los costes de instalación

Los buses de campo se caracterizan por hacer lo mismo pero simplificando la instalación, puesto que el cable permite integrar muchas más señales. Además, estos buses tienden a ser cada vez más inteligentes, lo que significa que permiten llevar señales adicionales como fechas de calibración etc.

Los beneficios de los buses de campo por lo tanto son muchos, pero resumiendo: instalación más rápida, mejor mantenimiento, más interoperabilidad y reducción de tiempos de parada.

¿Qué buses de campo existen hoy en día?

El desarrollo tecnológico ha hecho que surjan muchos y diferentes. Por ejemplo, AS-I, Profibus, Modbus, etc. Cada uno con sus diferentes particularidades y ventajas.

Seguramente, la evolución tecnológica de los últimos años ha venido acompañada por los pasos hacia delante en la electrónica, lo que ha permitido que los buses más nuevos tengan mayores capacidades de comunicación, más velocidad, etc.

¿Debería usar aprender a usar buses de campo?

Si estás trabajando en automatización industrial, más temprano que tarde vas a tener que aprender, así que sí… Por eso, te recomendamos que eches un vistazo a este curso sobre buses.