Bloque que realiza una copia de una sección final de STR, almacenando el resultado en DST.
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
STR |
STRING |
STRING original |
|
LEN |
BYTE |
Número de caracteres que serán copiados a partir del fin de STR |
|
VAR_OUTPUT |
DONE |
BOOL |
Habilitación de salida |
DST |
BYTE |
Variable que recibe la nueva STRING |
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. DST recibe un número de caracteres de STR1 definido por LEN, a partir de la posición final de STR, volviendo en dirección al inicio.
El valor de DONE pasa al próximo bloque Ladder el valor de EN, al finalizar la operación.
|
¡NOTA! En caso de que el tamaño de DST sea menor que el número de caracteres copiados de STR, el valor resultante será truncado. |
Compatibilidad
Equipo |
Versión |
PLC300 |
2.10 o superior |
Diagrama de Flujo del Bloque

Ejemplo en Ladder

En el ejemplo de arriba, son copiados cero caracteres a partir de la posición final de STR1, y el resultado es enviado a DST_6. Finalizado el bloque exitosamente, será activada la salida DONE. Observe que, cuando LEN es cero, la salida es siempre construida como una STRING nula.

En el ejemplo de arriba, son copiados dos caracteres a partir de la posición final de STR1, y el resultado es enviado a DST_6. Finalizado el bloque exitosamente, será activada la salida DONE.

En el ejemplo de arriba, son copiados cuatro caracteres a partir de la posición final de STR1, y el resultado es enviado a DST_6. Finalizado el bloque exitosamente, será activada la salida DONE.

En el ejemplo de arriba, son copiados ocho caracteres a partir de la posición final de STR1, y el resultado es enviado a DST_6. Finalizado el bloque exitosamente, será activada la salida DONE. Observe que, se LEN es mayor que el tamaño de STR1, STR1 es copiada por completo, sin generar error.

En el ejemplo de arriba, son copiados cuatro caracteres a partir de la posición final de STR1, y el resultado es enviado a DST_2. Como el tamaño de DST_2 es 2, los dos últimos 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 := '1234'; LEN : BYTE := 4; DST_2 : STRING; END_VAR
DST_2 := FB_STR_COPY_LAST( EN:=DI1, STR:=STR1, LEN:=LEN, Done=>DO1);
|
|---|