Bloque que busca la última ocurrencia de una STRING en otra, retornando la posición de esa ocurrencia.
Representación Ladder

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 |
|
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 su última posición, por una ocurrencia de STR2.
En caso de que sea encontrada, insertará en POS la posición de esa 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, DONE permanecerá en FALSE y POS permanecerá inalterada.
|
¡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

Ejemplo en Ladder

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

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

En el ejemplo de arriba, es hecha una búsqueda por STR2 en STR1 a partir de su posición final. Como STR2 no es encontrada, POS permanecerá inalterada y la salida DONE será desactivada.
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; END_VAR
POS := FB_STR_FIND_LAST( EN:=DI1, STR1:=STR1, STR2:=STR2, Done=>DO1);
|
|---|