Skip to main content

reComputer R1000 con fuxa para lograr SCADA

Introducción

FUXA es un software de Visualización de Procesos (SCADA/HMI/Dashboard) basado en web. Con FUXA puedes crear visualizaciones de procesos modernas con diseños individuales para tus máquinas y visualización de datos en tiempo real. Soporta Modbus RTU/TCP, Protocolo Siemens S7, OPC-UA, BACnet IP, MQTT, y otros protocolos.

Este artículo presenta principalmente cómo usar fuxa para lograr SCADA. En el artículo, fuxa recibe datos de node-red y OPC UA Simulator, y los muestra usando chart y Circular Gauge; al mismo tiempo, dibuja una serie de patrones para simular procesos industriales.

Comenzando

Antes de iniciar este proyecto, es posible que necesites preparar tu hardware y software con anticipación como se describe aquí.

Preparación del Hardware

Preparación del Software

  • Python 3.11 puede ser incompatible con fuxa. Si tu versión de Python es 3.11, por favor considera cambiar a una versión diferente de Python.
  • Usando fuxa en reComputer R1000. Puedes consultar los siguientes pasos para instalar fuxa en reComputer R1000

      ## You need to have installed Node Version 14 || 16 || 18.
    wget https://nodejs.org/dist/v18.20.3/node-v18.20.3-linux-arm64.tar.xz
    tar -xf node-v18.20.3-linux-arm64.tar.xz
    cd node-v18.20.3-linux-arm64
    sudo cp -R * /usr/local/
    node -v
    npm -v
    ## Next install FUXA from npm
    sudo npm install -g --unsafe-perm @frangoteam/fuxa
    sudo fuxa
  • Respecto a cómo usar fuxa para implementar la interacción de datos OPC-UA, puedes consultar esta wiki.

  • Respecto a cómo usar fuxa para implementar la interacción de datos con cliente mqtt, puedes consultar esta wiki.A diferencia de esta wiki, los datos que publicamos en node-red son procesados por el módulo function, y el módulo loop se usa para publicación continua.El código del módulo function es el siguiente:

    ## On Start
    global.set('firstTank', '10000');
    global.set('secondTank', '0');
    global.set('thirdTank', '0');
    ## On Message
    var firstTank = global.get('firstTank');
    var secondTank = global.get('secondTank');
    var thirdTank = global.get('thirdTank');
    if (firstTank <= 0) {
    global.set('firstTank', 10000);
    global.set('secondTank', 0);
    global.set('thirdTank', 0);
    firstTank=10000;
    secondTank=0;
    thirdTank=0;
    }

    firstTank = firstTank - 3;
    secondTank++;
    thirdTank++;
    thirdTank++;
    global.set('firstTank',firstTank);
    global.set('secondTank',secondTank);
    global.set('thirdTank',thirdTank);
    var data = {
    "firstTank":firstTank,
    "scondTank":secondTank,
    "thirdTank":thirdTank,
    };
    msg.payload = data;
    return msg;

    Lo principal es encapsular firstTank, secondTank y thirdTank en formato json, y luego hacer que el módulo mqtt-out lo publique.

  • Haz clic en el botón + en la esquina inferior derecha de fuxa, ingresa Name, Type, selecciona Internal, y finalmente haz clic en OK para obtener un nuevo módulo. Este módulo no tiene la función de comunicarse con dispositivos externos, pero nos permite agregar etiquetas personalizadas. Estas etiquetas soportan tres tipos de datos como boolean, number y string, lo que puede facilitar nuestro trabajo posterior.

Configuración de Hardware

Usamos cables Ethernet para conectar la PC W10 y reComputer R1000 a un switch para asegurar que estén en el mismo segmento de red.

pir

Introducción a la visualización y controles principales

Gráfico

Hay gráficos de curvas e histogramas disponibles en fuxa. Tomando el gráfico de curvas como ejemplo. Las propiedades de Chart son como se muestra en la figura. Puedes configurar el Name, font size, data format, time format, X axis and Y axis styles de Chart y otras propiedades. Lo más importante es Chart to show, que determina la fuente de datos que queremos mostrar y el formato de las líneas.

Hacemos clic en Chart to show, luego seleccionamos New Chart, aparecerá una nueva ventana emergente, hacemos clic en el botón + en la esquina superior derecha de la nueva ventana emergente, ingresamos Name, y luego hacemos clic en OK, puedes crear exitosamente una nueva configuración de línea. Luego haz clic en la configuración de línea recién creada, después haz clic en Add Line, selecciona los datos que quieres mostrar, y finalmente haz clic en OK, aparecerá una nueva curva. Se pueden agregar múltiples curvas a través de este proceso. Finalmente haz clic en OK para completar la configuración.

Usamos Chart aquí para mostrar datos de Prosys OPC UA Simulation Server. Puedes ver que los datos se muestran exitosamente en forma de gráfico.

Interruptor

Los atributos del interruptor son como se muestra en la figura. Seleccionamos un dato booleano llamado swich_1 como el estado del interruptor. Puedes configurar el estado de visualización del swich cuando está encendido o apagado, incluyendo configuración de color, visualización de texto, etc.

Forma

Fuxa proporciona una variedad de shape para que los usuarios dibujen interfaces de visualización industrial. Cada shape tiene tres atributos, a saber Property, Events y Actions. Entre ellos, Property se usa principalmente para configurar el color de shape. Al vincular un Tag, shape muestra diferentes colores según el cambio del valor del Tag. Puedes hacer clic en el + en la esquina superior derecha para establecer diferentes colores.

Aquí tomamos un patrón de almacén como ejemplo, llenando su color con Property.

Events tiene principalmente dos contenidos, Type representa el tipo de evento, y Action representa la acción después de que se active el evento.

Actions necesita estar vinculado a un Tag, y diferentes valores de Tag pueden activar diferentes acciones. Establece los valores de Min y Max, y luego selecciona la acción deseada en la opción Type. Cuando los datos del Tag alcanzan el intervalo entre Min y Max, se activará la acción correspondiente.

Aquí tomamos un patrón de almacén como ejemplo, controlando su rotación y parada a través de Actions.

Tubería

Al mostrar procesos industriales, puedes usar pipe para representar la dirección del flujo de materiales industriales. Las propiedades de la tubería son como se muestra en la figura.

La parte Property puede establecer el ancho, color y otras propiedades de la tubería. Actions también necesita estar vinculado a un Tag. Diferentes valores de etiqueta permiten que la tubería tenga diferentes acciones. Hay cuatro acciones principales: Stop, Turn clockwise, Turn anticlockwise y Hide conten. Este artículo muestra dos acciones: Stop y Turn clockwise.

Para simular el proceso industrial, agregamos patrones como dos tanques y algunas tuberías.

Medidor Circular

Además de charts, Circular Gauge también puede mostrar datos en tiempo real. Hay tres Circular Gauge disponibles.

Al usarlo, necesitas especificar los datos a mostrar vinculando un Tag. Al mismo tiempo, necesitas especificar el rango máximo de datos que el instrumento puede mostrar. También puedes configurar atributos como líneas en el panel del instrumento. Aquí seleccionamos los datos de Tank1 en el tema /dev/fromfuxa para mostrar.

Después de eso, los datos de Tank2 y Tank3 también se muestran a través del Circular Gauge para indicar la capacidad actual de cada tanque.

Deslizador

Usa el deslizador para ajustar variables como flujo, presión, etc. Sus propiedades se muestran en la figura. Puedes configurar su color y formato. Al usarlo, necesitas vincular un Tag. Entonces el deslizador puede ajustar el valor del Tag en tiempo real. Aquí vinculamos un tag personalizado Flow control 1

Alarma

En el proceso industrial, ciertos parámetros excesivos (como la presión) pueden causar algunos peligros. En este momento, se necesita una alarma para recordar al personal que puede haber algunos problemas aquí. Fuxa soporta el monitoreo en tiempo real de un cierto valor y activa una alarma cuando el valor alcanza un cierto rango peligroso. Por defecto, la interfaz de fuxa no abre la barra de alarma. Necesitas configurarla para abrir la barra de alarma.

Después de que se abre la barra de alarma, puedes configurar la alarma. Haz clic en el botón de configuración en la esquina superior izquierda, luego haz clic en Alarms, y después haz clic en + en la nueva ventana para mostrar la ventana de configuración de alarma. En este momento, un Tag necesita ser vinculado, y el sistema monitoreará el valor del Tag. Alarms tiene cuatro niveles, a saber High High, High, Low, Message. Puedes configurar un rango de valor de Tag para cada nivel, y cuando el valor del Tag alcance este rango, se activarán alertas del nivel correspondiente.

Demo SCADA

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender diferentes preferencias y necesidades.

Loading Comments...