Hay condiciones en la función BLKMOV que se deben cumplir para que la copia de datos del área de memoria de origen se copie exactamente igual en el área de memoria de destino.

Condiciones en la función BLKMOV  en la copia de datos para el campo de origen y destino.

Podemos enumerar ciertas condiciones en la función BLKMOV para que la copia de datos se ejecute sin ningún problema. Son los siguientes:

El área de origen y el área de destino no deben solaparse.

Ejemplo de condiciones en la función BLKMOV que darían error de solapamiento de áreas de memoria.

Ejemplo de condiciones en la función BLKMOV que darían error de solapamiento de áreas de memoria.

Si el área de destino es mayor que el área de origen, solamente se copiarán en el área de destino la misma cantidad de datos que exista en el área de origen.

En este caso el área de memoria de destino es mayor que la de origen.

En este caso el área de memoria de destino es mayor que la de origen.

Si el área de destino es menor que el área de origen, solamente se copiarán en el área de destino la cantidad de datos que pueda acoger el destino.

El área de memoria de destino es menor que el área de memoria de origen.

El área de memoria de destino es menor que el área de memoria de origen.

(En este caso anterior, en el área de destino solamente se sobrescriben los primeros 5 bytes del origen, ya que no existe más memoria en destino donde escribir.)

Restricciones en la copia de datos en la función BLKMOV.

Si el campo real de destino u origen es menor que el tamaño del área de memoria parametrizada para el campo de origen o destino (parámetros SRCBLK, DSTBLK), el comportamiento depende del tipo de CPU:

CPU S7-300:

No se transfiere ningún dato.

RET_VAL tendrá el valor W#16#837F.

CPU S7-400:

S7-400 V4: no se transfieren datos.

Para el resto de CPU S7-400: sí que se transfieren datos.

En todas las CPUs S7-400 se muestra un error en RET_VAL con el código de error W#16#8122 o W#16#8323.

Si el puntero ANY (origen o destino) es del tipo BOOL, el valor especificado para la longitud debe ser múltiplo de 8; de lo contrario no se podrá ejecutar el proceso de copia.

Últimos detalles.

Ver más detalles acerca de la función BLKMOV en los siguientes documentos:

Definición de la función BLKMOV.

Parámetros de la función BLKMOV.

Condiciones en el campo de origen y destino en la función BLKMOV.


Desarrollo del documento

Documento desarrollado por tecnoplc.com bajo una Licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Ante cualquier duda, consultar en www.tecnoplc.com.
Creative Commons pequeño