Tag Archive Codesys

PorSatoshi

¿Debería aprender texto estructurado en Codesys®?

Antes de hablar si merece la pena plantearse programar en texto estructurado en Codesys ® – ST, de Structured Text- empecemos diciendo que este lenguaje está disponible conforme a la norma IEC 61131-3 – puedes saber más sobre la norma en este post-. La norma define 5 lenguajes de programación en automatización.

¿Por qué Texto estructurado en PLC’s?

Los PLC se idearon en un principio para poder ser programados por personal que venía de la lógica de contactos. Por eso, lo más normal en el mundo de la automatización era, y es, encontrar PLC’s que se programan en lenguaje de escalera o Ladder. Sin embargo, éste es un lenguaje que puede ser muy engorroso para realizar tareas complejas como moverse por arrays, hacer cálculos complejos, etc.

El texto estructurado es un lenguaje de alto nivel con orígenes en el Pascal y ´C´. Puede ser utilizado para codificar expresiones complejas con funciones condicionales como el IF-THEN-ELSE; CASE, etc, funciones de cálculo como SQRT, SIN, etc.

¿Debería aprenderlo?

De acuerdo, vamos al grano. ¿Debería aprender texto estructurado en Codesys ® si ya sé Ladder?.La respuesta corta es sí… pero déjame explicarte por qué :). Como comentaba en la anterior sección de este post, los primeros PLC se dejaban programar en Ladder por una cuestión del conocimiento del usuario final. El Ladder es un lenguaje adecuado, pero las CPU actuales, mucho más potentes que las de antaño, pueden permitir realizar operaciones mucho más complejas, y ahí ST resulta muchísimo más flexible en la programación.

Las ventajas del Texto Estructurado respecto a lenguajes más gráficos radican justamente en la programación estructurada. Para programas con bucles secuenciales, ST ofrece más claridad al programador, lo cual es una ventaja para evitar y corregir errores de programación.

¿Deberías aprenderlo? Sí, tanto si ya tienes experiencia como no en C o C++ es altamente recomendable tener conocimientos de ST. Por ejemplo, para aquellos que habéis hecho algunos pinitos con Arduino, os resultará fácil e intuitivo el ST. Y para los que no, es como todo, empezar y aprender poco a poco.

Conclusión

La versatilidad de IEC 61131-3 radica, entre otras, en poder usar simultáneamente varios lenguajes de programación. Cada lenguaje tiene sus ventajas e inconvenientes . Para sacar el máximo rendimiento en proyectos de automatización, es altamente recomendable estar familiarizado en varios, entre los que incluimos, como no, texto estructurado.

¿Os gustaría algún curso sobre Texto Estrcturado en Codesys ® específico? ¡Esperamos vuestros comentarios!

PorSatoshi

Backups Codesys ®

Hacer copias de seguridad (Backups Codesys ®) es una tarea completamente necesaria para cualquier ingeniero de automatización y las razón es obvia: no perder todo el trabajo y programación que llevamos haciendo desde hace tanto tiempo. Sea cual sea el entorno con el que trabajemos, podemos hacer 2 tipos de backups: online y offlline.

Backups offline

Los backups offline son los que hacemos sobre el mismo ordenador en el que estamos trabajando. Tenemos la obligación de realizar backups de nuestras aplicaciones periódicamente, puesto que de no hacerlo corremos el riesgo de perder todo el trabajo realizado. La frecuencia con la que realicemos estas copias de seguridad depende de nuestro ritmo de trabajo, pero podríamos establecer que un Backup diario seria óptimo para nuestro proyecto. En Codesys  ® podemos hacer copias de seguridad offline de dos formas diferentes.

Backups offline 1

Backups de aplicación

La primera forma es una forma offline tradicional, es decir, guardo sobre el entorno de programación en el entorno que estoy trabajando.

  1. Ir a “Archivo”.
  2. Desde el menú que se desplega, ir a “Archivo de Proyecto”.
  3. Seleccionar la carpeta donde se va a guardar el PLC.

Hecho, obtendremos una copia de seguridad que se distinguirá por tener un icono como el de Codesys ®.

Backups offline 2

Copias de seguridad automáticas

La segunda forma es para aquellos más conservadores, y se trata básicamente de poder automatizar el proceso de backups de Codesys ®. Para ello, tenemos que ir a “Herramientas”, luego a “Opciones” y desde ahí ir a “Crear y guardar”.

Backups online

¿Por qué necesitamos sacar una copia del programa que está corriendo en el PLC?

Cualquier programador de PLC que se aprecie hace una copia online de un PLC antes de descargar un programa. Las razones:

  1. Para poder tener la última versión del programa del PLC. ¿O no habías pensado que quizás alguien haya venido cargar algún programa al PLC sin que lo sepamos?
  2. Para poder tener una copia de seguridad en caso de problemas… Imagínate que vas a una instalación donde todo funciona de maravilla y tu tienes que subir apenas unas funciones de mejora, y una vez lo subes, empiezan a haber todo tipo de problemas… te aseguro que preferirás tener una copia de seguridad para restablecer la situación… lo tuyo seguro que puede esperar.

Backups online: Hacer una copia de seguridad directamente desde el PLC

Vale, ¿Y cómo lo hacemos?

  • Ir a “Archivo”.
  • Desde el menú que se desplega, ir a “Descarga de código origen”.
  • Seleccionar el PLC del cuadro de diálogo que veremos.

¡Hecho, ya tenemos nuestros Backups Codesys ®!

¿Te ha sido útil?

Si tienes otra forma de hacer copias de seguridad (Backups Codesys ®) o te ha parecido útil te agradeceré que compartas esta entrada por redes sociales. ¡Gracias!

PorSatoshi

¿Qué es un POU y cuál debo usar?

Ya seas profesional o novato de la automatización industrial,  entender qué es un POU en el mundo de Codesys ® es completamente fundamental para hacer programas coherentes y que aprovechen bien los recursos de los que dispone nuestro autómata programable.

En general, un POU es cualquier bloque programable – de hecho, POU es el acrónimo de Program Organization Unit-, pero hay varios tipos de POU disponibles:

Funciones: Son los POU que deberemos usar para estructurar programas sencillos. Las funciones no tienen memoria.

Bloques de función: Las funciones de bloque son como las funciones, pero además tienen la capacidad de almacenar valores. Tienen un interfaz de entradas y salidas bien definido y un código interno oculto. Además pueden tener múltiples instancias.

Programas: Jerarquicamente el programa es el director de orquesta. Es el que va a llamar a las funciones o bloques de función para realizar la tarea de automatización. Un programa está además vinculado con una tarea de automatización.

 

¿Entonces cuál debo usar?

Pues depende del caso. Seguramente es muy fácil discernir los bloques de función / funciones de los programas, pero no lo es tanto entre funciones y bloques de función. ¿Cuál usar? Os dejo algunos casos:

Funciones: Las usaremos para realizar cálculos (desde una multiplicación a alguna función trigonométrica), hasta una función repetitiva del programa

Bloques de función: Son ideales para funciones para controlar motores, variadores, válvulas y en general cualquier elemento que tenga implícito un conjunto de variables que requiere cierto almacenamiento.

Programas: Bueno, el programa lo necesitaremos para organizar nuestra tarea de automatización, y desde él acceder a las funciones y bloques de función. Los programas los usaremos también para acceder directamente a Entradas y Salidas.

Conclusión

Cada tipo de POU tiene sus particularidades. En mi caso caso personal, mis programas tienen más cantidad de funciones que cualquier otro, pero siempre todo depende del proyecto en el que esté trabajando.

PorSatoshi

Codesys ®: IL, SFC, LD, FBD o ST, ¿Cuál elijo?

Como ya comentamos en el último post, hay 5 lenguajes de programación diferentes de Codesys ® para el programador, que son IL, SFC, LD, CFC y ST. ¿Cuál elegir? Cada uno tienes sus ventajas e inconvenientes y tratamos de desgranarlo en este artículo:

Instruction List

Es un lenguaje de programación que resultará cómodo a aquellos que vengan de programar microcontroladores en ensamblador. Abreviado lo encontraremos como IL, de Instruction List. Seguramente es el lenguaje apropiado si buscamos funciones que se ejecuten lo más rápido posible. Sin embargo, IL tiene la desventaja de ser poco habitual en la automatización, lo que implica que sea difícil de mantener y compartir.

 

Function Block Diagram

Este lenguaje de programación se asemeja al lenguaje ladder, y es que visualmente consiste en un conjunto de bloques conectados que se pueden leer de izquierda a derecha. Abreviado lo encontraremos como FBD, de Function Block Diagram. Es un lenguaje ideal para programas simples para leer entradas de sensores pero no lo es tanto para programas complejos.

codesys

IL y CFC en Codesys ®

Diagrama Ladder

Es un lenguaje de programación muy habitual en automatización de PLC’s. Abreviado lo encontraremos como LD, de Diagrama Ladder. Visualmente, lo vemos como un diagrama de contactos eléctricos, ya que justamente sus orígenes se relacionan con la lógica de contactos previa al mundo de los PLC’s, muy habitual y comprensible para el personal de aquellas epocas. Hoy en día más del 95% de las aplicaciones del mundo son Ladder, lo que lo convierte en el lenguaje más universal y por lo tanto mantenible de todos (incluso para personal sin experiencia en programación, pero con conocimientos eléctricos).

codesys

Ladder en Codesys ®

Sequential Function Chart

Es un lenguaje de programación muy habitual en automatización y tiene su origen en los diagramas Grafcet.
Abreviado lo encontraremos como SFC , de Sequential Function Chart. Es ideal para hacer secuencias, pero poco apropiado para programas con cálculos.

CoDeSys

SFC y ST en Codesys ®

 Texto estructurado

La principal ventaja es que seguramente es el lenguaje más apropiado para realizar algoritmos complejos que se deben hacer en automatización, combinando cálculos trigonométricos con secuencias, condiciones ,etc. Sin embargo, puede que no sea muy fácil de mantener, sobretodo para personal poco habituado con este tipo de programación. Por todo esto, la tendencia con texto estructurado es hacer funciones complejas específicas que se puedan encapsular en una sola función y usarla como un sólo bloque en Ladder. En Codesys ®, abreviado lo encontraremos como ST, de Structured Text.

En cuestiones de universalidad, el lenguaje Ladder es sin duda el mejor. Sin embargo, por cuestiones de velocidad de procesamiento ST o IL son mejores. SFC es el lenguaje para secuencias.

Conclusión

La elección del lenguaje de programación depende de varios factores.En un primer lugar, nuestro background y experiencia nos pueden hacer decantar por uno u otro. En segundo lugar, si el cliente final va a hacer el mantenimiento en la instalación, debemos considerar sus conocimientos para que pueda entender el programa.

Por cierto, no os perdáis la nota que hemos publicado esta misma semana en InfoPLC sobre los 7 tips para empezar a programar en Codesys ®


Widget not in any sidebars
PorSatoshi

Codesys ®: 5 razones para aprender a programarlo

Un entorno de programación por cada tipo de PLC.

Aprender desde cero cada vez que tengo que empezar a programar un PLC de un fabricante diferente al que estoy acostumbrado.

Múltiples software significan múltiples drivers, máquinas virtuales, sistemas… Si ya es compleja de por si la automatización, sólo falta que se tenga que lidiar con tanto software.

¿Te resulta familiar? Estoy seguro que sí.

Codesys ®

Codesys ® es el acrónimo de Sistema de Desarrollo de Controladores y es un software de programación de PLC’s industriales conforme con el estándar industrial internacional IEC 61131-3. Un entorno de programación de automatización industrial universal, que me permita poder programar cualquier PLC sea del fabricante que sea, incorporando además lenguajes Ladder, de instrucciones y bloques… Seguramente parece una utopía, pero no lo es. Revisa a continuación las ventajas.

1. Más de 500 PLC’s se programan en Codesys ®

Primero, Bosch Rexroth, FESTO, Beckhoff, Schneider Electric, IFM o Mitsubishi son sólo algunos ejemplos de los fabricantes que ya han apostado por Codesys ®.  Tienes una lista completa de los PLC’s disponibles aquí.

2. IEC 61131-3

Segundo, la posibilidad de programar tu PLC con 5 lenguajes de programación diferentes, lo que seguro te dará versatilidad en tus proyectos:

  1. Bloques de función secuenciales (SFC – Sequential Function Chart)
  2. Lenguaje escalera (LD – Ladder Diagram)
  3. Lista de instrucciones (IL – Instruction List)
  4. Diagrama de bloque de funciones (FBD – Function Block Diagram)
  5. Texto estructurado (ST – Structured Text)

IL y CFC en Codesys ®

3. Simulador y HMI integrado

Tercero, trae consigo un simulador integrado, cosa que facilita muchísimo la vida al programador. No todos los entornos de programación de autómatas pueden decir lo mismo… También trae además un HMI.

Codesys ® es un entorno de ingeniería de automatización industrial integrado, que permite programar todo tipo de PLC’s con eficiencia y en diferentes lenguajes de programación

4. Gratuito

Cuarto, el entorno de programación es completamente gratuito, lo que te permitirá aprender a programar sin coste alguno. Eso sí, los runtime – los drivers que debemos subir a cada PLC-, sí tienen un coste de licencia.

 

5. Librerías

Quinto, el entorno Codesys ® está estrechamente ligado con la Codesys ® store, que tiene múltiples librerías para ampliar las funcionalidades de tus soluciones de automatización.

Conclusión

Por lo tanto, no hay lugar a dudas de que esta herramienta va a ser muy útil a todos los profesionales del mundo de la automatización: desde personal de mantenimiento hasta proyectistas, por su versatilidad y flexibilidad.

Desde Opiron hemos decidido preparar un curso, completamente en castellano (el primero) y online. ¿Te animas? No dejes de contactarnos!