Camino:  Equipo (Dispositivos) > PLC300 > Ladder > String >

STR_INSERT

Inserción de Strings

Previous pageReturn to chapter overviewNext page

Bloque que inserta una STRING en determinada posición de otra, retornando la STRING resultante.

 

Representación Ladder

 

STR_INSERT_block

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

EN

BOOL

Habilitación del bloque

STR1

STRING

STRING donde será realizada la inserción

STR2

STRING

STRING a ser insertada

POS

BYTE

Posición donde STR2 será insertada

VAR_OUTPUT

DONE

BOOL

Habilitación de salida

DST

STRING

STRING resultante

 

Operación

 

Este bloque permanece activo mientras EN está en nivel TRUE, actualizando el valor de DST de acuerdo con los parámetros de entrada.

Es realizada una inserción en STR1, a partir de la posición definida en POS, del contenido de STR2.

 

En caso de que POS esté fuera del rango de valores permitido (entre 1 y el tamaño de STR más uno), DONE recibirá FALSE y DST permanecerá inalterada.

 

En caso de éxito, el valor de DONE pasa al próximo bloque Ladder el valor de EN, al finalizar la operación.

 

wpshelp_common_fig_note

¡NOTA!

POS es tratada con índice "base uno". O sea, POS = 1 referencia la primera posición de STR.

 

wpshelp_common_fig_note

¡NOTA!

En caso de que  el tamaño de DST sea menor que la suma del número de caracteres de STR1 y STR2, el valor resultante será truncado.

 

Compatibilidad

 

Equipo

Versión

PLC300

2.10 o superior

 

Diagrama de Flujo del Bloque

 

STR_INSERT_flowchart

 

Ejemplo en Ladder

 

STR_INSERT_example01

 

En el ejemplo de arriba, como el valor de POS es inválido, el bloque no es finalizado exitosamente, y la salida DONE es desactivada.

 

STR_INSERT_example02

 

En el ejemplo de arriba, como el valor de POS es inválido, el bloque no es finalizado exitosamente, y la salida DONE es desactivada.

 

STR_INSERT_example03

 

En el ejemplo de arriba, es hecha una inserción de STR2 en STR1, a partir de la posición 2, y el resultado es enviado a DST_10. Finalizado el bloque exitosamente, será activada la salida DONE.

 

STR_INSERT_example04

 

En el ejemplo de arriba, es hecha una inserción de STR2 en STR1, a partir de la posición 4, y el resultado es enviado a DST_6. Como el tamaño de DST_6 es 6, los últimos dos caracteres copiados son descartados. Finalizado exitosamente el bloque, será activada la salida DONE.

 

Ejemplo en ST

 

 El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.

 

 

VAR

   STR1 : STRING := '2232';

   STR2 : STRING := '1';

   POS : BYTE;

   DST_2 : STRING;

END_VAR

 

DST_2 := FB_STR_INSERT(

   EN:=DI1,

   STR1:=STR1,

   STR2:=STR2,

   POS:=POS,

   Done=>DO1);