2. Sistemas operativos utilizados en sistemas automáticos industriales

2.5. Sistemas e interfaces de programación

El desarrollo de aplicaciones para sistemas automáticos industriales requiere herramientas de software que permitan diseñar, programar, configurar, depurar y mantener las diferentes plataformas computacionales utilizadas en la industria.

Estas herramientas reciben, en términos generales, el nombre de entornos de desarrollo (Development Environments) o interfaces de programación, y constituyen el vínculo entre el ingeniero y el sistema de automatización.

Dependiendo de la plataforma utilizada, un entorno de programación puede ofrecer funciones como:

  • Edición del código fuente.
  • Configuración del hardware.
  • Compilación del programa.
  • Descarga del programa al dispositivo.
  • Monitoreo en tiempo real.
  • Simulación.
  • Diagnóstico y depuración.
  • Configuración de redes industriales.
  • Parametrización de dispositivos.

En consecuencia, la elección del entorno de programación depende directamente de la arquitectura del sistema y del fabricante de la plataforma de automatización.

Componentes de un entorno de programación

Aunque cada fabricante desarrolla su propio entorno, la mayoría comparte una estructura similar.

Un entorno de programación moderno suele estar compuesto por los siguientes módulos:

  • Editor de código.
  • Compilador o intérprete.
  • Depurador (Debugger).
  • Configurador de hardware.
  • Administrador de comunicaciones.
  • Simulador.
  • Herramientas de diagnóstico.
  • Gestor de proyectos.

Estos componentes permiten desarrollar aplicaciones completas desde una única interfaz gráfica.

Interfaces de programación según la plataforma

Las herramientas utilizadas por un ingeniero dependen de la plataforma computacional sobre la cual desarrollará la aplicación.

A continuación se resume algunos de los entornos más utilizados en automatización industrial.

Plataforma Entorno de programación Lenguajes principales
ESP32 Visual Studio Code + PlatformIO / ESP-IDF C/C++, Python
Arduino Arduino IDE C/C++
STM32 STM32CubeIDE C/C++
Raspberry Pi Visual Studio Code, Geany, Eclipse Python, C/C++, Java
PLC Siemens TIA Portal Ladder, FBD, SCL, SFC
PLC Schneider EcoStruxure Machine Expert IEC 61131-3
PLC Allen-Bradley Studio 5000 Ladder, ST, FBD
PLC Beckhoff TwinCAT IEC 61131-3, C++, MATLAB
CODESYS SoftPLC CODESYS Development System IEC 61131-3
Node-RED Editor Web Programación basada en flujos
SCADA WinCC TIA Portal / WinCC Explorer Scripts VB, C#, JavaScript
Ignition SCADA Designer Python
Factory I/O Interfaz gráfica Configuración

 

El entorno de programación como herramienta de ingeniería

En ingeniería de automatización, el entorno de programación no sólo permite escribir código.

También constituye una herramienta de configuración, puesta en marcha y mantenimiento del sistema.

Por ejemplo, en TIA Portal es posible:

  • Configurar el hardware del PLC.
  • Parametrizar módulos de entrada y salida.
  • Configurar redes PROFINET.
  • Programar la lógica de control.
  • Diseñar pantallas HMI.
  • Diagnosticar fallas de comunicación.
  • Monitorear variables en tiempo real.

En forma similar, CODESYS permite desarrollar aplicaciones SoftPLC, configurar buses industriales y supervisar el estado del controlador desde un único entorno integrado.

En consecuencia, los entornos modernos evolucionaron desde simples editores de programas hacia plataformas completas de ingeniería.

TIA Portal Tutorial by Siemens - YouTube

Qué Es TIA Portal? (de Siemens AG)

Tendencias actuales

Durante los últimos años los entornos de programación evolucionaron hacia arquitecturas cada vez más integradas.

Actualmente es frecuente encontrar herramientas que permiten desarrollar aplicaciones para múltiples plataformas desde un único entorno de trabajo.

Entre las principales tendencias pueden mencionarse:

  • Ingeniería basada en modelos.
  • Gemelos digitales (Digital Twin).
  • Simulación antes de la puesta en marcha.
  • Programación colaborativa mediante control de versiones (Git).
  • Integración con servicios en la nube.
  • Desarrollo basado en contenedores (Docker).
  • Integración con inteligencia artificial para asistencia al desarrollo.

Estas tecnologías están transformando la forma en que se diseñan, implementan y mantienen los sistemas de automatización industrial.