Monitoreo industrial: cómo aprovecharlo al máximo

Aproveche el hardware de código abierto

Como arena entre tus dedos

¿Recuerdas la sensación de la arena deslizándose entre tus dedos?

Para un día de playa, es perfecto. Pero si lo que falta son datos concretos de su empresa, está perdiendo todo tipo de oportunidades.

Incluso perdiendo dinero.

Monitoreo industrial: cómo aprovecharlo al máximo

Grandes retos

Adapte su empresa a la tecnología.

Uno de los grandes desafíos que enfrentan las empresas, como si fuera una carrera de larga distancia, es la adopción de las nuevas tecnologías que aparecen. Aunque es físicamente imposible estar al día en todo, es necesario tener una visión global de la empresa y saber qué tecnologías puede implementar para obtener todo tipo de beneficios, tales como:

  • Mayor seguridad para los operadores,

  • mejora de las tasas de producción,

  • ahorro en materiales o

  • Mantenimiento preventivo,

Por nombrar algunos.

Uses and advantages of industrial monitoring

Usos y beneficios del monitoreo industrial.

Tienes dos opciones claras, entre otras, para mejorar o implementar el monitoreo en su empresa.

  • Con un partner externo.

  • Uso de soluciones de código abierto.

Si trabajas con un externo, siempre serás dependiente. Si eliges Open Source, serás el propietario de toda la solución, desde el hardware hasta el software.

Tendrás control de:

  • que quieres monitorear

  • con qué frecuencia,

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

Open Source también le ofrece un costo de adquisición mucho menor, debido a ahorros en licencias y ahorros en consultoría y programación por parte de un tercero.


A continuación, algunos ejemplos breves de algunas implementaciones de elementos de monitoreo. 

    Programe un sensor de humedad y temperatura DHT22

    Características del sensor
    - Fuente de alimentación de 3.3V a 6V.
    - Consumo de corriente 2.5mA.
    - Salida - Señal digital.
    - Medición de temperatura entre -40 y 125ºC, con una precisión de 0.5ºC a 25ºC.
    - Resolución de medición de temperatura: 8 bits, 0.1ºC
    - Medición de humedad entre 0 y 100%, con una precisión de 2-5% para temperaturas entre 0 y 50ºC.
    - Resolución de medición de temperatura: 8 bits, 0.1%
    - Frecuencia de muestreo de 2 muestras / s: 2Hz.
    - Conexión de resistencia con un valor entre 4.7K y 10K.

    Program a DHT22 humidity and temperature sensor

    Programación fácil con la biblioteca Arduino DHT. En este caso, estamos utilizando la biblioteca Adafruit que puede descargar de forma gratuita (enlace a continuación).

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


    Con esta biblioteca, puede leer fácilmente ambos sensores y no preocuparse por el protocolo de comunicación entre el PLC industrial basado en Arduino y esos sensores.

    Con la biblioteca ya importada podemos comenzar 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");
    }
    Using RS-485 between two Arduino PLCs

    Usando RS-485 entre dos PLC Arduino

    Eche un vistazo a otra opción fácil y rápida de comunicarse con este estándar como RS-485.


    For use between Arduino-based PLCs use the code below.


    Keep in mind the characteristics of the Modbus RTU protocol, which allows communication between controllers, in case your project requires that type of communication.

    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

    Mejore e implemente su monitoreo

    Si apuestas por la automatización industrial y deseas ser el propietario de tu solución evitando el pago de licencias y ahorrando en consultoría, contáctanos.

    Nuestro equipo técnico-comercial te ayudará a determinar qué solución se adapta mejor a tus necesidades. Control de tu empresa, a solo un clic.

    Te estamos esperando. 

     

    Do you want to receive more information about Arduino Industrial Monitoring Solutions?

    Open Source technology allows you to develop your Monitor applications.

    Send