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

STR_FIND

Búsqueda de Strings

Previous pageReturn to chapter overviewNext page

Bloque que busca la primera ocurrencia de una STRING en otra, retornando la posición de tal ocurrencia.

 

Representación Ladder

 

STR_FIND_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 búsqueda

STR2

STRING

STRING a ser buscada

START

BYTE

Posición inicial de la búsqueda

VAR_OUTPUT

DONE

BOOL

Habilitación de salida

POS

BYTE

Posición donde STR2 fue encontrada

 

Operación

 

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

Es realizada una búsqueda en STR1, a partir de la posición START, por una ocurrencia de STR2.

 

En caso de que sea encontrada, insertará en POS la posición de la ocurrencia, mientras que DONE pasará al próximo bloque Ladder el valor de EN al finalizar la operación.

 

En caso de que no sea encontrada, o START reciba valor cero, DONE permanecerá en FALSE y POS permanecerá inalterada.

 

wpshelp_common_fig_note

¡NOTA!

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

 

Compatibilidad

 

Equipo

Versión

PLC300

2.10 o superior

 

Diagrama de Flujo del Bloque

 

STR_FIND_flowchart

 

Ejemplo en Ladder

 

STR_FIND_example01

 

En el ejemplo de arriba es hecha una búsqueda por STR2 en STR1, a partir de la posición 1. Como STR2 es encontrada en la posición 1, POS recibe 1. Finalizado el bloque exitosamente, será activada la salida DONE.

 

STR_FIND_example02

 

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

 

STR_FIND_example03

 

En el ejemplo de arriba es hecha una búsqueda por STR2 en STR1, a partir de la posición 2. Como STR2 es encontrada en la posición 3, POS recibe 3. Finalizado el bloque exitosamente, será activada la salida DONE.

 

STR_FIND_example04

 

En el ejemplo de arriba es hecha una búsqueda por STR2 en STR1, a partir de la posición 2. Como STR2 es encontrada en la posición 3, POS recibe 3. Finalizado el bloque exitosamente, será activada la salida DONE.

 

STR_FIND_example05

 

En el ejemplo de arriba, es hecha una búsqueda por STR2 en STR1, a partir de la posición 2. Como STR2 no es encontrada, POS permanece inalterada y la salida DONE es desactivada.

 

Ejemplo en ST

 

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

 

 

VAR

   STR1 : STRING := '1212';

   STR2 : STRING := '13';

   START : BYTE := 2;

   POS : BYTE;

END_VAR

 

POS := FB_STR_FIND(

   EN:=DI1,

   STR1:=STR1,

   STR2:=STR2,

   START:=START,

   Done=>DO1);