Librería Tools40, útil herramienta para usar nuestros equipos
11 enero, 2019 por
Librería Tools40, útil herramienta para usar nuestros equipos
Boot & Work Corp. S.L., Support Team

Introducción

Tools40 es una Librería de Industrial shields para nuestros diferentes PLCs. En esta entrada del blog se presenta la Librería Tools40.

Librería Tools40  incluye la Librería SimpleComm, la Librería Filter y la Librería Timer.


Requisitos

Uso

Con la Librería SimpleComm, puedes enviar datos a través de cualquier flujo de Arduino: RS-485, RS-232, y Ethernet... Es lo suficientemente flexible como para soportar diferentes tipos de tipologías de comunicación: Ad-hoc, Maestro-Esclavo, Cliente-Servidor... Utilizando una API fácil de usar.

La Librería de filtros incluye un software de filtrado que permite suavizar las entradas analógicas. Esto es realmente útil cuando se tiene una señal analógica que es inestable.

Con la Librería Timer puedes crear 3 temporizadores diferentes como el estándar Ladder Timers:

  • PulseTimer: cuando hay un flanco ascendente en el valor de entrada, PulseTimer activa la salida durante el tiempo seleccionado.
  • OnDelayTimer: cuando la Entrada está activa (HIGH) durante el tiempo definido, la Salida relacionada estará activa. La salida se desactiva cuando la entrada está inactiva. 
  • OffDelayTimer: Como el OnDelayTimer, pero cuando la entrada está inactiva (LOW) durante el tiempo definido, la salida relacionada estará activa. La salida se desactiva cuando la entrada está activa.

A continuación, se explica cómo utilizar la Librería de Filtros y la Librería de Temporizadores:

Primero tienes que definir el temporizador o el filtro y darle un nombre. Después de eso, sólo tiene que crear una variable y relacionada con la entrada deseada. En temporizadores, el último paso es utilizar esta variable en la salida seleccionada. A continuación se muestra un ejemplo de cómo usarlo. 

Librería de filtros:

#include <Filter.h>

// Create a filter
// Number of samples: 10
// Sample period: 5ms (setting it to 0, samples are taken as fast as possible)
AnalogFilter<10, 5> filter;

////////////////////////////////////////////////////////////////////////////////////////////////////
void setup() {
  // Init Serial port
  Serial.begin(9600L);

  // Set pin as INPUT pin
  pinMode(pin, INPUT);
}

////////////////////////////////////////////////////////////////////////////////////////////////////
void loop() {
  // Read pin value
  int value = analogRead(pin);

  // Filter it
  int filtered = filter.update(value);

  // Print the filtered value
  Serial.println(filtered);
}

 

Librería del temporizador :

PulseTimer 

#include <Timer.h>

// Define a new OnDelayTimer with preset time of 3s
OnDelayTimer timer(3000);
int inputPin = I0_0;

#if defined(ARDBOX_ANALOG)
int outputPin = Q0_0;
#elif defined(ARDBOX_RELAY)
int outputPin = R3;
#elif defined(MDUINO_19R) || defined(MDUINO_38R) || defined(MDUINO_57R)
int outputPin = R0_1;
#elif defined(MDUINO_21) || defined (MDUINO_42) || defined(MDUINO_58)
int outputPin = Q0_0;
#endif

////////////////////////////////////////////////////////////////////////////////////////////////////
void setup() {
  // Configure inputPin as input
  pinMode(inputPin, INPUT);

  // Configure outputPin as output
  pinMode(outputPin, OUTPUT);
  digitalWrite(outputPin, LOW);
}

////////////////////////////////////////////////////////////////////////////////////////////////////
void loop() {
  // Read inputPin
  int input = digitalRead(inputPin);

  // Update timer using inputPin value and set outputPin associated variable value
  int output = timer.update(input);

  // Update outputPin with its associated variable value
  digitalWrite(outputPin, output);
}

OnDelayTimer

#include <Timer.h>

// Define a new PulseTimer with preset time of 3s
PulseTimer timer(3000);
int inputPin = I0_0;

#if defined(ARDBOX_ANALOG)
int outputPin = Q0_0;
#elif defined(ARDBOX_RELAY)
int outputPin = R3;
#elif defined(MDUINO_19R) || defined(MDUINO_38R) || defined(MDUINO_57R)
int outputPin = R0_1;
#elif defined(MDUINO_21) || defined (MDUINO_42) || defined(MDUINO_58)
int outputPin = Q0_0;
#endif

////////////////////////////////////////////////////////////////////////////////////////////////////
void setup() {
  // Configure inputPin as input
  pinMode(inputPin, INPUT);

  // Configure outputPin as output
  pinMode(outputPin, OUTPUT);
  digitalWrite(outputPin, LOW);
}

////////////////////////////////////////////////////////////////////////////////////////////////////
void loop() {
  // Read inputPin
  int input = digitalRead(inputPin);

  // Update timer using inputPin value and set outputPin associated variable value
  int output = timer.update(input);

  // Update outputPin with its associated variable value
  digitalWrite(outputPin, output);
}

 

Cómo instalar la biblioteca Tools40 en Arduino IDE 

  1. Descarga la Librería Tools40  de GitHub. Haga clic en: "Clonar o descargar". Después de eso, descarga el archivo zip en tu escritorio.
  2. Añade la Librería en el IDE de Arduino. Haz clic en: Sketch->Incluir librería->Añadir librería .ZIP y elegir "arduino-Tools40-master.zip". Después de elegir el Arduino-Tools40-master.zip hay que cargar la Librería. Para verificar que la Librería se ha añadido correctamente, puedes ver la Librería en: //Archivo->Ejemplos->Tools40
  3. Ahora tu Librería está correctamente instalada y puedes ver un ejemplo de cómo usar esa librería en nuestros PLCs.

 


Librería Tools40, útil herramienta para usar nuestros equipos
Boot & Work Corp. S.L., Support Team
11 enero, 2019
Compartir
Archivar

¿Buscas 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!