Cómo programar los módulos de comunicación del dispositivo PROFINET IO FC11 y FC12
FC11 "PNIO_SEND"
FC12 "PNIO_RECV"
Características de los bloques de comunicación FC11 "PNIO_SEND" y FC12 "PNIO_RECV":
FC11 y FC12 son bloques de comunicación síncronos.
Estos módulos están incluidos en la biblioteca "SIMATIC_NET_CP" para el controlador S7-300.
Estos bloques deben llamarse en el OB1
La llamada a la función finaliza con "DONE", "NDR" o "ERROR".
Características del bloque de funciones de comunicación FC11 "PNIO_SEND":
Como controlador PROFINET IO
Este bloque de funciones transmite la salida especificada al dispositivo PROFINET IO a través de el rango de datos de proceso (salidas) del procesador de comunicaciones y proporciona el mismo estado al dispositivo PROFINET IO. El bloque de función transmite los datos de proceso (salidas) dentro del rango de salida especificado al dispositivo PROFINET IO a través del procesador de comunicaciones y proporciona el mismo estado a las salidas del dispositivo PROFINET IO.
Como dispositivo PROFINET IO
El bloque de función lee la imagen de proceso del área de entrada de la CPU del dispositivo PROFINET IO y la transfiere al controlador PROFINET IO (dirección de entrada configurada); al mismo tiempo El controlador PROFINET IO proporciona el mismo estado.
Características del bloque de función de comunicación FC12 "PNIO_RECV":
Como controlador PROFINET IO
Este bloque de función acepta los datos de proceso (entrada) de PROFINET Dispositivo IO y proporciona el estado del área de entrada especificada del dispositivo PROFINET IO. Este bloque de funciones acepta los datos de proceso (entradas) del dispositivo PROFINET IO y proporciona el estado del área de entrada especificada del dispositivo PROFINET IO.
Como dispositivo PROFINET IO
Este bloque de funciones acepta los datos enviados por el controlador PROFINET IO (dirección de salida configurada) y escribe el estado de la transmisión de datos del controlador PROFINET IO en PROFINET IO El área de datos de configuración del dispositivo.
Instrucciones de configuración:
El proyecto STEP 7 consta de las siguientes estaciones S7-300 configuradas como controladores PROFINET IO:
CPU 319-3PN/DP p >
El proyecto STEP 7 incluye las siguientes estaciones S7-300 configuradas como dispositivos PROFINET IO:
CPU 315-2DP y CP343-3DP. 315-2DP y CP343-1 Lean (6GK7 343-1CX10-0XE0)
ET 200S
En el dispositivo PROFINET IO CP343-1 Lean están configurados los siguientes módulos de entradas/salidas:
p>Módulo de entrada de 16 bytes con direcciones 0-15
Módulo de entrada de 8 bytes con direcciones 16-23
16 bytes con direcciones 0-15 Módulo de salida
Módulo de salida de 4 bytes con dirección 16-19
Esto indica que el área de dirección de entrada y el área de dirección de salida son de 24 bytes (0-23) y 20 bytes respectivamente ( 0-19). Las primeras direcciones de entrada y salida pueden no ser "0".
El siguiente módulo de entradas/salidas se configura en el ET 200S:
Módulo de salidas de 2 bits con dirección 20.0-20.1
El área de direcciones final es:
p>
Entrada: 0-23 = 24 bytes
Salida: 0-20 = 21 bytes
Descripción del programa de usuario:
En este ejemplo, las direcciones de salida del CP34S son 24 bytes (0-23) y 20 bytes (0-19). En este ejemplo se utiliza un CP343-1 Lean para conectar una estación S7-300 como dispositivo PROFINET IO a un sistema PROFINET IO. Los programas STEP 7 incluyen OB1, FB100, DB30, DB31, DB12, FC11 y FC12.
OB1
El OB1 se llama cíclicamente. En este OB se llama el FB100 (DB de instancia: DB100).
FB100
El FB100 se llama en el OB1. En este FB se llaman los FC11 "PNIO_SEND" y FC12 "PNIO_RECV".
Introduzca el parámetro MODE=0, ya que el procesador de comunicaciones sólo se utiliza como dispositivo PROFINET IO. Si el procesador de comunicaciones se utiliza como controlador PROFINET IO y como dispositivo PROFINET IO, introduzca el parámetro MODE=1.
El parámetro de función de comunicación de entrada CPLADDR es la dirección del módulo del dispositivo PROFINET IO que especifique. Esta dirección se obtiene de la configuración hardware del módulo de comunicación Industrial Ethernet -> pestaña "Dirección" (ver Figura 06). En este ejemplo, la dirección del módulo Lean CP343-1 es 256dec = 100hex.
El parámetro de entrada LEN del FC11 "PNIO_SEND" es la longitud (24 bytes) del área de dirección de entrada Lean CP343-1 que desea configurar. La longitud de estos datos se especifica como parámetro LEN de los datos de envío FC11 "PNIO_SEND". Estos datos deben coincidir con la entrada configurada (24 bytes).
El parámetro de entrada LEN del FC12 "PNIO_RECV" es la longitud (20 bytes) del área de dirección de salida Lean CP343-1 que configuró. La longitud de estos datos se especifica como parámetro LEN de los datos de envío del FC12 "PNIO_RECV". Estos datos deben coincidir con la salida configurada (20 bytes).
El búfer de envío y recepción (como un bloque de datos) contiene los datos que se enviarán y recibirán, y su longitud debe ser al menos la misma que los datos de envío y recepción definidos. En este ejemplo, la base de datos debe contener datos de transmisión con una longitud mayor o igual a 24 bytes, y la base de datos debe contener datos de recepción con una longitud mayor o igual a 20 bytes.
Los parámetros de salida "DONE" del FC11 "PNIO_SEND" y FC12 "PNIO_RECV", los parámetros de salida "NDR", "ERROR" y "STATUS" del FC11 "PNIO_SEND" y FC12 "PNIO_RECV" son de comunicación. bloques de funciones de marcadores de trabajo.
Si la tarea de envío se completa con éxito, se establecerá "DONE" del FC11 "PNIO_SEND".
Si la tarea de recepción se completa con éxito (por ejemplo, se reciben datos), se configurará "NDR" del FC12 "PNIO_RECV".
Si FC11 "PNIO_SEND" y FC12 "PNIO_RECV" terminan con un error, el error se puede analizar a través de la palabra de estado.
Descripción del programa de usuario para el controlador PROFINET IO:
En este ejemplo se utiliza una CPU S7-300 con interfaz Ethernet integrada como controlador PROFINET IO. El byte MB0 se define como el bit de ciclo de la CPU S7-300.
Los programas de STEP 7 incluyen OB1, FB100 y DB20.
No es necesario llamar el bloque de función de comunicación en el programa de usuario. Se puede acceder al área de entrada/salida mediante comandos de carga y transferencia, como leer valores de entrada y escribir valores en salidas. Los valores de entrada leídos se guardan en el bloque de datos (DB20).