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

Index

Como arena entre tus dedos

驴Recuerdas la sensaci贸n de que la arena se te escapa de las manos?

Para un d铆a de playa, es perfecto. Pero si lo que te falta son datos concretos de tu empresa, est谩s perdiendo 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

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 necesitas elementos de comunicaci贸n, el RS-485 es habitual en entornos industriales.

    Para el uso entre controladores de automatizaci贸n industrial basados en Arduino puedes utilizar el c贸digo que ver谩s a continuaci贸n, y tambi茅n ten en cuenta las caracter铆sticas del protocolo Modbus RTU, que permite la comunicaci贸n entre controladores industriales, en caso de que tu proyecto requiera ese tipo de comunicaci贸n.

    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);
        }
      }
    }

    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.

    Share this post on your favorite social media


    Encuentra lo que buscas. 隆Busca en nuestro Blog!

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

    驴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.


    Comparaci贸n PLC industrial >>>

    驴Quieres m谩s informaci贸n?

    隆Rellena el formulario!

    隆Cu茅ntame m谩s!