Para corregir el error Error_FC = B#16#0B y los fallos de acceso a E/S en la CPU S7-300 durante la comunicación con un módulo RFID SIMATIC RF170C conectado a una cabecera ET 200pro (IM 154-4 PN) mediante un procesador de comunicaciones CP 343-1, configure el bloque de función FB45 (NOP_RFID) para que intercambie datos con la periferia a través de las funciones de comunicación FC11 (PNIO_SEND) y FC12 (PNIO_RECV). La falla ocurre porque la CPU no puede acceder directamente a las direcciones de E/S del módulo RFID a través del bus K cuando PROFINET IO está gestionado por un CP 343-1 en lugar de un puerto PN integrado.
Tabla de contenido
- Causa técnica: acceso a periferia mediante CP 343-1 frente a puertos PN integrados
- Requisitos previos
- Pasos para adaptar la llamada al FB45 con CP 343-1
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes para ingenieros
- Artículos relacionados
- Etiquetas relacionadas
Causa técnica: acceso a periferia mediante CP 343-1 frente a puertos PN integrados
Cuando un módulo de comunicación RFID como el RF170C (6GT2002-0HD00) montado sobre una cabecera ET 200pro (IM 154-4 PN: 6ES7 154-4AB10-0AB0) se conecta al puerto PROFINET integrado de una CPU S7-300, la memoria del controlador asigna las direcciones de entrada y salida directamente a la imagen de proceso o al acceso directo a periferia (PIW/PQW). En esta topología, el bloque de función FB45 lee y escribe los datos del lector RFID mediante instrucciones de acceso a E/S nativas de la CPU.
Sin embargo, cuando la red PROFINET IO se gestiona mediante un procesador de comunicaciones dedicado como el CP 343-1 (6GK7 343-1EX30-0XE0), los datos de la periferia descentralizada no residen en el mapa de memoria local de la CPU. El CP 343-1 maneja el intercambio PROFINET de forma independiente a través del bus de fondo (bus K).
Si el bloque FB45 se deja configurado en su modo por defecto (acceso a E/S directo por CPU):
- El programa intenta acceder a direcciones de periferia no asignadas directamente en la CPU, desencadenando un error de acceso a E/S en el búfer de diagnóstico (I/O access error).
- El bloque
FB45interrumpe la ejecución de los comandos de lectura/escritura del transpondedor RFID y devuelve el código de estadoError_FC = B#16#0B, el cual indica que la comunicación con la interfaz de hardware falló o el acceso a la dirección lógica fue rechazado.
Para resolver este problema en sistemas operados mediante CP 343-1, el bloque FB45 debe parametrizarse para derivar el transporte de datos a los bloques de biblioteca FC11 (PNIO_SEND) y FC12 (PNIO_RECV), sincronizando la memoria de la CPU con el búfer del CP 343-1 en cada ciclo.
Requisitos previos
- Proyecto de ingeniería cargado en STEP 7 V5.x o TIA Portal.
- CPU SIMATIC S7-300 sin puerto PROFINET integrado.
- Procesador de comunicaciones CP 343-1 (referencia
6GK7 343-1EX30-0XE0). - Estación de E/S descentralizada ET 200pro con interfaz IM 154-4 PN (referencia
6ES7 154-4AB10-0AB0) y módulo de comunicación RFID RF170C (referencia6GT2002-0HD00). - Biblioteca de bloques de comunicación RFID SIMATIC (bloque
FB45y bloques auxiliares). - Bloques de comunicación
FC11(PNIO_SEND) yFC12(PNIO_RECV) de la biblioteca SIMATIC NET PA CP.
Pasos para adaptar la llamada al FB45 con CP 343-1
Se utiliza mejor cuando: Se requiere la puesta en marcha de un sistema de identificación RFID RF170C sobre PROFINET utilizando una CPU S7-300 conectada a través de un módulo de comunicación CP 343-1.
Procedimiento
- Abra la configuración de hardware (HW Config) en el proyecto de STEP 7 o TIA Portal.
-
Anote los siguientes parámetros de la arquitectura:
- La dirección lógica de inicio de entrada/salida asignada al módulo RF170C (por ejemplo,
256). -
La dirección base de E/S del módulo CP 343-1 (parámetro
LADDRen las propiedades del CP).
3. Abra el bloque de código (OB1, FC o FB) donde se realiza la llamada al bloque de funciónFB45.
4. Importe en el programa de usuario las funciones de sistemaFC11(PNIO_SEND) yFC12(PNIO_RECV) desde la biblioteca de SIMATIC NET.
5. Inserte la llamada aFC11yFC12en la rutina cíclica antes y después de la llamada alFB45para garantizar la actualización continua del búfer de datos entre la CPU y el CP 343-1.
6. En el bloque de datos de instancia asignado alFB45, configure las variables del parámetro de control para indicar que la comunicación se realiza a través de un CP de Ethernet: -
Asigne el valor correspondiente a la dirección de hardware del CP 343-1 al parámetro
CPLADDR. - Modifique la marca o parámetro de modo de comunicación del
FB45para activar la transferencia por funciones PNIO en lugar de acceso directo a periferia S7.
7. Verifique que la dirección del canal del RF170C en los parámetros delFB45coincida exactamente con la dirección del primer byte del módulo en HW Config.
8. Compile los bloques de programa modificados y descárguelos a la CPU S7-300 junto con la configuración de hardware actualizada.
- La dirección lógica de inicio de entrada/salida asignada al módulo RF170C (por ejemplo,
Plaintext
Estructura de ejecución cíclica para comunicación mediante CP 343-1:
┌────────────────────────────────────────────────────────┐
│ 1. Llamada a FC11 (PNIO_SEND) │
│ Transfiere datos de mando desde la CPU al CP 343-1 │
└───────────────────────────┬────────────────────────────┘
│
┌───────────────────────────▼────────────────────────────┐
│ 2. Llamada a FB45 (Gestión de comandos RFID) │
│ Procesa la lógica de lectura/escritura RF170C │
└───────────────────────────┬────────────────────────────┘
│
┌───────────────────────────▼────────────────────────────┐
│ 3. Llamada a FC12 (PNIO_RECV) │
│ Recibe datos de estado y del Tag desde el CP 343-1 │
└────────────────────────────────────────────────────────┘
Resultado esperado: El FB45 deja de generar el error B#16#0B y la CPU S7-300 elimina las alarmas de fallo de acceso a la periferia en el búfer de diagnóstico.
Verificación: Monitoree la salida ERROR y la variable de estado STATUS del FB45. El parámetro Error_FC debe permanecer en B#16#00 durante la presencia de un transpondedor RFID frente al lector conectado al RF170C.
Limitación: El rendimiento del tiempo de ciclo en la lectura de tags mediante un CP 343-1 es ligeramente más lento que utilizando una CPU con puerto PN integrado, debido al tiempo de transferencia requerido por el bus K entre la CPU y el procesador de comunicaciones.
Precaución: Si la llamada a FC11 o FC12 no se ejecuta en cada ciclo del PLC, los comandos enviados al FB45 no llegarán al módulo RF170C y se generarán tiempos de espera (timeout) en el bloque de control.
Verificación
El procedimiento de corrección y puesta en marcha se considera exitoso cuando:
- El búfer de diagnóstico de la CPU S7-300 no registra ningún evento de error por acceso a periferia (I/O access error).
- El bloque de función
FB45procesa las tareas de lectura y escritura sobre el módulo RF170C sin reportar el códigoError_FC = B#16#0B. - Los LEDs de estado en el módulo RF170C y la cabecera IM 154-4 PN indican comunicación PROFINET activa sin fallas de bus (LED
BFapagado ySFapagado). - Los datos contenidos en el transpondedor RFID se leen correctamente y se depositan en el bloque de datos (
DB) de destino asignado en la llamada alFB45.
Limitaciones y precauciones operativas
- Límites de memoria del bus K: El volumen de datos procesado mediante
PNIO_SENDyPNIO_RECVentre la CPU y el CP 343-1 debe ajustarse al tamaño de búfer configurado en el canal PROFINET IO del proyecto. - Incompatibilidad de direccionamiento directo: Nunca intente utilizar instrucciones de acceso directo como
L PIWoT PQWen el programa de usuario hacia las direcciones asignadas a la ET 200pro cuando esté conectada a un CP 343-1. Todo acceso debe ser gestionado mediante los bloques de interfaz de SIMATIC NET.
Preguntas frecuentes para ingenieros
¿Qué significa exactamente el código Error_FC = B#16#0B en el FB45?
Indica un error de comunicación a nivel de la interfaz de hardware. Ocurre cuando el FB45 intenta comunicarse con la subestación RFID a través de la imagen de proceso o del bus directo, pero el hardware no responde en la dirección configurada debido a que los datos están retenidos en el CP 343-1.
¿Se puede utilizar el FB45 si la CPU S7-300 no tiene puerto PROFINET integrado?
Sí, es completamente posible utilizar el FB45 con una CPU sin puerto PN integrado (por ejemplo, una CPU 315-2 DP), siempre que el intercambio de datos PROFINET IO gestionado por el CP 343-1 se enlace mediante las funciones FC11 (PNIO_SEND) y FC12 (PNIO_RECV).
¿Es necesario modificar la configuración de hardware del RF170C al cambiar de una CPU PN a un CP 343-1?
La configuración GSDML del módulo RF170C en la cabecera IM 154-4 PN permanece idéntica en cuanto a la asignación de bytes de entrada/salida. Sin embargo, en el programa del PLC se debe asegurar que la dirección lógica asignada al canal RFID esté referenciada hacia el módulo CP 343-1 dentro del parámetro CPLADDR del bloque de control.
¿Es posible reemplazar el FB45 por el bloque de función Ident de Siemens?
Sí. En versiones más recientes de las bibliotecas de Siemens, el bloque FB45 ha sido reemplazado por la biblioteca Ident Profile (bloques como FB1014 / Ident_Profile). Sin embargo, si se utiliza el FB45 en proyectos heredados de STEP 7 V5.x, la lógica de integración con PNIO_SEND y PNIO_RECV explicada en este artículo sigue siendo requerida para el funcionamiento con el CP 343-1.
Referencias técnicas
- Siemens Industry Online Support (SIOS): Manual de usuario del módulo de comunicación RFID SIMATIC RF170C.
- Siemens Industry Online Support (SIOS): Manual del bloque de función FB45 para sistemas de identificación SIMATIC.
Artículos relacionados
- Cómo parametrizar las funciones PNIO_SEND y PNIO_RECV en un CP343-1
- Integración de módulos RFID RF170C en TIA Portal mediante Ident Profile
- Diagnóstico de errores de acceso a periferia OB122 en controladores S7-300
Etiquetas relacionadas
Code: C183