Está en la página 1de 4

SIMATIC S7 Controlador programable S7-1200

Instrucciones GET y PUT (Leer/escribir datos de/en una CPU remota)

Instrucciones GET y PUT (Leer/escribir datos de/en una CPU remota)

Las instrucciones GET y PUT se pueden utilizar para comunicarse con CPU S7 a través de conexiones
PROFINET y PROFIBUS. Esto solo es posible si la función "Permitir acceso vía comunicación PUT/
GET" está activada para la CPU del interlocutor en la propiedad "Protección" de las propiedades de la
CPU local:
• Acceso a datos en una CPU remota: una CPU S7-1200 solo puede utilizar direcciones absolutas en el campo
de entrada ADDR_x para direccionar variables de CPU remotas (S7-200/300/400/1200).

• Acceder a los datos en un DB estándar: una CPU S7-1200 solo puede utilizar direccionar absolutas en el campo
de entrada ADDR_x para direccionar variables de DB en un DB estándar de una CPU S7 remota.

• Acceder a los datos en un DB optimizado: una CPU S7-1200 no puede acceder a variables de DB en un DB
optimizado de una CPU S7-1200 remota.

• Acceso a datos en una CPU local: una CPU S7-1200 puede usar direcciones tanto absolutas como simbólicas
como entradas de los campos de entrada RD_x o SD_x de las instrucciones GET o PUT.

Nota
La operación GET/PUT del programa de la CPU V4.0 no está activada automáticamente
Una operación GET/PUT del programa de una CPU V3.0 está activada automáticamente en una CPU
V4.0.
Sin embargo, una operación GET/PUT del programa de una CPU V4.0 no está activada automáticamente
en una CPU V4.0. Hay que ir a la "Configuración de dispositivos" de la CPU, ficha "Propiedades" de la
ventana de inspección, propiedad "Protección" para activar Acceso GET/PUT.

Tabla 1 Instrucciones GET y PUT


KOP / FUP SCL Descripción

"GET_DB"( req:=_bool_in_, ID:=_word_in_, Utilice la instrucción GET para leer datos desde
ndr=>_bool_out_, error=>_bool_out_, una CPU S7 remota. La CPU remota puede
status=>_word_out_, addr_1:=_remote_inout_, estar tanto en modo RUN como STOP.
[...addr_4:=_remote_inout_,] STEP 7 crea automáticamente el DB al
rd_1:=_variant_inout_ introducir la instrucción.
[,...rd_4:=_variant_inout_]);

This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the
completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties.
13/09/2022
SIMATIC S7 Controlador programable S7-1200
Instrucciones GET y PUT (Leer/escribir datos de/en una CPU remota)

KOP / FUP SCL Descripción

"PUT_DB"( req:=_bool_in_, ID:=_word_in_, Utilice la instrucción PUT para escribir datos


done=>_bool_out_, error=>_bool_out_, en una CPU S7 remota. La CPU remota puede
status=>_word_out_, addr_1:=_remote_inout_, estar tanto en modo RUN como STOP.
[...addr_4:=_remote_inout_,] STEP 7 crea automáticamente el DB al
sd_1:=_variant_inout_, introducir la instrucción.
[....sd_4:=_variant_inout_]);

Tabla 2 Tipos de datos para los parámetros


Parámetro y tipo Tipo de datos Descripción

REQ Input Bool Un cambio de señal low a high (flanco ascendente) lanza la operación.

ID Input CONN_PRG ID de conexión S7 (Hex)


(Word)

NDR (GET) Output Bool Nuevos datos listos:


• 0: petición no iniciada aún o en proceso
• 1: tarea ejecutada correctamente

DONE (PUT) Output Bool DONE:


• 0: petición no iniciada aún o en proceso
• 1: tarea ejecutada correctamente

ERROR Output Bool • ERROR=0


STATUS Output Word Valor de STATUS:
― 0000H: ni advertencia ni error
― <> 0000H: Advertencia, STATUS suministra información
detallada
• ERROR=1
Existe un error. STATUS suministra información detallada sobre la
naturaleza del error.

ADDR_1 InOut Remoto Puntero a las áreas de memoria de la CPU remota que almacena los datos
que deben leerse (GET) o que se envían (PUT).
ADDR_2 InOut Remoto

ADDR_3 InOut Remoto

ADDR_4 InOut Remoto

This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the
completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties.
13/09/2022
SIMATIC S7 Controlador programable S7-1200
Instrucciones GET y PUT (Leer/escribir datos de/en una CPU remota)

Parámetro y tipo Tipo de datos Descripción

RD_1 (GET) InOut Variante Puntero a las áreas de memoria de la CPU local que almacena los datos que
SD_1 (PUT) deben leerse (GET) o enviarse (PUT).
RD_2 (GET) InOut Variante Tipos de datos permitidos: Bool (solo se permite un único bit), Byte, Char,
SD_2 (PUT) Word, Int, DWord, DInt o Real.
Nota: Si el puntero accede a un DB, se debe especificar la dirección absoluta,
RD_3 (GET) InOut Variante
p. ej.:
SD_3 (PUT)
P# DB10.DBX5.0 Byte 10
RD_4 (GET) InOut Variante
En este caso, 10 representa el número de bytes que deben leerse (GET) o
SD_4 (PUT)
transmitirse (PUT).

Asegúrese de que la longitud (número de bytes) y los tipos de datos para los parámetros ADDR_x (CPU
remota) y RD_x o SD_x (CPU local) concuerden. El número tras el identificador "Byte" es el número
de bytes referenciado por el parámetro ADDR_x, RD_x o SD_x .

Nota
El número total de bytes recibidos en una instrucción GET o el número total de bytes enviados en una
instrucción PUT es limitado. Las limitaciones se basan en el número de las cuatro posibles direcciones
y áreas de memoria que se utilizan:
• Si solo se utilizan ADDR_1 y RD_1/SD_1, una instrucción GET puede recibir 222 bytes y una instrucción
PUT puede enviar 212 bytes.

• Si se utilizan ADDR_1, RD_1/SD_1, ADDR_2 y RD_2/SD_2, una instrucción GET puede recibir un total de
218 bytes y una instrucción PUT puede enviar un total de 196 bytes.

• Si se utilizan ADDR_1, RD_1/SD_1, ADDR_2, RD_2/SD_2, ADDR_3 y RD_3/SD_3 , una instrucción GET
puede recibir un total de 214 bytes y una instrucción PUT puede enviar un total de 180 bytes.

• Si se utilizan ADDR_1, RD_1/SD_1, ADDR_2, RD_2/SD_2, ADDR_3, RD_3/SD_3, ADDR_4 y RD_4/


SD_4, una instrucción GET puede recibir un total de 210 bytes y una instrucción PUT puede enviar un total
de 164 bytes.

La suma del número de bytes de cada uno de los parámetros de dirección y área de memoria debe ser
menor o igual que los límites definidos. Si se superan esos límites, las instrucciones GET o PUT
devuelven un error.

Con un flanco ascendente del parámetro REQ, la operación de lectura (GET) o de escritura (PUT) carga
los parámetros ID, ADDR_1, y RD_1 (GET) o SD_1 (PUT).
• Para GET: La CPU remota devuelve los datos solicitados a las áreas de recepción (RD_x), comenzando por
el siguiente ciclo. Una vez la operación de lectura ha finalizado sin errores, el parámetro NDR se pone a 1.
Solo se puede iniciar una nueva operación cuando la operación anterior haya finalizado.

• Para PUT: La CPU local empieza a enviar los datos (SD_x) a la posición de memoria (ADDR_x) en la CPU
remota. Una vez la operación de escritura ha finalizado sin errores, la CPU remota devuelve un acuse de
ejecución. El parámetro DONE de la instrucción PUT se pone a 1. Solo se puede iniciar una nueva operación
de escritura cuando la operación anterior haya finalizado.

This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the
completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties.
13/09/2022
SIMATIC S7 Controlador programable S7-1200
Instrucciones GET y PUT (Leer/escribir datos de/en una CPU remota)

Nota

Para garantizar la coherencia de los datos, antes de acceder a los datos o inicializar otra operación
de lectura o escritura, compruebe siempre que la operación haya finalizado (NDR = 1 para GET o
DONE = 1 para PUT).

Los parámetros ERROR y STATUS suministran información sobre el estado de la operación de lectura
(GET) o escritura (PUT).

Tabla 3 Información de error


ERROR STATUS Descripción
(decimal)

0 11 • La nueva tarea no se puede ejecutar debido a que aún no ha finalizado una tarea anterior.
• La tarea se está procesando ahora en una clase de prioridad más baja.

0 25 Se ha iniciado la comunicación. La tarea se está procesando.

1 1 Problemas de comunicación, p. ej.:


• No se ha cargado la descripción de la conexión (local o remota)
• Conexión interrumpida (p. ej.: cable, CPU desactivada o CM/CB/CP en modo STOP)
• Conexión con el interlocutor aún no establecida

1 2 Acuse negativo por parte del dispositivo interlocutor. No se puede ejecutar la tarea.

1 4 Errores en los punteros del área de emisión (RD_x para GET o SD_x para PUT) relacionados con
la longitud de los datos o el tipo de datos.

1 8 Error de acceso a la CPU interlocutora

1 10 No es posible acceder a la memoria de usuario local (p. ej. intentar acceder a un DB borrado)

1 12 Al llamar el SFB:
• Se especificó un DB de instancia que no pertenece a GET o PUT
• No se especificó un DB de instancia sino un DB compartido
• No se ha encontrado ningún DB de instancia (al cargar un nuevo DB de instancia)

1 20 • Se ha excedido el número máximo de tareas/instancias simultáneas


• Las instancias se sobrecargaron al arrancar la CPU
Este estado puede presentarse al ejecutar por primera vez las instrucciones GET o PUT

1 27 No hay una instrucción GET o PUT que concuerde con la CPU.

Ver también
→ Protección de acceso a la CPU

This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the
completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties.
13/09/2022

También podría gustarte