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
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
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.
Monitorización industrial: cómo obtener el máximo rendimiento