|
Instrucciones: Para poder intercambiar datos entre estaciones S7-300 a través de una "mso-ansi-language: ES; ">conexión S7 configurada en el NETPRO, en el programa S7 hay que llamar a los bloques de comunicación FB14 "GET" y FB15 "PUT". En este caso, la conexión S7 no se debe configurar en ambos lados de la comunicación, ya que la comunicación S7 por medio del FB14 "GET" y el FB15 "PUT" está basada en el principio cliente-cliente.
Características de los módulos de comunicación FB14 "GET" y FB15 "PUT"
- Los bloques de función FB14 y FB15 son funciones de comunicación asíncronas.
- En este ejemplo, los bloques se llaman desde el OB1 (ver la página del Customer Support con número ID 2795485)
- La elaboración de los bloques FB14 y FB15 pueden durar varios ciclos de OB1.
- 'mso-ansi-language:ES; '>El FB14 y FB15 se activan con el parámetro de entrada "REQ".
- La finalización del servicio se indica en los parámetros "DONE", "NDR" o "ERROR".
-
PUT y GET pueden funcionar simultáneamente a través de una conexión.
-
Los bloques de comunicación FB14 "GET" y FB15 "PUT" con la versión actual para el intercambio de datos a través de una CP343-1 o una CP342-5 se encuentran dentro de la librería "SIMATIC_NET_CP -> CP 300 -> Bloques".
- Los bloques de comunicación FB14 "GET" y FB15 "PUT" de la familia "CPU 300" con la versión actual, para el intercambio de datos a través de la interfaz PROFINET integrada de una CPU del S7-300, una IM151-8 PN/DP CPU o una IM154-8 CPU se encuentran dentro de la librería estándar "Bloques de comunicación -> Bloques".
Descripción del programa ejemplo
El programa de S7 contiene la llamada a los bloques de comunicación FB14 "GET" y FB15 "PUT" de la librería estándar. El FB14 "GET" sirve para leer datos de una CPU remota y el FB15 "PUT" sirve para escribir datos en una CPU remota. El programa ejemplo muestra el funcionamiento de los bloques de comunicación FB14 "GET" y FB15 "PUT" con ayuda de una conexión S7.
Cree primero la configuración hardware de la estación S7-300.
Advertencia: Configure el byte de marcas 10 como marca de ciclo. A través de esta marca de ciclo se activa el servicio de lectura y escritura. Guarde y compile la configuración hardware de la estación S7-300 y cárguela en la CPU. En este programa ejemplo se utiliza el temporizador T10.
A continuación, configure en el NetPro una de las conexiones de comunicación arriba indicadas para la CPU. Si los interlocutores de comunicación se han configurado conjuntamente en un proyecto de STEP 7, entonces puede configurar una conexión S7 especificada. Si el interlocutor de comunicación no está configurado en el mismo proyecto de STEP 7 que la estación S7-300, entonces configure una conexión S7 no especificada. Tenga en cuenta en la configuración de la conexión de comunicación que la dirección IP o PROFIBUS esté asignada correctamente. Además, también hay que tener en cuenta la correcta asignación de los racks/slots y los recursos de la conexión. Estos se utilizan para la identificación inequívoca de la conexión S7 entre los interlocutores de comunicación.
En el diálogo de propiedades de la conexión S7 -> registro "General", se dispone del valor a introducir para el parámetro de entrada "ID" de los bloques de comunicación FB14 "GET" y FB15 "PUT".

Figura 01
El programa de STEP 7 dispone de los bloques OB100, OB1, FB115, DB115, DB200, DB201, FB14 y FB15.
OB 100: El OB 100 es un OB de arranque que se e'mso-ansi-language:ES; '>labora cuando se rearranca la CPU (rearranque en caliente). En este OB se libera el inicio de la primera comunicación con ayuda de la marca M0.3 "START-UP".
OB 1: El OB1 se e'mso-ansi-language:ES; '>labora de forma cíclica. En este OB se encuentra la llama al FB 115 (DB de instancia: DB 115) con la M 0.3 "START-UP" como parámetro (INIT_COM). Una vez haya sido elaborado el FB 115 se resetea la M 0.3 "START-UP".

Figura 02
FB115 El FB115 se llama desde el OB1. En este FB se dispone de la llamada a los bloques de comunicación FB14 "GET" y FB15 "PUT".
En el parámetro de entrada "ID" de los bloques de comunicación se introduce el número de la conexión S7 configurada en el NetPro. El valor del parámetro de entrada "ID" se 'mso-ansi-language:ES; '> extrae del diálogo de propiedades de la conexión S7 en el NetPro (ver figura 01).
El número de 'mso-ansi-language:ES; '> la conexión se puede modificar individualmente dentro del FB105. Adapte el número de 'mso-ansi-language:ES; '> la conexión en el segmento 1 del FB115 según la configuración disponible. El número de la conexión se guarda en una variable estática y por tanto en el bloque de datos de instancia DB115.
En este ejemplo se define el número de la conexión "1".

Figura 03
El FB14 se activa con el parámetro de entrada "REQ" cuando se produce un flanco positivo en la marca de ciclo M10.6 y no se e'mso-ansi-language:ES; '>labora ningún servicio. El parámetro de entrada "REQ" se desactiva de nuevo cuando el servicio de lectura ha terminado con éxito o presenta un fallo. De esta forma sólo se puede activar un nuevo servicio de lectura cuando haya terminado el servicio activo actualmente. Este 'mso-ansi-language:ES; '> enclavamiento de la función es especialmente importante, ya que la función tiene un comportamiento asíncrono y puede durar varios ciclos. 'mso-ansi-language:ES; '>Una activación constante del bloque de funciónsin esperar la finalización del servicio ya activo, puede provocar una sobrecarga en la comunicación.
El parámetro "ADDR_1" indica la zona de datos en la CPU remota en la se realizan lecturas o escrituras, por ejemplo P#DB201.DBX0.0 BYTE 200. En el parámetro "RD_1" se indica la zona de datos para los datos leídos, por ejemplo P#DB200.DBX0.0 BYTE 100. Los parámetros de salida "NDR", "ERROR" y "STATUS" son necesarios para la evaluación de los servicios y sólo son válidos en el mismo ciclo.

Figura 04
Si la e'mso-ansi-language: ES; '>laboración del bloque ha finalizado con error, se asegura el valor del parámetro de salida "STATUS" del FB14 para un análisis de fallo.

Figura 05
El FB15 se activa con el parámetro de entrada "REQ" cuando se produce un flanco positivo en la marca de ciclo M10.6 y no se e'mso-ansi-language:ES; '>labora ningún servicio. El parámetro de entrada "REQ" sólo se desactiva de nuevo cuando el servicio de lectura ha terminado con éxito o presenta un fallo. De esta forma sólo se puede activar un nuevo servicio de lectura cuando haya terminado el servicio activo actualmente.
Este 'mso-ansi-language:ES; '> enclavamiento de la función es especialmente importante, ya que el comportamiento de la función es asíncrono y puede durar varios ciclos. Una activación constante del bloque de función sin esperar 'mso-ansi-language:ES; '> la finalización del servicio ya activo, puede provocar una sobrecarga en la comunicación.
El parámetro "ADDR_1" indica la zona de datos en la CPU remota en la se realizan lecturas o escrituras, por ejemplo P#DB200.DBX0.0 BYTE 20. En el parámetro "SD_1" se indica la zona de datos de los datos a enviar, por ejemplo P#DB201.DBX0.0 BYTE 20. Los parámetros de salida "DONE", "ERROR" y "STATUS" son necesarios para la evaluación de los servicios y 'mso-ansi-language:ES; '>sólo son válidos en el mismo ciclo.

Figura 06
Si la ejecución del bloque ha finalizado con error, se asegura el valor del parámetro de salida "STATUS" del FB15 para un análisis de fallos.

Figura 07
Informaciones adicionales
- En el manual "Funciones estándar y del sistema para S7-300/400", tomo 1/2, capítulo 22 "Comunicación S7", se dispone de información sobre la cantidad de datos que se pueden transferir con ayuda de los bloques de comunicación FB14 "GET" y FB15 "PUT". Este manual se puede descargar desde la página del Customer Support con número ID 44240604.
- La configuración de una conexión S7 especificada y no especificada se describe en la página del Customer Support con número ID 17628518.
El proyecto de STEP 7 como descarga: El proyecto de STEP 7 contiene un programa ejemplo para llamar a los bloques de comunicación FB14 y FB15. Se ha creado con el STEP 7 V5.5.
Sample_S7-300_PUT_GET.zip ( 197 KB )
Advertencia Copie en el programa de usuario la versión actual de los bloques de comunicación FB14 y FB15, desde la librería SIMATIC_NET_CP o desde la librería estándar, y llame a los bloques dentro de éste.
|