Módulos de comunicación FC11 y FC12 para el PROFINET IO-Device
Instrucciones:
Si una CP de Industrial Ethernet funciona como controlador PROFINET-IO o como PROFINET-IO Device, hay que llamar en el programa de usuario a las siguientes funciones de comunicación:
- FC11 "PNIO_SEND"
- FC12 "PNIO_RECV"
Características de los módulos de comunicación FC11 "PNIO_SEND" y FC12 "PNIO_RECV":
- El FC11 y el FC12 son módulos de comunicación síncronos.
- Los módulos están dentro de la librería "SIMATIC_NET_CP" para el S7-300.
- Los módulos se tienen que llamar en el OB1 (consulte también la página del Customer Support con número ID 2795485)
- El final del servicio se muestra con DONE, NDR o ERROR.
Características de los módulos de comunicación FC11 "PNIO_SEND":
- Servicio como controlador PROFINET-IO:
El módulo transfiere a la CP IE los datos de proceso (salidas) de un rango de salida configurado, para su posterior transferencia al PROFINET-IO Device, y como señalización de estado muestra el "IO Consumer Status" (IOCS) de las salidas del PROFINET-IO Device.
- Servicio como PROFINET-IO Device
El módulo lee en el PROFINET-IO Device las entradas de proceso preelaboradas de la CPU, y las transfiere al controlador PROFINET IO (direcciones de entrada configuradas); Adicionalmente, el módulo suministra como señalización de estado el "IO Consumer Status" (IOCS) del controlador PROFINET IO.
Características de los módulos de comunicación FC12 "PNIO_RECV":
- Servicio como controlador PROFINET-IO:
El módulo acepta en la zona de entrada configurada los datos de proceso (entradas) del PROFINET IO-Device (entradas del controlador), así como el "IO Provider Status" (IOPS) de las entradas de dicho PROFINET IO-Device.
- Servicio como PROFINET-IO Device
El módulo acepta los datos transferidos por el controlador PROFINET IO (direcciones A configuradas), así como el estado "IO Provider Status (IOPS)" de dicho controlador PROFINET IO, y los escribe en la zona de datos reservada para las salidas de proceso de la CPU en el PROFINET IO-Device.
Descripción de la configuración:
El proyecto de STEP7 contiene la siguiente estación del S7-300, la cual se ha configurado como controlador PROFINET-IO:
- CPU 319-3PN/DP
Los siguientes módulos se utilizan en el proyecto de STEP 7 como PROFINET-IO Device.
- CPU 315-2 PN/DP con CP343-1 Lean (6GK7 343-1CX10-0XE0)
- ET 200S
Figura 01: Configuración
Para el PROFINET-IO Device CP343-1 Lean, se han configurado los siguientes módulos de entrada y salida:
- 16 Bytes de ED con el rango de direcciones 0-15
- 8 Bytes de ED con el rango de direcciones 16-23
- 16 Bytes de SD con el rango de direcciones 0-15
- 4 Bytes de SD con el rango de direcciones 16-19, es decir
El rango de direcciones de las entradas es 0-23 (24 Bytes) y el rango de direcciones de las salidas es 0-19 (20 Bytes). El rango de direccionamiento de E/S tiene que comenzar con la dirección I/O "0".
Figura 02: Rango de direccionamiento de E/S para el IO Device CP 343-1 Lean
En la ET 200S, se han configurado los siguientes módulos de entrada y salida:
2 SD con el rango de direcciones 20.0-20.1
Figura 03: Rango de direccionamiento de E/S para el IO Device ET 200S
Por tanto, el rango total de direcciones es de:
Entradas: 0-23 = 24 Bytes
Salidas: 0-20 = 21 Bytes
Descripción del programa de usuario:
En este ejemplo, se utiliza una CP343-1, para conectar una estación S7-300 como PROFINET-IO Device a un sistema PROFINET IO. En la CPU del S7-300, se ha definido el byte de marcas (MB0) como marca de ciclo. El programa de STEP-7 consta de los módulos OB1, FB100, DB30, DB31, DB12, FC11 y FC12.
- OB1
El OB1 se llama cíclicamente. En este OB, se dispone de la llamada al FB100 (DB de instancia: DB100).
Figura 04: OB1
FB100
El FB100 se llama en ciclo del OB1. En este FB se llama al FC11 "PNIO_SEND" y al FC12 "PNIO_RECV".
Figura 05: Llamada al FC11 "PNIO_SEND"
Figura 06: Llamada al FC12 "PNIO_RECV"
El parámetro de entrada MODE debe valer "0", ya que la IE CP sólo funciona como PROFINET-IO Device. Si la IE CP funciona en paralelo como controlador PROFINET-IO y PROFINET-IO Device, el parámetro de entrada debe valer "1".
En el parámetro de entrada "CPLADDR" de las funciones de comunicación, se indica la dirección de módulo del PROFINET-IO Device. Esta dirección se puede sacar del diálogo de propiedades de la CP de Industrial Ethernet en la configuración HW, desde "CPs -> opción "Direcciones" (consulte la figura 06)". En este ejemplo, la dirección del módulo para la CP343-1CX10 (PROFINET-IO Device) es 256dez = 100hex.
En el parámetro de entrada "LEN" del FC11 "PNIO_SEND", se indica la longitud de toda la zona de direcciones de las salidas configuradas para la CP343-1 Lean (24 Bytes). El rango para los datos de envío se indica en el parámetro "SEND" del FC11 "PNIO_SEND". Esta zona de datos tiene que ser tan grande como la zona de datos de las salidas configuradas (24 Bytes).
En el parámetro de entrada "LEN" del FC12 "PNIO_RECV", se indica la longitud de toda la zona de direcciones de las entradas configuradas para la CP343-1 Lean (20 Bytes). El rango para los datos de recepción se indica en el parámetro "RECV" del FC12 "PNIO_RECV". Esta zona de datos tiene que ser tan grande como la zona de datos de las entradas configuradas (20 Bytes).
El buffer de envío y recepción (por ejemplo DBs) que contiene los datos a enviar o recibir deben ser tan grandes, como mínimo, como la zona de datos a transferir. En este ejemplo, el DB que contiene los datos de envío tiene que tener un mínimo de 24 Bytes y el DB donde se guardan los datos de recepción tiene que tener un mínimo de 20 Bytes.
Figura 07: Diálogo de propiedades de la CP343-1 -> Registro "Direcciones"
Los parámetros de salida "DONE", "NDR", "ERROR" y "STATUS" de las funciones de comunicación FC11 "PNIO_SEND" y FC12 "PNIO_RECV"son necesarios para evaluar el servicio.
El parámetro de salida "DONE" del FC11 "PNIO_SEND" se activa cuando el servicio de envío se pudo terminar correctamente.
El parámetro de salida "NDR" del FC12 "PNIO_RECV" se activa cuando el servicio de recepción se pudo terminar correctamente, es decir, se aceptaron los datos.
Si el módulo FC11 "PNIO_SEND" o el módulo FC12 "PNIO_RECV" se terminan con error, se guarda la palabra de estado del mismo para el análisis de dicho error.
Figura 08: Archivo del STATUS FC11 y FC12
Descripción del programa de usuario del controlador PROFINET IO:
En este ejemplo, se utiliza una CPU del S7-300 con interfase Industrial Ethernet integrada como controlador PROFINET IO. El byte de marcas 0 (MB0) se define como marca de ciclo.
El programa de STEP-7 consta de los módulos OB1, FB100 y DB20.
En el programa de usuario no es necesario llamar a los módulos de comunicación. Con ayuda de las instrucciones de carga y transferencia se accede a la periferia, es decir, se leen las entradas y se escriben valores en las salidas. Los valores de las entradas leídas se guardan en el módulo de datos (DB20).
El proyecto de STEP7 como Download:
El siguiente proyecto de STEP 7 contienen un ejemplo de programación para la llamada del F11 y del FC12 con la evaluación de estado. Se ha creado con el STEP 7 V5.4 + SP3.
FC11_und_FC12_DEV.zip ( 296 KB )
Descomprima el archivo "FC11_und_FC12_DEV.zip" en el administrador SIMATIC, con ayuda de la opción del menú "Archivo -> Descomprimir". Con ello, se descomprime el proyecto de STEP 7 con todos sus subdirectorios. Ahora ya se puede abrir y editar el proyecto de STEP 7 con el administrador SIMATIC.