Codesys: 10 tips para iniciarse en la programación

Como comentábamos en otras entradas, Codesys ® es un potente software de programación de PLC’s basado en la norma IEC 61131-3, compatible con una gran variedad de PLC’s de diferentes fabricantes.  ¿Qué tips son recomendados para iniciarse con el entorno? Os dejo a continuación los que son, a mi parecer, los 10 más importantes:

Contenidos

1. Declaración de variables

Todo programa de automatización necesita variables, y en Codesys ® tenemos básicamente dos tipos de variables: las locales y las globales. Las primeras las declaramos en las mismas funciones, mientras que las segundas se declaran insertando un objeto GVL (Global Variable List).

2. Direccionamiento

Cuando programamos en Codesys ® trabajamos con símbolos, no con direcciones de memoria directamente. La asignación de la variable con la dirección de memoria respectiva se puede hacer de dos maneras diferentes.
Codesys
Direccionamiento en CodeSys
Una posibilidad es asignar la dirección de las variables desde la misma declaración de variables con la sintaxis NombreVariable AT %Dirección : TipoDato, o bien desde el objeto de direccionamiento, por ejemplo, el objeto GPIO si usamos una Raspberry PI.  

3. Referencias cruzadas

Todo programador de PLC necesita poder buscar en algún momento todos aquellos lugares del programa donde una variable está funcionando. En Codesys ®, las referencias cruzadas las podemos encontrar desde el menú Ver / Referencias Cruzadas.

4. Bloques

Codesys ® está basado en IEC 61131-3, y por lo tanto la forma de organizar las funciones y bloques son las unidades de Organización de Programa (program organization units o POUs), que permiten crear programas, funciones y funciones con memoria. Los bloques se dividen en:
  • POU: Todo bloque que se ejecuta dentro del PLC es un POU.
  • FB: Es un bloque con memoria y, por lo tanto, su salida depende ya no sólo de las entradas actuales sino también del estado de sus variables. Un ejemplo claro es una función PID.
  • FC: Es un bloque sin memoria, y por lo tanto su salida siempre se corresponderá con el valor de la entrada. Un ejemplo son las funciones matemáticas: SQRT, SIN, etc.
Resumiendo, todo bloque en Codesys ® es un POU (De Programmable Organization Unit). Además, cada uno de estos bloques puede estar escrito en los lenguajes de programación definidos por IEC 61131-3: IL, ST, LD, SFC y FBD.

5. Ampliación del software mediante librerías

Si bien el software trae consigo muchas librerías, con el paso del tiempo necesitaremos ampliar con más funciones específicas. Para los profesionales de automatización recomendamos la librería oscat.de

6. HMI integrado

Viene con un HMI incorporado en el software, lo que permite que el desarrollo de la interfaz hombre máquina pueda hacerse en el mismo entorno de desarrollo, pudiendo hacer una integración mucho más efectiva.

7. Versiones de software

Hay dos versiones de software disponibles en la actualidad, la v2.3 y la v.3.5. Cada una tiene sus pros y sus contras, si bien la v3.5 es la más nueva. Recomendamos usar la última.

8. Simulación

Codesys ® trae consigo un simulador potente, una herramienta excelente que nos servirá para poder depurar y probar los programas que hagamos antes de volcarlos a los PLC.

9. Ejemplos: ¿Por dónde empiezo?

En la CoDeSys Store hay varios ejemplos gratuitos muy interesantes que se pueden descargar.

10. Ayuda online

La última versión no tiene un manual específico, pero en cambio trae consigo una ayuda integrada al software muy completa, que es de muchísima utilidad para poder empezar a programar.

Soluciones Codesys

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

6 comentarios

  1. en la introducción (10 tips para empezar…) habla de ejemplos gratis para descargar , linkeo y no entra a la página que debería brindar dichos ejemplos

  2. Muy buena su información, sin embargo tengo un pequeño problema con CoDeSys, cuando trato de configurar símbolos no me aparece el botón de build de construir variables, por favor le agradezco cualquier información al respecto

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.