Monitorización industrial: cómo obtener el máximo rendimiento
Aprovecha el hardware de código abierto
18 junio, 2020 por
Monitorización industrial: cómo obtener el máximo rendimiento
Joan F. Aubets - Industrial Shields


Industrial monitoring: how to get the most out of it

Como arena entre tus dedos

¿Recuerdas la sensación que produce la arena escurriéndose entre los dedos?

Para un día de playa, es perfecto. Pero si lo que se te escapa entre los dedos son datos concretos de tu empresa, ahí estás dejando pasar todo tipo de oportunidades.

Incluso perdiendo dinero.

Grandes retos

Adapta tu negocio a la tecnología

Uno de los grandes retos que afrontan las empresas, como si de una carrera de fondo se tratase, es la adopción de las nuevas tecnologías que van apareciendo. Aunque es materialmente imposible estar a la última en todo, sí es necesario tener una visión global de la empresa, y conocer cuáles son las tecnologías que puedes implementar para obtener todo tipo de beneficios como:

  • ahorro energético

  • mayor seguridad para los operarios

  • mejora de los índices de producción

  • ahorro en materiales o mantenimiento preventivo

por citar algunos

 

Industrial monitoring: how to get the most out of it

Usos y ventajas de la monitorización industrial

La monitorización de los datos que pueden ser relevantes para ti, puedes realizarla de varias maneras. Por un lado, mediante soluciones cerradas donde necesitarás un partner externo para poder actualizar, configurar, reparar, etc. 

 Por otro lado, puedes elegir soluciones open source, donde serás el propietario de la solución completa y tendrás el control de:

  • qué quieres monitorizar, 

  • cada cuánto tiempo,

  • dónde enviar o almacenar los datos, etc. 

Todo esto, a un coste de adquisición mucho menor, debido al ahorro en licencias y al ahorro en consultorías y programaciones por parte de un tercero.

A modo de ejemplo de lo mucho que se puede realizar usando soluciones open source, mostramos algunas implementaciones de elementos de monitorización.

Programar un sensor de temperatura y humedad DHT22

Características del sensor

Fuente de alimentación de 3.3V a 6V.
Consumo de corriente de 2.5mA.
Salida - Señal digital.
Medición de la temperatura entre -40 y 125ºC, con una precisión de 0,5ºC a 25ºC.
Resolución de la medición de temperatura: 8-bit, 0,1ºC 
Medición de la humedad entre 0 y 100%, con una precisión del 2-5% para temperaturas entre 0 y 50ºC.
Resolución de la medición de la temperatura: 8-bit, 0,1%
Frecuencia de muestreo de 2 muestras/s: 2Hz.
Conexión por resistencia con un valor entre 4,7K y 10K.
Program a DHT22 humidity and temperature sensor

    Biblioteca DHT de Arduino industrial para el uso en la programación. En este caso estamos usando la biblioteca de Adafruit que puedes descargar gratuitamente aquí.

    (https://github.com/adafruit/DHT-sensor-library)


    Con esta biblioteca, puedes leer fácilmente ambos sensores y no preocuparte por el protocolo de comunicación entre el PLC Arduino y dichos sensores.

    Con la librería ya importada podemos empezar a programar.

    Este ejemplo le muestra cómo leer la humedad y la temperatura (Celsius y Fahrenheit).

    #include "DHT.h" #define DHTPIN 2     //Pin where is the sensor connecte

    #define DHTTYPE DHT22   // Sensor DHT22

    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    Serial.begin(9600);
    Serial.println("Loading...");
    dht.begin();
    }

    void loop() {
    delay(2000);
    float h = dht.readHumidity(); //Reading the humidity
    float t = dht.readTemperature(); //Reading the temperature in Celsius degree
    float f = dht.readTemperature(true); //Reading the temperature in Fahrenheit degrees

    //--------Sending the reading through Serial port-------------

    Serial.print("Humidity ");
    Serial.print(h);
    Serial.print(" %t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.print(" *C ");
    Serial.print(f);
    Serial.println(" *F");
    }

    Uso de RS-485 entre dos controladores PLC Arduino

    Si precisas elementos de comunicación, el RS-485 es común en entornos industriales. 

    Para el uso de la automatización de PLCs industriales basados en controlador Arduino puedes usar el código que verás a continuación, y también tener presente las características del protocolo Modbus RTU, que permite la comunicación entre controladores industriales, por si tu proyecto precisa ese tipo de comunicación.

    <b>Usando RS-485 entre dos PLCs Arduino</b><br>

    El siguiente código tiene la función de comunicar al Maestro y al Esclavo enviando las instrucciones para activar el relé para encender una bomba de agua.

    Un ejemplo de comunicación Simplecomm Master:

    #include <RS485.h>
    #include <SimpleComm.h>
    
    // Create SimplePacket for sending and receiving data
    SimplePacket packet;
    
    // Define master address
    uint8_t masterAddress = 0;
    
    // Define slave address to communicate with
    uint8_t slaveAddress = 1;
    
    // Value to send as packet data
    int value = 5;
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    void setup() {
    	Serial.begin(9600L);
    
      // Start RS485
      RS485.begin(19200L);
      RS485.setTimeout(20);
    
      // Start SimpleComm
      SimpleComm.begin(masterAddress);
    }
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    void loop() {
      static unsigned long lastSent = millis();
    
      // Send packet periodically: once per second
      if (millis() - lastSent >= 10000) {
        // Set request packet data
        packet.setData(value);
    
        // Send request to slave
        if (SimpleComm.send(RS485, packet, slaveAddress)) {
          lastSent = millis();
    
          Serial.print("Sent value: ");
          Serial.println(value);
        }
      }
    
      // Get responses
      if (SimpleComm.receive(RS485, packet)) {
        // Update value from the response
        value = packet.getInt();
    
        Serial.print("Received value: ");
        Serial.println(value);
      }
    }

    Un ejemplo de comunicación Simplecomm Slave:

    #include <RS485.h>
    #include <SimpleComm.h>
    
    // Create SimplePacket for sending and receiving data
    SimplePacket request;
    SimplePacket response;
    
    // Define slave address to communicate with
    uint8_t slaveAddress = 1;
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    void setup() {
    	Serial.begin(9600L);
    
      // Start RS485
      RS485.begin(19200L);
      RS485.setTimeout(20);
    
      // Start SimpleComm
      SimpleComm.begin(slaveAddress);
    }
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    void loop() {
      // Get requests
      if (SimpleComm.receive(RS485, request)) {
        int value = request.getInt();
    
        Serial.print("Received value: ");
        Serial.println(value);
    if ( value==5){
      digitalWrite(R0_8,HIGH);
      delay(5000);
      digitalWrite(R0_8,LOW);
      
    }
        // Process value
        //value++;
    
        // Send response to the request packet source
        response.setData(value);
        if (SimpleComm.send(RS485, response, request.getSource())) {
          Serial.print("Sent value: ");
          Serial.println(value);
        }
      }
    }

    Improve and implement your monitoring

    Mejora e implementa la monitorización

    Si apuestas por la monitorización industrial, y quieres ser el propietario de tu equipo evitando el pago de licencias y ahorrando en consultorías, contacta con nosotros.

    Nuestro equipo técnico-comercial te ayudará a determinar qué solución encaja más con tus necesidades. El control de tu empresa, a un solo clic. 

    Te esperamos.

    Si aún tienes dudas sobre las soluciones de monitoreo, contáctanos.

    Te ayudaremos a encontrar la mejor solución.

    Comparte esta publicación en tus redes sociales favoritas    

    Monitorización industrial: cómo obtener el máximo rendimiento
    Joan F. Aubets - Industrial Shields
    18 junio, 2020
    Compartir
    Archivar

    ¿En busca de tu PLC 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 PLC industrial >>

    ¿Quieres más información?

    ¡Rellena el formulario!

    ¡Cuéntame más!