Introducción #

Un runtime es una aplicación que al abrirla en un ordenador, permite trabajar con el ordenador como si fuera un PLC. Tiene que existir runtime para el sistema operativo con el que trabaje tu PC. Si no es así, una opción es instalar una máquina virtual y en ella, un S.O. soportado por el entorno con el que quieras trabajar.

Como se ha dicho, Codesys dispone de esta aplicación (Codesys Control Win Systray), que pese a ser externa al software de edición, se instala junto al paquete principal. Por tanto, aunque no podamos cargar programas eleborados en Codesys sobre un microcontrolador, podemos controlarlo en tiempo real.

La limitación que podemos encontrar en este aspecto es la tasa de intercambio de datos, debido a restricciones de la propia tecnología o a restricciones por motivos económicos que tienen que ver con el servidor MQTT utilizado. Los servidores MQTT remotos, dado que son servicios ofrecidos por empresas y tienen un coste, cobran generalmente en función del numero de datos intercambiados y de la cantidad de mensajes que se pueden intercambiar por segundo. Por ejemplo, io.adafruit.com tiene una muy buena plataforma con una versión demo muy interesante. Sin embargo, pese a ser de las mejores del mercado, solo permite un mensaje cada dos segundos. Esto limita mucho la comunicación.

Por este motivo, se propone trabajar con un servidor propio en local, sin restricciones como las anteriores. Si se desea interactuar desde internet con nuestro sistema local, se puede utilizar Node Red como pasarela entre ambos servidores. En los siguientes enlaces se explica en profundidad esta cuestión:

Descargar e instalar CODESYS Development System #

CODESYS Development System V3 se puede descargar de forma gratuita desde su web oficial. Sin embargo, utilizar la misma versión evita ciertos problemas de compatibilidad que pueden surgir. En este enlace puedes descargarte la versión con la que estamos trabajando.

Descargar el archivo Codesys de trabajo #

Se puede descargar el archivo con extensión .project y con de extensión .projectarchive. Este último es una exportación del proyecto, no un guardado simple. Los archivos que guardamos en Archivo/guardar son de extensión .project y son mucho mas ligeros porque solo incluyen el programa realizado.

Cuando se guarda en formato «archivado» un proyecto, el archivo incluye librerías y otros elementos que pueden no venir en la instalación básica de serie del software. Una vez abierto un archivo .projectarchive, ya puedes trabajar con los archivos .project en ese ordenador, porque ya ha integrado los componentes necesarios para ese tipo de proyectos.

Abrir (extraer) el archivo #

Se puede abrir haciendo clic sobre el archivo directamente:

También se puede abrir Codesys y hacer clic en Archivo/Extraer.

Como es una especie de archivo comprimido, preguntará dónde extraerlo y qué extraer. Selecciona una carpeta en tu ordenador y señala todas las pestañas:

Tras esto, acepta e indica en si (yes) las condiciones y preguntas que realiza. A continuación, seguramente te indique que hay actualizaciones disponibles. Dale a aceptar para que se cierre la ventana.

El programa se abrirá con un ejemplo muy básico programado en el bloque principal (Main):

Las carpetas que aparecen en la parte superior izquierda son parte de la configuración necesaria para trabajar en el modo preconfigurado, excepto la carpeta denominada «Genérico» que son un conjunto de funciones que permiten añadir otra comunicación MQTT diferente personalizada. Son bloques que facilitan publicar y suscribirse a distintos tipos de datos.

Activar el PLC virtual (SoftPLC) #

Se va trabajar en el ordenador con una especie de “emulador” de un PLC que ejecuta Codesys, por eso se le denomina SoftPLC (Soft de Software). Por tanto, lo primero que hay que hacer es encender el PLC (sería como enchufar un PLC físico).

El runtime para Windows de Codesys es una aplicación denominada Codesys Control Win V3 – x64 Systray, que se instala automáticamente, pero que en muchas ocasiones no se abre al abrir Codesys o si se abre, aparece con el SoftPLC apagado. Para abrirlo se puede buscar en el buscador de Windows:

Para “activar” nuestro SoftPLC, buscamos el icono del Codesys Control Win V3 – x64 Systray y hacemos clic en Start PLC:

Para terminar con esta parte, es importante recordar que este SoftPLC de Codesys en versión demo funciona durante dos horas seguidas. Al cabo de dos horas se pone en Stop y hay que volver a arrancarlo manualmente.

Conectar nuestro ordenador con el PLC virtual #

Cuando elaboremos un programa de automatización en Codesys tenemos que cargarlo en el SoftPLC. Para esto hay que indicarle al editor de Codesys que se desea cargar el programa en el SoftPLC. El proceso es muy similar a cargar sobre un PLC físico, solo que en este caso toda la transferencia de datos se hace dentro de nuestro PC.

Para ello, haz clic en Device (aparato en inglés), y en la opción Examinar Red, entra en Gateway y Equipo:

Si el proceso se ejecuta correctamente, aparecerá ya todo en verde al salir a la pantalla Device:

Para que esto suceda, no puedes olvidar activar el SoftPLC como hemos visto en el paso anterior. No podemos conectar con un PLC desenchufado. Si no lo activas, es común encontrar este error:

Tras esto, hay que indicarle al SoftPLC en qué dirección está el servidor MQTT, la parte inicial de los temas, y clave y usuario del servidor, si la tiene.

Esto se hace en el conjunto de variables «Datos_conexión_MQTT»:

Cargar el programa en el SoftPLC y ponerlo en Run #

El archivo de trabajo incluye un programa de prueba de un solo segmento. Como ejemplo se puede cargar este programa o directamente un programa vacío. Para cargar un programa debemos presionar el icono de Iniciar la sesión:

Preguntará qué tipo de carga se quiere realizar. Vamos a hacer una carga completa:

Así hemos cargado la automatización realizada, en el SoftPLC. Ahora solo queda poner en run el SoftPLC. Para ello, haz clic en el icono de Inicio: