Archivo de etiquetas Codesys

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

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

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

Los métodos, otro paradigma del texto estructurado

La programación orientada a objetos, los métodos y el texto estructurado traen consigo nuevas propiedades y paradigmas respecto a la programación industrial tradicional. Una de las propiedades que mejor expresan esta nueva característica son, sin lugar a dudas, los métodos. En este post hablamos de ellos.

¿Qué es un método?

Dentro de la programación orientada a objetos, si nos ceñimos a la definición de libro, diríamos que un método es “Un procedimiento función, que pertenece a una clase”. Las clases, en POO, son los propios objetos. En ellas se incluyen las propiedades de los objetos, y pueden contener variables, métodos, etc.

¿Y cómo afectan a la automatización industrial?

Como ya definimos en esta entrada, la programación orientada a objetos define un nuevo paradigma, porque permite expresar la realidad de forma diferente a como estamos acostumbrados en la automatización tradicional. Pongamos ejemplos. Una válvula es un objeto. Por lo tanto, es una clase. Y como sabemos, una válvula encapsula múltiples atributos. Por ejemplo, el tipo de válvula (On / Off, analógica, etc.), pero también si ésta usa alguna función para abrirse. De esta manera, esto tiene tres beneficios fundamentales:
  • La interacción con los objetos es más natural, llamamos a un objeto, y luego a “su” método: “Abrir Vávula”.
  • Declaramos una clase una vez, pero luego podemos hacer instancias cuantas veces queramos. Esto significa reducir código.
  • Reduce los tiempos de programación.

Implementación

Como ya sabéis, el estándar IEC 61131-3 y Codesys permiten la implementación de métodos y texto estructurado en todo tipo de PLC’s. Y por lo tanto, su llamada en Codesys se puede implementar con facilidad.

Seguimos!

Como ya anunciamos hace un tiempo, estamos trabajando en un curso de Texto Estructurado, que completará nuestra oferta formativa de Codesys. Así que, quedaros atentos! De todas formas, si quieres contactarnos para resolver alguna cuestión, puedes hacerlo ya desde este formulario.  

Soluciones Codesys

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

¿Cómo conectar hardware en Codesys?

Déjame adivinar, quieres programar un PLC de alguna marca concreta con Codesys… y te estás preguntando cómo puedes integrar el hardware en Codesys… Has buscado información en diferentes páginas y has caído hasta aquí. Si es tu caso, o simplemente estás buscando información de Codesys, sigue leyendo.

Algunas ideas antes de empezar

Como ya sabemos, Codesys es una herramienta de programación de PLC’s multiplataforma, en el sentido que podemos programar múltiples PLC’s en un mismo entorno. Por otro lado, no es menos cierto que la programación se basa en el popular estándar IEC 61131-3, lo que significa que estamos programando bajo un estándar, independientemente del hardware que estemos tratando.

Lista de ingredientes necesarios

Con estas ideas sobre la mesa, entendemos que podemos hacer programas antes de pensar en el hardware. Sin embargo, al final, en algún momento necesitaremos llevar los datos a algun PLC. Sin embargo, antes de seguir, déjame advertirte que necesitarás tres ingredientes para lograr tu propósito. A continuación:
  1. Los datos del equipo que queremos programar (incluyendo el PN, etc.)
  2. Las librerías que contienen el hardware
  3. El entorno de Codesys
De estos tres elementos, seguramente te falta el segundo ingrediente. ¿Dónde lo consigo? No hay una única respuesta.

Vídeo

Te comentaré algunos secretos y opciones para conseguir hardware e integrarlo a Codesys en el siguiente vídeo. Dentro vídeo: Sin embargo, puede que realmente no uses Codesys como plataforma, sino alguna basada en ella. Por ejemplo, puede que uses Twincat, o tal vez IndraControl V… Si ese es tu caso, puedes contactarnos si precisas ayuda.

¿Que más tips puedo aprender?

Puedes seguir aprendiendo tips sobre Codesys leyendo el post sobre cómo generar copias de seguridad. O si lo prefieres, puedes echar un vistazo a nuestra lista de servicios y cursos relacionados. Somos expertos y estamos para ayudarte, así que no lo dudes!  

Soluciones Codesys

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

Nuevo Workshop de Codesys en Saguapac Bolivia

Estamos contentos de anunciar que los pasados días 20, 21, 22, 23 y 24 de Mayo estuvimos en Santa Cruz de la Sierra, Bolivia, donde impartimos un Workshop especializado sobre Codesys®.

Como partners de Codesys®, somos expertos en la tecnología, y solemos asesorar a las empresas para su implementación.

Módulos y modalidad del Workshop

El entrenamiento In Company es una modalidad de curso dirigida por un instructor, que se desplaza a las oficinas del cliente final. A lo largo del entrenamiento, las partes teóricas son seguidas por ejercicios prácticos para asegurar que los conocimientos son correctamente adquiridos por los alumnos.

El Workshop estuvo compuesto por 4 módulos completos, cada uno con diferentes capítulos teóricos y prácticos. Son los siguientes:

  1. Fundamentos de automatización y PLC’s
  2. Introducción a Codesys®
  3. Comunicaciones Industriales con Codesys®
  4. Programación avanzada con Codesys® y texto estructurado

Tópicos tratados

Entre otros, vimos una descripción completa sobre diferentes opciones de comunicación con Codesys®, tales como OPC o Modbus. También tratamos diferentes temas como lenguajes de programación, configuración de hardware o creación de librerías entre otros muchos temas interesantes.

También vimos temas candentes como interfaces de visualización, que incluso pueden permitir trabajar sobre dispositivos móviles tales como Android, iOS, etc.

Acerca de Saguapac

Saguapac es una cooperativa de servicios de agua potable y aguas residuales en Santa Cruz de la Sierra- Bolivia. Por supuesto, el uso de tecnología de Codesys® en sus instalaciones está resultando muy efectiva.

Solicita tu Workshop

La modalidad In Company brinda una experiencia única al participante, ya que se ofrece un modo de aprendizaje interactivo, donde se combinan teoría y prácticas enfocadas a casos reales.

Una de las cosas que además hace especialmente recomendable esta modalidad es la de poder ver casos específicos con el cliente, lo que hace que los cursos sean especialmente provechosos.

¿Te interesa? Puedes contactarnos directamente haciendo clic aquí.

PorSatoshi

Nuevo Curso de Codesys Oficial

Estamos muy contentos de anunciar el primer curso de Codesys oficial en castellano. Ya comentamos hace unos meses que eramos nuevos partners de Codesys.  Pues ahora hemos lanzado un nuevo curso para aquellos que quieren adentrarse a programar.

Algunos comentarios acerca del curso

Se trata de un curso teórico y práctico en español donde los participantes, una vez terminado, estarán familiarizados con la plataforma CODESYS y podrán utilizarla para llevar a cabo proyectos de automatización real y de domótica.

¿No sabes qué es Codesys? Clic aquí-

El curso utiliza Raspberry Pi y el simulador CODESYS como plataformas educativas. Los alumnos tendrán acceso a una plataforma en línea donde tienen contenidos como videos y exámenes, y acceso a un profesor al que pueden preguntar libremente.
Realizaremos varias ediciones cada año.

¿Y qué voy a aprender?

El curso se compone básicamente de dos grandes módulos:

  • Introducción a Codesys: Se trata de un módulo de 6 unidades. En este módulo aprenderás a programar en Codesys. Haremos desde una introducción, hasta a programar aplicaciones y a realizar HMI’s. También aprenderás los fundamentos de IEC 61131-3.
  • Domótica con Raspberry Pi: En este segundo módulo aprenderás a enfocar proyectos con Codesys de manera práctica. En términos generales, la idea del curso es darte las herramientas para programar, mediante una Raspberry Pi, aplicaciones de domótica (e industriales). También verás teoría sobre comunicaciones entre dispositivos.

 ¿Cómo puedo apuntarme?

Usaremos la Codesys Store, el marketplace de soluciones de automatización, para que puedas apuntarte al curso (clic en la imagen):

Codesys Store

Haz clic en la imagen para más información.

También es posible apuntarse indivualmente a un módulo en concreto a través del Campus Tecnológico Virtual, en:

¿Más información?

Como siempre, estamos abiertos a tomar un café. Además de cursos, hacemos proyectos y servicios de consultoría. Puedes echar un vistazo a nuestros servicios en nuestra Opiron Store:

Para más dudas o consultas no dudes en contactarnos!

PorSatoshi

Conversiones analógico digitales en Codesys

En (casi) todos los proyectos en los que vayas a programar una automatización, te vas a encontrar con la necesidad de leer valores analógicos. ¿Cómo escalarlos para poder leer su valor? En este post te lo explico:

¿Escalar?

Empecemos con lo más basico. ¿Por qué tendría que escalar un valor?
Si lo pensamos, muchos de los instrumentos analógicos que conectamos a nuestros PLC’s vienen con fichas técnicas que nos indican un doble rango: el de medición, y el de salida eléctrica. A esto, hay que agregar todavía un tercer rango, que es el que nos da el conversor analógico digital. Veamos un diagrama de bloques:

Pasos en la conversión A/D

Para el ejemplo que vamos a tratar, imaginemos que intentamos conectar un sensor de presión que mide de 0 – 5 bar, con una salida de 4 – 20 mA.
Nuestro reto por lo tanto, será que en el PLC podamos leer realmente los 0 – 5 bar. Tenemos que hacer 3 conversiones de unidades.

¿Y cómo lo hago?

Uno de los elementos que influyen es el conversor analógico digital. El PLC es en definitiva una máquina de unos y ceros. Esto significa que los valores analógicos necesitan ser codificados en un vector de 1/0 consecutivos. Estas conversiones se pueden interpretar en definitva como “cuentas”, que van entre un valor minimo “Val_m” y un valor máximo “Val_M”. Cuantas más cuentas, mayor será el valor analógico.
La clave de esto es leerse el datasheet de la tarjeta de entrada analógica e interpretarlo para poder hacer la conversión correspondiente.
Un ejemplo puede ser por ejemplo el de esta tarjeta de Wago:

Correspondencia entre corriente y cuentas

Leyendo la hoja de características podemos hacer una correlación “cuentas” y mA. Claro, nos falta tener la otra relación, que es la de bar – mA. Pero en este caso, suponemos que es simplemente una línea recta, donde 0 bar corresponde a 4 mA, y 5 bar corresponde a 20 mA.

Valor medido (bar) Valor medido (mA) Valor en A/D
0 4 0
1 7,2 6552
2,5 12 16384
3,5 15,2 22936
5 20 32760


Dentro Vídeo

Vistas estas notas, vamos a ver el vídeo donde os presento la instrucción LIN_TRAFO. Este método os será valido siempre que las señales sean lineales:

Más información

¿Qué te ha parecido? En realidad hay más formas de hacer conversiones en Codesys. ¿Cuál usas?
Para seguir aprendiendo te recomiendo que te suscribas al blog de Opiron, o que le eches un vistazo a los cursos disponibles.
Saludos 🙂

Soluciones Codesys

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

Codesys en Raspberry Pi

Programar una Raspberry Pi como si de un PLC se tratara. Realizar aplicaciones de automatización profesionales. Realizar aplicaciones interactivas con el mundo real y todo ello bajo un entorno de programación de ingeniería. ¿Suena bien? La combinación de Codesys en Raspberry Pi lo permite. Sigue leyendo.

Raspberry Pi

Como ya sabréis, una Raspberry Pi es un ordenador de placa reducida. Es bastante popular su uso en el ámbito doméstico, ya sea usándola como media center, centro de emulación de antiguas consolas o, incluso para hacer algunos proyectos de domótica. En este último caso, sin embargo, una carencia siempre ha sido la de no contar con entornos de ingeniería completamente profesionales para la realización de proyectos.

¿Qué sería posible si se pudiese combinar con una plataforma tan potente como es Codesys®?

Codesys ®

Si eres un habitual de nuestro blog, ya sabrás que se trata de una plataforma de ingeniería de automatización completa. Si no sabes qué es, te aconsejo hacer clic en esta entrada.

Dentro de su gama de productos, tenemos por un lado un entorno de ingeniería muy potente y muy profesional, ideal para hacer proyectos de ingeniería. Su programación se basa en IEC 61131-3, una potente normativa que permite programar dispositivos en múltiples lenguajes de programación y sin depender del hardware.

Por el otro, tenemos los runtimes, pequeños programas que permiten que un hardware sea compatible.

Combinación de Codesys en Raspberry Pi

La combinación abre un nuevo mundo de posibilidades para makers, ingenieros y programadores. La combinación permite por ejemplo, la programación de proyectos de automatización en Ladder o texto estructurado. También permite habilitar comunicaciones industriales, tales como EtherCAT o Profinet. O, por ejemplo, realizar interfaces de visualización funcionales y multiplataforma.

Próximas novedades

Como partners de Codesys® estamos preparando algunas novedades y esperamos que, en no mucho tiempo, podamos dar forma a algunos contenidos que, de buen seguro, os van a interesar.

Si te ha interesado este post y quieres sabe más, te sugerimos que visites la página promocional que hemos preparado en el siguiente enlace.