Primeros pasos con Ethernet POWERLINK

Entiende los fundamentos del protocolo Ethernet Powerlink
15 de febrero de 2024 por
Primeros pasos con Ethernet POWERLINK
Boot & Work Corp. S.L, Bernat Brunet Pedra

¿Qué es Ethernet POWERLINK?​

Ethernet POWERLINK es un protocolo de comunicación en tiempo real que opera sobre hardware Ethernet estándar. Desarrollado por B&R, se utiliza ampliamente en sistemas de automatización y control industrial. También existe una versión de código abierto, openPOWERLINK, que proporciona una mayor accesibilidad y oportunidades de colaboración.

Ventajas de Ethernet POWERLINK sobre Ethernet Simple

  1. Comunicación en Tiempo Real:
    • Ethernet: Ethernet estándar no está diseñado para la comunicación en tiempo real. Puede sufrir retrasos y fluctuaciones, lo que lo hace inadecuado para aplicaciones críticas en tiempo.
    • Ethernet POWERLINK: Proporciona intercambio de datos determinista, asegurando que los datos se transmitan dentro de un marco de tiempo garantizado. Esto es esencial para aplicaciones como robótica, máquinas CNC y líneas de producción automatizadas, donde el tiempo es crucial.
  2. Sincronización:
    • Ethernet: Carece de mecanismos integrados para la sincronización precisa de dispositivos. Esto puede llevar a inconsistencias e ineficiencias en procesos que requieren acciones coordinadas.
    • Ethernet POWERLINK: Ofrece capacidades de sincronización precisa, asegurando que todos los dispositivos en la red operen en armonía. Esto es vital para tareas como la coordinación de múltiples robots en una línea de ensamblaje.
  3. Fiabilidad:
    • Ethernet: Susceptible a la pérdida de paquetes y a la congestión de la red, lo que puede interrumpir la comunicación y provocar fallos en entornos industriales.
    • Ethernet POWERLINK: Diseñado para manejar requisitos de alta fiabilidad, minimizando el riesgo de fallos de comunicación y asegurando una operación continua.
  4. Determinismo:
    • Ethernet: No determinista, lo que significa que el tiempo que tarda en enviar y recibir datos puede variar.
    • Ethernet POWERLINK: Determinista, proporcionando tiempos de comunicación predecibles y consistentes. Esta predictibilidad es crítica para aplicaciones de control en tiempo real.
  5. Apertura y Soporte de la Comunidad:
    • Ethernet: Aunque es ampliamente soportado, no tiene un enfoque específico en aplicaciones industriales en tiempo real.
    • Ethernet POWERLINK: Siendo un protocolo abierto con una comunidad activa (incluyendo el proyecto openPOWERLINK), se beneficia de un desarrollo continuo, innovación y una amplia gama de mejoras específicas para aplicaciones.

Casos de Uso de Ethernet POWERLINK​

  • Automatización Industrial: Usado en fábricas para el control preciso de maquinaria, asegurando que todas las partes de una línea de producción trabajen juntas sin problemas.
  • Robótica: Permite el control en tiempo real y la coordinación de movimientos robóticos, esencial para tareas complejas.
  • Almacenamiento Automatizado: Facilita el intercambio de datos en tiempo real entre diferentes sistemas automatizados, como cintas transportadoras, clasificadores y robots, asegurando operaciones eficientes y sin errores.
  • Control de Procesos: Usado en industrias como el petróleo y gas, la fabricación de productos químicos y el procesamiento de alimentos para mantener un control estricto sobre varios parámetros del proceso en tiempo real.

Conclusión

Ethernet POWERLINK mejora significativamente las capacidades de Ethernet estándar al añadir comunicación en tiempo real, comunicación determinista, sincronización precisa y alta fiabilidad. Estas características son esenciales para aplicaciones industriales modernas donde el tiempo, la coordinación y la operación ininterrumpida son críticos. Al aprovechar Ethernet POWERLINK, las industrias pueden lograr una mayor eficiencia, fiabilidad e innovación en sus sistemas de automatización y control.

En este post, aprenderás cómo construir y probar los códigos de demostración y cómo adaptarlos para un uso simple con Raspberry PLC.


Requisitos de instalación para Ethernet Powerlink en Raspberry PLC

Implementar Ethernet POWERLINK en un Raspberry PLC requiere componentes de hardware y software específicos para asegurar compatibilidad y rendimiento óptimo. El PLC Raspberry Pi de código abierto, un controlador robusto y versátil, juega un papel crucial en esta configuración, proporcionando la potencia computacional y las opciones de conectividad necesarias para gestionar procesos industriales de manera eficiente. Utilizando el Raspberry PLC, los usuarios pueden crear una infraestructura de red fiable y potente, adecuada para una amplia gama de aplicaciones industriales donde la precisión y durabilidad son clave.


Instalación de dependencias

First of all, you will need to install this dependencies in order to be able to install openPOWERLINK:

sudo apt install -y libpcap-dev
sudo apt install -y libsystemd-dev


Instalación de openPOWERLINK

Es necesario instalar openPOWERLINK, tanto en el ordenador, como en Raspberry PLC. Visita la página y descarga el archivo.tar.gz. Además, puedes clonar el Github repositoryde openPOWERLINK.

Después de tener la carpeta de openPOWERLINK en ambos dispositivos, sigue las instrucciones:

  • Crear debug libraries (opcional):
cd <openPOWERLINK_dir>/stack/build/linux
cmake -DCMAKE_BUILD_TYPE=Debug ../..
make
make install
  • Crear release libraries:
cd <openPOWERLINK_dir>/stack/build/linux
cmake -DCMAKE_BUILD_TYPE=Release ../..
make
make install
  • Construir aplicación de demostración:
cd <openPOWERLINK_dir>/apps/<demo_dir>/build/linux
cmake ../..
make
make install


  • Ahora puedes ejecutar una demostración llamando a:
cd <openPOWERLINK_dir>/apps/<demo_dir>/build/linux
sudo ./<demo_exec_file>

El dispositivo maestro (el ordenador) ejecutará "demo_mn_console" y el esclavo (Raspberry PLC) ejecutará "demo_cn_console". Después de elegir la interfaz correcta, podrás probar las demostraciones y entender los fundamentos de Ethernet POWERLINK.


Configuración de conexiones Ethernet POWERLINK para la comunicación entre dispositivos


Para enviar y recibir mensajes Ethernet POWERLINK, es necesario conectar ambos dispositivos con un cable Ethernet estando en el mismo subred.

Establecer una red Ethernet POWERLINK exitosa requiere una configuración adecuada de conexiones entre dispositivos, incluyendo su conexión física y la configuración para operar en la misma subred. Esta configuración es crucial para la comunicación de alto rendimiento. Es esencial para el control y monitoreo en tiempo real de procesos industriales, asegurando la eficiencia y fiabilidad en sistemas automatizados.



Personalizando tu código para un rendimiento óptimo en Raspberry PLC


El código de demostración para Raspberry PLC (demo_cn_console) no interactúa en absoluto con los IOs físicos. Así que vamos a profundizar en eso: 

  • Instalar la librería rpiplc de Industrial Shields
  • Y modificar los archivos encontrados en <openPOWERLINK_dir>/apps/demo_cn_console/src, sigue los siguientes pasos:

​1. app.c:

#include <rpiplc.h>
static const uint32_t digitalOutputs[] = {Q0_0, Q0_1, Q0_2, Q0_3, Q0_4, Q0_5, Q0_6, Q0_7};
static const int numDigitalOutputs = sizeof(digitalOutputs) / sizeof(uint32_t);
void updateOutputs(void) {
    int i;
     ​for (i = 0; i < numDigitalOutputs; i++) {
          ​if (((digitalOut_l >> i) & i) == 1 ) {
            digitalWrite(digitalOutputs[i], 1);
        } else {
            digitalWrite(digitalOutputs[i], 0);
        }
    }
}

​2. main.c (líneas en negrita):

#include <rpiplc.h>
static void loopMain(void) {
    ...
    printf("--------------------------------\n\n");
    setupInputs();
    initPins(); # For version 2 of the library rpiplc
    initExpandedGIO(false); # For version 3 of the library rpiplc
    // wait for key hit
    while (!fExit) {
        updateOutputs();

​3. Además, el tiempo entre las consultas puede cambiarse en main.c (por defecto, 50 ms):

#define CYCLE_LEN           50000

​4. ../CMakeLists.txt:

Para la versión 2 de la librería:

TARGET_LINK_DIRECTORIES(demo_cn_console PRIVATE /usr/local/lib)
TARGET_INCLUDE_DIRECTORIES(demo_cn_console PRIVATE /usr/local/include/rpiplc)
TARGET_LINK_LIBRARIES(demo_cn_console ${ARCH_LIBRARIES} rpiplc)
TARGET_COMPILE_DEFINITIONS(demo_cn_console PRIVATE RPIPLC_21) # your model​

Para la version 3 de la librería:

TARGET_LINK_DIRECTORIES(demo_cn_console PRIVATE /usr/local/lib)
TARGET_INCLUDE_DIRECTORIES(demo_cn_console PRIVATE /usr/local/include/librpiplc/include/)
TARGET_INCLUDE_DIRECTORIES(demo_cn_console PRIVATE /usr/local/include/librpiplc/include/include/)
TARGET_LINK_LIBRARIES(demo_cn_console ${ARCH_LIBRARIES} rpiplc)
TARGET_COMPILE_DEFINITIONS(demo_cn_console PRIVATE RPIPLC_V4 RPIPLC_21) # your model​ and version

Finalmente, vuelve a compilar el código de demostración ¡y observa cómo cambian las salidas!


Aspectos clave para una exitosa implementación de Ethernet POWERLINK en Raspberry PLC

Para implementar exitosamente Ethernet POWERLINK en Raspberry PLC, es crucial enfocarse en conexiones precisas, configuraciones de subred y código personalizado. Estos pasos son fundamentales para establecer una red robusta y eficiente, garantizando una comunicación y control de fluidos en entornos industriales. Adoptar estas prácticas, mejorará los procesos de automatización, ofreciendo confiabilidad y rendimiento en aplicaciones exigentes.




Buscar en nuestro blog

Primeros pasos con Ethernet POWERLINK
Boot & Work Corp. S.L, Bernat Brunet Pedra 15 de febrero de 2024
Compartir esta publicación
Etiquetas

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.

Comparativa de PLCs