La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación con la Interfase SEND-RECEIVE

Presentaciones similares


Presentación del tema: "Programación con la Interfase SEND-RECEIVE"— Transcripción de la presentación:

1 Programación con la Interfase SEND-RECEIVE
Contenidos Página Interfase SEND-RECEIVE en la CPU Ciclo de CPU y Tiempo de Transmisión Áreas de Datos de Usuario en la CPU Escribiendo un Programa de Usuario para Conexiones de Transporte Secuencia de Ejecución Habitual de FCs en el Ciclo de CPU FCs Introduciendo FCs en la Libreria STEP Aspectos Generales sobre las FCs Reacciones a Entradas de Direcciones Incorrectas Bloque FC AG_SEND Explicación de los Parámetros Formales Principio de Funcionamiento del Bloque FC AG_SEND Códigos de Condición del AG_SEND Bloque FC AG_RECV Explicación de los Parámetros Formales Principio de Funcionamiento del Bloque FC AG_RECV Códigos de Condición del AG_RECV

2 Interfase SEND-RECEIVE en la CPU
Estación Ethernet SIMATIC S7 CPU CP Ethernet Estación Ethernet SIMATIC S7 CPU CP Ethernet CP STEP 7 base datos prog . usuario CP base datos STEP 7 prog. usuario Buffer datos Áreas datos usuario de usuario AG_SEND Send Conexión Buffer datos usuario comunicación AG_RECV Receive Áreas datos de usuario Ciclo CPU AG_SEND Tiempo transferencia Send Conexión comunicación AG_RECV Receive SIMATIC NET Industrial Ethernet Date : Siemens AG 1997. All rights reserved . File No. : 7KE_SRSS. 2 Bloques FC Se dispone de dos bloques de tipo FC para gestionar la comunicación a través de las conexiones configuradas:  AG_SEND Este bloque desplaza los datos a transmitir desde el área de datos de usuario especificada a la CP de Ethernet.  AG_RECV Este bloque coloca los datos recibidos en el área de datos de usuario especificada en la llamada. En el diagrama superior se muestra dicho procedimiento: El programa de usuario hace uso de los bloques FC AG_SEND y AG_RECV para gestionar el envío y recepción de datos en la CP Ethernet a través de la conexión configurada. Intercambio Datos Las llamadas a los bloques AG_SEND y AG_RECV en el programa de CPU CPU S7 <-> determinan el intercambio de datos entre la CPUy la CP Ethernet . CP Ethernet La CP Ethernet procesa los trabajos Send y Receive con independencia del ciclo de CPU, de modo que la transmisión se toma un cierto período de tiempo. La interfase con los bloques FC en el programa de usuario se sincroniza mediante acuses. Existen dos posibilidades:  El ciclo de CPU es más rápido que el tiempo de transmisión.  El ciclo de CPU es más lento que el tiempo de transmisión. Ciclo CPU Tiempo transferencia

3 Ciclo CPU y Tiempo de Transmisión
Módulo de arranque (OB 100/OB 101), ejecutado una vez después de, por ejemplo, conectar aliment. Comienza el tiempo de control del ciclo Leer estado señales de módulos de entrada y guar- dar en tabla de imagen proceso de entradas (PAE) Ejecución del programa en OB1 (procesamiento cíclico) Eventos (interrupción de tiempo, de hardware, etc.) Llamadas a otros módulos OBs, FBs, FCs, etc. Escribir la tabla de imagen de proceso de salidas (PAA) sobre los módulos de salida. Módulo Entrada Ciclo scan CPU Módulo Salida OB1 U E0.1 U E0.2 = A8.0 Llamadas a FC más Si se llama de nuevo al bloque, en el programa de usuario, antes de que se rápidas que el hayan enviado o recibido todos los datos, ocurre lo siguiente en las interfases Tiempo Transmisión de los bloques FC:  AG_SEND: No se aceptan más trabajos hasta que la transmisión de datos en la conexión haya sido acusada por la estación Ethernet. Durante este tiempo, el programa de usuario recibe el mensaje de ”trabajo activo" hasta que la CP Ethernet pueda aceptar el próximo trabajo sobre la misma conexión.  AG_RECV: El trabajo se acusa con el mensaje “aún no hay datos disponibles" si no hay datos recibidos en la CP Ethernet. El programa de usuario recibe este mensaje en el ciclo de CPU hasta que la CP Ethernet vuelva a recibir datos por la conexión. Llamadas a FC más Si se llama de nuevo al bloque, una vez que todos los datos se han emitido o lentas que el recibido, el procedimiento en la interfase de los bloques FC será: Tiempo Transmisión  AG_SEND: El trabajo se acusa positivamente. La CP Ethernet está lista para recibir un nuevo trabajo de envío.  AG_RECV: El trabajo se acusa con “Nuevos datos recibidos” cuando los datos han sido transmitidos al programa de usuario. A continuación, la llamada al FC puede repetirse. Esto se gestiona mediante el control del flujo del protocolo.

4 Áreas de Datos de Usuario de la CPU
Bloque de datos (DB) Imagen de proceso (PAE/PAA) Área de direcciones de bits de memoria (marcas) Áreas de Datos Pueden emplearse diferentes áreas de datos en la CPU para comunicar a Alternativas través de conexiones configuradas. La elección del área de datos es función del tipo de CPU y de la tarea a realizar. Las alternativas son:  Bloque de Datos (DB): Pueden usarse bloques de datos para almacenar datos Send/Receive.  Imagen de Proceso: Esta opción sólo esta disponible si se reservan áreas Send y Receive continuas en la imagen de proceso de la CPU S7. El tamaño puede limitarse en base a la capacidad de la CPU y al número de módulos de señal centrales.  Área de direcciones de bits de memoria: El área de direcciones de bits de memoria puede emplearse, por ejemplo, si no se dispone de suficiente espacio en la imagen de proceso debido a los módulos de señal centrales.

5 Escribiendo un Programa de Usuario para Conexiones de Transporte
Principio de trabajo y transferencia de datos El programa de usuario controla la transferencia de las áreas de datos de usuario mediante las llamadas a los bloques FC y visualiza su ejecución evaluando los bits de condición devueltos por las FCs. Los parámetros asignados a los bloques FC cuando se produce la llamada incluyen:  Número de Conexión (ID);  Localización del área de datos de usuario en la CPU. Propósito de FCs La llamada a los bloques FC desencadena las siguientes acciones:  Se pasa el área de datos de usuario a la CP Ethernet o se aceptan los datos de la CP Ethernet.  En la palabra de estado se indica la confirmación, positiva o negativa, de la ejecución del trabajo (mensaje de estado). Programación de Programe la interfase SEND-RECEIVE en el programa de usuario como se Conexiones indica a continuación:  Utilice los siguientes bloques FC para transferir datos a través de las conexiones configuradas: - AG_SEND para pasar el área de datos de usuario a la CP Ethernet; - AG_RECV para introducir los datos recibidos de la CP Ethernet en el área de datos de usuario;  Evalúe los códigos de condición proporcionados por los bloques FC: - En AG_SEND se trata de los parámetros DONE, ERROR y STATUS, y - en AG_RECV de los parámetros NDR, ERROR y STATUS

6 Secuencia de Ejecución Típica de FCs en el Ciclo de CPU
Leer PAE Leer datos recibidos a través de la conexión OB Programa de usuario Conexión AG_RECV AG_RECV Conexión AG_SEND AG_RECV Conexión AG_SEND Pasar datos Send a la conexión AG_SEND Podemos observar lo siguiente:  El programa de usuario, que puede constar de un número determinado de bloques (OBs, FBs o FCs), accede a varias conexiones.  El programa de usuario puede enviar datos a través de las conexiones mediante llamadas a AG_SEND en cualquier punto del ciclo de la CPU (ejecución controlada por programa y realizada por evento).  El programa de usuario puede aceptar datos recibidos a través de las conexiones mediante llamadas a AG_RECV en cualquier punto del ciclo de la CPU. Nota: Los bloques pueden llamarse más de una vez por ciclo para la misma conexión. Notación: Ciclo CPU Escribir PAA Tramado/sombreado muestran que bloques FC y conexiones van juntas.

7 FCs Los bloques FC se suministran con el software de configuración NCM S7-Ethernet. La siguiente tabla muestra los números de los bloques en cuestión. Si se desea, pueden modificarse dichos números. Número de bloque Tipo bloque FC 5 AG_SEND 6 AG_RECV

8 Introducción de FCs en la Librería de STEP 7
1. Abrir la librería en el Administrador SIMATIC con Archivo > Abrir > Librería. Resultado: Se muestran las librerias actualmente existentes. Si no está presente la opción “SIMATIC NET CP”, proceder del siguiente modo: 2. Buscar el directorio “Simnetcp” en STEP 7\S7libs y elegir o abrir el fichero CP.S7L que hay en él. Resultado: Se crea la librería “SIMATIC NET CP” en la librería de STEP 7. Con objeto de poder utilizar los bloques FC para realizar el programa de usuario, proceda como se indica a continuación: 1. Abrir la librería en el Administrador SIMATIC con Archivo >Abrir > Librería. Resultado: Se muestran las librerias actualmente existentes. Si no está presente la opción “SIMATIC NET CP”, proceder del siguiente modo: 2. Buscar el directorio “Simnetcp” en STEP 7\S7libs y elegir o abrir el fichero CP.S7L que hay en él. Resultado: Se crea la librería “SIMATIC NET CP” en la librería STEP 7.

9 Aspectos Generales sobre las FCs
Especificación de la dirección de la CP - Parámetro LADDR - Dirección inicial del módulo en la tabla de configuración de hardware - Dirección asignada por puesto de enchufe a la CP Ethernet; igual que en módulos analógicos Especificación del área de datos en la CPU - Dirección y longitud - Máx. longitud 240 bytes Especificando la Cuando se llama a un bloque FC se asigna la dirección inicial del módulo CP dirección de la CP al parámetro LADDR. Puede conocerse la dirección inicial del módulo CP Ethernet consultando el diálogo de configuración de S7, o calcularlo como se explica seguidamente. Buscando la La dirección inicial del módulo puede ser determinada a partir de la dirección dirección CP asignada por puesto de enchufe a los módulos de señal. Para las CPs Ethernet se aplican las mismas reglas que para los módulos analógicos. Cuando se configura la CP con la herramienta de configuración de hardware de STEP 7, aparece en la tabla de configuración la dirección inicial del módulo. Especificando el Cuando se llama a un bloque FC también se introduce la dirección y longitud Área de Datos en del área de datos en la CPU. No olvide que la máxima longitud del área de la CPU datos es 240 bytes. Parámetros Salida En un rearranque/rearranque completo de la CP Ethernet, los parámetros de del FC durante el salida del bloque FC se resetean de la forma: arranque de la CP  DONE = 0  NDR = 0  ERROR = 0  STATUS = 8180H para AG_RECV y 8181H para AG_SEND

10 Reacciones ante Entrada de Direcciones Erróneas
Error Respuesta Dirección de CP apunta a un módulo de CP inexistente o a un módulo digital. La CPU permanece en el estado Stop debido a un error de sistema. Dirección CP apunta a un módulo con entradas/salidas analógicas. Posibles códigos de error en STATUS: 8184H Error de sistema. 80B0H Zona de datos desconocida en el módulo. 80C0H Zona de datos no puede leerse. 80C3H Recursos (memoria) ocupados. 80D2H Dirección base lógica incorrecta. Si la CPU S7 no puede comunicar con la CP Ethernet en la dirección inicial de módulo especificada, el resultado es el mostrado anteriormente. Nota: El SIMATIC S7 direcciona la CP Ethernet como si fuese un módulo analógico. Si se especifica una dirección incorrecta, puede provocar códigos de error que no son debidos en sí mismos a mensajes erróneos en los bloques FC.

11 Bloque FC AG_SEND Interfase de llamada en KOP ACT DONE ID ERROR
LADDR STATUS SEND LEN BOOL BOOL INT BOOL WORD WORD ANY INT Ejemplo en AWL AWL Explicación call fc 5 ( ACT := M 10.0 ID := MB 11 LADDR := W#16#0100 SEND := P#db99.dbx10.0 byte 240, LEN := MW 12 DONE := M 10.0 ERROR := M 10.7 STATUS := MW 14 ) //Llamada bloque AG_SEND =LADDR 256 dec. En configuración de hardware Propósito El bloque FC AG_SEND traslada los datos a la CP Ethernet para la del Bloque transmisión a través de la conexión configurada. El área de datos especificada puede ser un área de la imagen de procesos, o de las direcciones de bits de memoria o un bloque de datos. Se señaliza una ejecución correcta cuando la totalidad del área de datos de usuario haya sido transmitida vía Ethernet.

12 Explicación de los Parámetros Formales (1)
Declaración Tipo Valores posibles Descripción ACT INPUT BOOL 0,1 Si ACT = 1, se envían LEN bytes procedentes del área de datos de transporte especificados con el parámetro SEND. Si ACT = 0, se actualizan los códigos de DONE, ERROR y STATUS. ID INPUT INT 1,2...64 El parámetro ID especifica el número de la conexión de transporte. LADDR INPUT WORD Dirección inicial del módulo Cuando se configura la CP con la herramienta de configuración de hardware de STEP 7, en la tabla de configuración aparece dicha dirección. Introduzca esta dirección aquí. SEND INPUT ANY Dirección y longitud del área de datos de transporte. Puede ser: - Área de imagen de proceso - Área de direcciones de bits de memoria - Área de bloque de datos

13 Explicación de los Parámetros Formales (2)
Declaración Tipo Valores posibles Descripción LEN INPUT INT 1,2, (o hasta la longitud especificada en el parámetro SEND) Número de bytes del área de datos de transporte a enviar en este trabajo. El número puede ir desde 1 hasta, como máximo, la longitud especificada en el parámetro SEND. DONE OUTPUT BOOL 0: Trabajo en progreso 1: Datos nuevos Este parámetro indica si el trabajo se ha completado sin errores o no. Mientras DONE=0, no puede iniciarse un nuevo trabajo. La CP pone DONE a 0 cuando acepta un trabajo. Para su interpretación junto con los parámetros ERROR y STATUS, ver la tabla de Códigos de Condición. ERROR OUTPUT BOOL 0: - 1: Error Código de error Para su interpretación junto con los parámetros ERROR y STATUS, ver la tabla de Códigos de Condición. STATUS OUTPUT WORD Ver tabla Código de estado Para su interpretación junto con los parámetros ERROR y STATUS, ver la tabla de Códigos de Condición.

14 Principio de Funcionamiento del bloque FC AG_SEND
Programa usuario (ciclo CPU) CP Ethernet Interlocutor comunicación Llamada AG_SEND ACT = 0 AG_SEND Fase arranque 0, 1, ) AG_SEND 1, 0, ) Llamada AG_SEND con datos ‘X’ ACT = 1 AG_SEND 0, 0, ) Transmisión de ‘X’ a través de Ethernet activa Llamada AG_SEND ACT = 0 AG_SEND Notación: 1) Transferencia parámetros DONE, ERROR, STATUS 0, 0, ) El diagrama precedente muestra la secuencia normal de ejecución de una transferencia de datos iniciada mediante AG_SEND en el programa de usuario. La CP Ethernet acusa cada trabajo AG_SEND del programa de usuario mediante los parámetros de salida DONE, ERROR y STATUS. Los indicadores de estado pueden actualizarse simplemente poniendo a 0 el parámetro ACT, sin necesidad de recurrir a un nuevo trabajo Send. AG_SEND 1, 0, ) Tiempo Tiempo Tiempo

15 Códigos de Condición de AG_SEND (1)
DONE ERROR STATUS Significado 1 0000H Trabajo concluido sin errores. 1 7000H Este código sólo está disponible para el S Se ha llamado a la FC con ACT=0; el trabajo aún no ha sido procesado. 8181H Trabajo activo. 1 8183H No hay datos de configuración o servicio de Transpore no iniciado aún en la CP Ethernet. 8184H Error sistema. 8185H Parámetro LEN mayor que área fuente SEND. 8186H Parámetro ID no válido, ID != 1, 8301H SAP no activado en estación de destino. 8302H No hay recursos Receive en la estación de destino, estación de destino no puede procesar los datos recibidos con suficiente rapidez o no se le han dado recursos para la recepción de datos. 8303H El servicio SDA (Send Data with Acknowledge) no es soportado por la estación de destino en este SAP (no tiene servicio SDA en Ethernet). 8304H Conexión no establecida.

16 Códigos de Condición de AG_SEND (2)
DONE ERROR STATUS Significado 1 8311H Estación de destino no accesible en la dirección Ethernet especificada. 1 8312H Error Ethernet en CP. 1 8F22H Área fuente no válida, p. Ej. : Área no existente en DB parámetro LEN < 0 1 8F24H Error de área leyendo un parámetro. 1 8F28H Error de alineación leyendo un parámetro. 1 8F32H El parámetro contiene un número DB demasiado alto. 1 8F33H Número DB erróneo. 1 8F3AH Área no cargada (DB). 1 8F42H Retardo en acuse leyendo un parámetro del área de periferia. 1 8F44H Dirección del parámetro a leer inhibida en la pista de acceso. 1 8F7FH Error interno, p.ej. Referencia ANY no permitida p. ej. Parámetro LEN = 0.

17 Códigos de Condición de AG_SEND (3)
DONE ERROR STATUS Significado 1 8090H No existe ningún módulo con esta dirección inicial o CPU en STOP. 1 8091H Dirección inicial del módulo no está en formato doble palabra. 1 80B0H Registro desconocido en el módulo. 1 80B1H Área de destino inválida p. ej. área de destino > 240 bytes. 1 80B2H No establecido enlace por bus de comunicación entre CPU y CP. 1 80C0H No se puede leer el registro. 1 80C1H El registro indicado está siendo procesado. 1 80C2H Hay demasiadas peticiones pendientes. 1 80C3H Recursos (memoria) de CPU ocupados temporalmente. 1 80C4H Error de comuncación. 1 80D2H Dirección inicial del módulo errónea.

18 Bloque FC AG_RECV Interfase llamada en KOP ID NDR LADDR ERROR
RECV STATUS LEN BOOL INT WORD BOOL ANY WORD INT Ejemplo en AWL AWL Explicación call fc 6 ( ID := DB 100.DBB 1 LADDR := W#16#0100 RECV := P#M 0.0 BYTE 100, NDR := DB 100.DBX 0.6 ERROR := DB 100.DBX 0.7 STATUS := DB 100.DBW 2 LEN := DB 100.DBW 4 ) // Llamada bloque AG_RECVl Propósito El bloque FC AG_RECV recibe los datos transmitidos, a través de las del Bloque conexiones configuradas, desde la CP Ethernet. El área de datos especificada como área de destino puede ser una zona de la imagen de proceso, de las direcciones de bits de memoria o de un bloque de datos. Se señaliza una ejecución correcta cuando se han recibido los datos procedentes de la CP Ethernet.

19 Explicación de los Parámetros Formales (1)
Declaración Tipo Valores posibles Descripción ID INPUT INT 1,2...16 El parámetro ID especifica el número de la conexión de transporte. LADDR INPUT WORD Dirección inicial del módulo Cuando se configura la CP con la herramienta de configuración de hardware de STEP 7, en la tabla de configuración aparece dicha dirección. Introduzca esta dirección aquí. RECV INPUT ANY Dirección y longitud del área de datos de transporte. Puede ser: - Área de imagen de proceso - Área de direcciones de bits de memoria - Área de bloque de datos LEN INPUT INT 1, Número de bytes transferidos desde la CP Ethernet al área de datos de transporte.

20 Explicación de los Parámetros Formales (2)
Declaración Tipo Valores posibles Descripción NDR OUTPUT BOOL 0: - 1: New data Este parámetro indica si se han aceptado nuevos datos. Para su interpretación junto con los parámetros ERROR y STATUS, ver la tabla de Códigos de Condición. ERROR OUTPUT BOOL 0: - 1: Error Código de error Para su interpretación junto con los parámetros ERROR y STATUS, ver la tabla de Códigos de Condición. STATUS OUTPUT WORD See Condition Codes table Código de estado Para su interpretación junto con los parámetros ERROR y STATUS, ver la tabla de Códigos de Condición.

21 Principio de Funcionamiento del bloque AG_RECV
Programa usuario (ciclo CPU) CP Ethernet Interlocutor comunicación Transmisión de ‘A’ a través de Ethernet en progreso AG_RECV 0, 1, ) AG_RECV 1, 0, ) Transmisión de ‘B’ a través de Ethernet en progreso Aceptar/evaluar datos recibidos ‘A’ AG_RECV 0, 0, ) AG_RECV 1, 0, ) Aceptar/evaluar datos recibidos ‘B’ Notación: 1) Transferencia parámetros NDR, ERROR, STATUS Transmisión de ‘C’ a través de Ethernet en progreso El diagrama precedente muestra la secuencia normal de ejecución de una recepción de datos iniciada mediante AG_RECV en el programa de usuario. La CP Ethernet acusa cada trabajo AG_RECV del programa de usuario mediante los parámetros de salida NDR, ERROR y STATUS. AG_RECV . Tiempo Tiempo Tiempo

22 Códigos de Condición de AG_RECV (1)
NDR ERROR STATUS Significado 1 0000H Se han aceptado nuevos datos. 8180H Aún no se dispone de datos. 8181H Petición en curso. 1 8183H Falta la configuración o aún no se ha iniciado el servicio de Transporte ISO en la CP Ethernet. 1 8184H Error de sistema. 1 8185H Búfer de destino (RECV) demasiado pequeño. 1 8186H Parámetro ID no válido != 1, 1 8304H Conexión no establecida. 1 8F23H Área fuente no válida, p. ej.: Área no presente en DB. 1 8F25H Erro de área al escribir un parámetro. 1 8F29H Error de alineación al escribir un parámetro. 1 8F30H Parámetro en 1er bloque datos activo protegido contra escritura.

23 Códigos de Condición de AG_RECV (2)
NDR ERROR STATUS Significado 1 8F31H Parámetro en 2do bloque datos activo protegido contra escritura. 1 8F32H Parámetro contiene número de DB demasiado alto. 1 8F33H Número DB erróneo. 1 8F3AH Área de destino no cargada (DB). 1 8F43H Retardo en acuse al escribir un parámetro del área de periferia. 1 8F45H Dirección del parámetro a escribir inhibida en la pista de acceso. 1 8F7FH Error interno, p. ej. Referencia ANY no permitida. 1 8090H No existe ningún módulo con esta dirección inicial o CPU en STOP. 1 8091H Dirección inicial del módulo no está en formato doble palabra. 1 80A0H Acuse negativo al leer el módulo. 1 80B0H El módulo no conoce el registro. 1 80B1H Área de destino no válida.

24 Códigos de Condición de AG_RECV (3)
NDR ERROR STATUS Significado 1 80B2H No establecido enlace por bus de comunicación entre CPU y CP. 1 80C0H El registro no puede ser leído. 1 80C1H El registro indicado está siendo procesado. 1 80C2H Hay demasiadas peticiones pendientes. 1 80C3H Recursos (memoria) de CPU ocupados temporalmente. 1 80C4H Error de comunicación. 1 80D2H Dirección inicial del módulo incorrecta.


Descargar ppt "Programación con la Interfase SEND-RECEIVE"

Presentaciones similares


Anuncios Google