FC_ReadSTRING

Descripción general

Tipo

Función

Disponible desde:

V1.0.4.0

Hereda de:

-

Implementa

-

Tarea

Copiar los caracteres almacenados en cualquier tipo de datos en una variable de tipo STRING.

Descripción de funciones

Al utilizar esta función, los caracteres ASCII que se hayan recibido se pueden copiar del búfer de recepción a una variable de tipo STRING.

El origen de datos de cualquier tipo de datos se pasa a la función mediante un puntero a través de la entrada i_pbyBuffer. El destino de los datos, la variable de tipo STRING, se pasa a la función mediante un puntero a través de la entrada i_psString. El número máximo de caracteres a copiar se determina mediante la entrada i_uiMaxLength.

Con la entrada i_xStopAtZero, se determina si la función copiará todos los bytes especificados mediante i_uiMaxLength o si el proceso de copia se detendrá en el primer carácter NUL (16#0) detectado. Tenga en cuenta que el carácter NUL indica el final del valor de una variable de tipo STRING.

Si no se detecta ningún carácter NUL hasta que se copia el número máximo de caracteres o la entrada i_xStopAtZero es FALSE, la función escribirá el carácter NUL en el enésimo byte de la memoria de destino. n = i_uiMaxLength + 1. Es decir, el valor máximo de i_uiMaxLength equivale al tamaño de la memoria de destino - 1.

NOTA: SIZEOFi_uiMaxLength

Ejemplo de codificación

Ejemplo de codificación del uso de FC_ReadSTRING en texto estructurado:

// Copiar los datos en una variable de tipo STRING

TCPUDP.FC_ReadSTRING(

i_pbyBuffer := ADR(abyReceiveBuffer),

i_psString := ADR(sData),

i_uiMaxLength := SIZEOF(sData)-1,

i_xStopAtZero := TRUE);

Interfaz

Entrada

Tipo de datos

Descripción

i_pbyBuffer

POINTER TO BYTE

Puntero a la dirección de memoria de la que se va a copiar (origen).

i_psString

POINTER TO STRING

Puntero a la dirección de memoria a la que se va a copiar (destino, una variable de tipo STRING)

i_uiMaxLength

UINT

Número máximo de bytes a copiar.

i_xStopAtZero

BOOL

Si es TRUE, el proceso de copia se detiene al detectarse el primer carácter NUL (16#0). Si es FALSE, el número de bytes especificados con i_uiMaxLength y un carácter NUL se escriben en la memoria de destino.

Valor de retorno

Tipo de datos

Descripción

UINT

Número de bytes escritos en la memoria de destino.