Skip to Main Content
Centro de soporte de Cognex
Logo

Guion de DataMan para caracteres imprimibles

Este artículo describe cómo se pueden eliminar los caracteres imprimibles de la cadena de salida del lector.

29/11/2024

Detalles

En algunos casos, particularmente en aplicaciones relacionadas con la gestión de datos o la cadena de suministro, pueden aparecer caracteres de control específicos como RS, GS y EOT en un código DataMatrix. Estos caracteres se utilizan con fines técnicos y de formato.

Esto es lo que significan:

  1. RS (separador de registros):
    El carácter RS (ASCII 30) se utiliza para separar registros en una secuencia de datos. En un código DataMatrix, podría usarse para separar diferentes unidades de datos o campos dentro del mismo código. Esto ayuda a la aplicación a leer el código para delimitar correctamente las secciones de datos y procesarlas correctamente.
  2. GS (separador de grupo):
    El carácter GS (ASCII 29) se utiliza para separar grupos de datos. Se puede utilizar para delimitar subconjuntos de datos dentro de un código DataMatrix que está estructurado jerárquicamente o contiene múltiples niveles de información. Por ejemplo, en el etiquetado del producto, un código podría contener información relacionada con el producto en sí, su empaque, su fecha de fabricación, etc., y el carácter GS separaría estos detalles en grupos distintos.
  3. EOT (fin de la transmisión):
    El carácter EOT (ASCII 4) marca el final de un flujo de datos. En el contexto de un código DataMatrix, podría utilizarse para indicar el final de la cadena de datos codificada. Esto permite que la aplicación que lee el código sepa que no hay más datos para procesar y detener el proceso de lectura.

¿Por qué se utilizan en un código DataMatrix?

  • Control de estructura: Estos caracteres de control ayudan a indicar cómo se estructuran los datos dentro del código. Esto es particularmente útil cuando es necesario codificar varios tipos de información en el mismo código o cuando es necesario separar datos complejos en partes lógicas.
  • Compatibilidad con sistemas de procesamiento automatizados: Estos caracteres se utilizan para hacer que los códigos DataMatrix sean compatibles con sistemas que requieren delimitadores e indicadores de fin de mensaje (como en la gestión de inventario, sistemas de trazabilidad o logística).

En resumen, los caracteres RS, GS y EOT en un código DataMatrix se utilizan para organizar y estructurar los datos codificados de manera lógica, lo que facilita la interpretación y el procesamiento dentro de los sistemas automatizados.

Este es el resultado de la herramienta de configuración de DataMan, con los ajustes predeterminados: 

Marcador de posición

La herramienta de configuración de DataMan puede traducir los caracteres imprimibles marcando la casilla "Habilitado" según se indica a continuación:

Marcador de posición

Este es el resultado: 

Marcador de posición

Esos caracteres (<RS>, <GS>, <EOT>) se pueden eliminar de la cadena de salida, utilizando un script :

  • Vaya a "Datos de formato",
  • Vaya a "Básico",
  • Marque la casilla "Formato basado en scripts",
  • Haga clic en el texto azul "Formato basado en scripts" para abrir el "Guión de formato de datos": 

    Marcador de posición

Utilice el siguiente guión como guión de "fomentación de datos": 

var RS = "\x1E";
var RSN = "<RS>";
var GS = "\x1D";
var GSN = "<GS>";
var EOT = "\x04";
var EOTN = "<EOT>";
var res = "";

función onResult (decodificarresultados, propiedades del lector, salida)
{
   si (decodeResults[0].decoded)
   {                
       var convert = decodeResults[0].content.replace(new RegExp(RS,'g'),RSN).replace(new RegExp(GS,'g'),GSN).replace(new RegExp(EOT,'g'),EOTN); 
   }
  
  res = convertir.reemplazar(/<RS>|<EOT>/g, '');
  res = res.reemplazar(/<GS>/g, '-');
   
  output.content = res; // sin retorno del carro     
  //output.content = res + "\r\n" ; // con retorno de carro
}

Marcador de posición

Este es el resultado: 

Marcador de posición