Según altos estándares industriales

Busca en nuestro Blog. Encontrarás múltiples aplicaciones, soluciones, ejemplos de código. Navega utilizando la nube de etiquetas o busca utilizando criterios específicos

Conceptos básicos: tarjeta SD en un PLC industrial

Trabajar con un controlador lógico programable para automatización industrial

Introducción


En este post, empezaremos a trabajar con la programación de la tarjeta micro SD para el almacenamiento de datos en un PLC Arduino. En primer lugar, te presentaremos la biblioteca utilizada para manejar la programación de la micro SD y, finalmente, veremos y comentaremos dos ejemplos para que puedas escribir y leer desde tu tarjeta uSD.

 


La tarjeta SD es una buena manera de guardar la información dentro de tu controlador industrial, sin pensar en el espacio de memoria o en las desconexiones de la línea de suministro. Hay muchos tipos diferentes de tarjetas, desde unos pocos megabytes hasta gigabytes, que te permiten dimensionar tus sistemas según lo necesites.


Primeros pasos


Antes de empezar los ejemplos básicos con la tarjeta SD, ten en cuenta que te será útil leer los siguientes blogs::



Requisitos


Para poder trabajar con una tarjeta SD, debes tener un PLC industrial Arduino de alguna de estas familias:



Software


Lo primero que debes hacer es incluir la biblioteca de Arduino que contiene las funciones de la tarjeta SD:

#include <SD.h>

Debes iniciar la SD con el siguiente comando. Ten en cuenta que el número junto a las funciones significa dónde se encuentra el chip CS. Para nuestros productos, el número 53 es el que necesitas:

SD.begin(53);

Para una utilidad extendida, puedes capturar el número devuelto de esta función, y comprobar si el proceso de inicio fue correcto:

if(!SD.begin(53))
{
    Serial.println("Initialization failed"); while (1)
        ;
}

Para crear un archivo o abrir uno existente para escribir, debes poner la siguiente línea:

File myFile = SD.open("test.txt", FILE_WRITE);

Puedes buscar errores durante la apertura del archivo:

if (!myFile) 
{
    Serial.println("File opening failed"); while (1) ;
}

Escribir en un archivo abierto:

myFile.println("Test text");

Cerrar un archivo:

myFile.close();

Abrir un archivo para su lectura::

File myFile = SD.open("test.txt");

Leer un carácter:

myFile.read();

Saber el tamaño de un archivo:

myFile.size();

Cuando se cierra el archivo, puedes eliminar un archivo existente:

 SD.remove("test.txt"); 


Ejemplos


En los siguientes párrafos, puedes ver ejemplos de redacción y escritura de bytes:

Escribir información en la SD

// SD Write Example
// This example writes a test text in the SD card

#include <SD.h>

// Counter variable
int n = 0;

// Setup function
void setup()
{
    // Set the speed of the serial port    
    Serial.begin(9600UL);

    // Init the SD Card     
    if (!SD.begin(53))
    {
        // Error during SD init         
        Serial.println("Card failed, or not present");    
        while (true)
            ;
    }
}

// Loop function
void loop()
{
    // Open the file
    File dataFile = SD.open("test.txt", FILE_WRITE);

    // Check if the file opening was fine   
    if (!dataFile)
    {
        // Error during the opening Serial.println("Card failed, or not present"); while (true) ;
    }

    dataFile.println("Test text"); dataFile.close();

    // Program end
    while (true)
        ;
}


Leer información desde la SD

// SD Read Example
// This example read a file in the SD card

#include <SD.h>

// Counter variable
int n = 0;

// Setup function
void setup() 
{
    // Set the speed of the serial port    
    Serial.begin(9600UL);

    // Init the SD Card     
    if (!SD.begin(53)) 
    { 
        // Error during SD init         
        Serial.println("Card failed, or not present");    
        while (true)
            ;
    }
}

// Loop function
void loop()
{
    // Open the file
    File dataFile = SD.open("test.txt");

    // Check if the file opening was fine   
    if (!dataFile) 
    {
        // Error during the opening     
        Serial.println("Card failed, or not present");
        while (true)
            ; 
    }

    // Read each byte of the file
    for (int n = 0 ; n < dataFile.size() ; n++)
      Serial.println(char(dataFile.read()));
    dataFile.close();

    // Program end
    while (true)
        ;
}

Conceptos básicos: tarjeta SD en un PLC Arduino


¿Buscas más información?

Nuestro equipo técnico-comercial está listo para ayudarte.

 

¿Estás buscando tu PLC ideal?

Echa un vistazo a esta comparación de productos con otros controladores industriales Arduino.

Comparamos entradas, salidas, comunicaciones y otras características con las de algunas de las marcas relevantes


Comparación de controladores PLC industriales >>

¿Quieres más información? 

¡Solo llena el formulario! 

¡Quiero saber más!  Por favor, llene el formulario correctamente.