Conceptos básicos: tarjeta SD en un PLC industrial

Trabajar con un controlador lógico programable para automatización industrial
14 de octubre de 2019 por
Conceptos básicos: tarjeta SD en un PLC industrial
Boot & Work Corp. S.L., David Martin

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


Are you looking for further information?

Our tech-sales team will be glad to help you.

 

Buscar en nuestro blog

Conceptos básicos: tarjeta SD en un PLC industrial
Boot & Work Corp. S.L., David Martin 14 de octubre de 2019
Compartir

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


Industrial PLC comparison >>>