DOCA0272ES-00

Datos acíclicos

Para los bloques funcionales que utilizan las comunicación acíclica con TeSys™ island, se requiere para el bloque funcional una referencia a un módulo de hardware que contenga los datos acíclicos. Normalmente, esta referencia se suministra en el bloque funcional a modo de entrada del tipo “HW_IO”, denominada “i_hwSubmHWID”. Cuando se crea un dispositivo en el Siemens TIA Portal (por ejemplo, a través de la importación de un archivo AML), se crean automáticamente constantes de sistema con los valores para la ID de hardware para todos los dispositivos, módulos y submódulos. Las constantes se pueden utilizar directamente para parametrizar el acceso a los datos acíclicos de un Avatar o un dispositivo. Los nombres de estas constantes normalmente se crean utilizando el siguiente patrón: <nombre del dispositivo>~<nombre del módulo>~<nombre del submódulo> (por ejemplo: “mytesysisland~AvPump02~Acyclic”).

Para el acceso a los datos de gestión de activos de los dispositivos de TeSys™ island, también se representan como módulos en TeSys™ island. Los módulos de dispositivos están ubicados en las ranuras que empiezan por el número de ranura 101, tanto para PROFINET IO como para PROFIBUS DP.

NOTA:
  • Para PROFIBUS DP, no existen submódulos dentro de un módulo. En consecuencia, todos los datos cíclicos y acíclicos pertenecen al módulo en sí, y no a los submódulos individuales. Esto significa que para los bloques funcionales de PROFIBUS DP con comunicación tanto cíclica como acíclica, la ID de hardware puede derivar directamente de la dirección de inicio de entrada, y no es necesario parametrizar ninguna otra ID de hardware. Sin embargo, para los bloques funcionales que solo utilizan comunicación acíclica (principalmente los bloques funcionales de gestión de activos de dispositivo), es necesario suministrar la ID de hardware del módulo en la interfaz de bloques funcionales (variable de interfaz “i_hwModuleHWID”).

  • Los bloques funcionales no pueden detectar si existe una coincidencia entre un módulo al que haga referencia la ID de hardware suministrada en la interfaz de bloques funcionales y el tipo de Avatar o dispositivo para el que está concebido el bloque funcional. En consecuencia, es responsabilidad suya garantizar que se utilizan las ID de hardware correctas con los bloques funcionales adecuados. No hacerlo podría dar lugar a un comportamiento inesperado de TeSys™ island.

La lectura o escritura de los datos acíclicos debe activarse utilizando un flanco ascendente en la entrada de bloque funcional “i_xExecute”. Sin embargo, la lectura o escritura acíclica solo se inicia si el bloque funcional está habilitado (“i_xEnable”), no hay errores detectados y la variable de entrada “i_xAcyclicBusy” es “False”. La variable “i_xAcyclicBusy” puede utilizarse para enclavar varias instancias de bloques funcionales con comunicación acíclica (tanto desde la biblioteca de TeSys™ island para el TIA Portal como desde cualquier otra parte del programa PLC con las funciones RDREC o WRREC) para evitar errores detectados debido a los recursos limitados para la comunicación acíclica de los PLC de Siemens. Cada bloque funcional con comunicación acíclica también ofrece una salida “q_xAcyclicBusy” que se establece en “True” mientras se está ejecutando una solicitud de lectura o escritura por parte del bloque funcional y puede utilizarse para el enclavamiento con otros bloques funcionales.

NOTA: Es responsabilidad suya asegurarse de que estén disponibles los recursos suficientes para la comunicación acíclica al iniciar una solicitud acíclica con uno de los bloques funcionales de la biblioteca. Para obtener detalles sobre las limitaciones de los distintos tipos de PLC, consulte la documentación de terceros de Siemens.

Si se detecta un error durante la comunicación acíclica, el bloque funcional lo indica a través de un flanco ascendente en la salida “q_xError” combinado con el código de error detectado correspondiente en “q_dwErrorID” procedente del bloque de datos ConstTeSysIsland. Las salidas basadas en resultados de comunicación se restablecen en sus valores predeterminados (la misma reacción que en todos los demás errores detectados; consulte también la sección Datos cíclicos; para obtener información sobre los valores procedentes de ConstTeSysIsland, consulte la sección Bloque de datos ConstTeSysIsland). Además de la ID del error detectado, en determinados casos el bloque funcional también proporciona un código de estado para la comunicación acíclica en la variable “q_dwAcyclicStatus”. En la siguiente tabla se proporciona una descripción general de los códigos de estado acíclico utilizados.

Códigos de estado acíclico

Código de estado acíclico

Descripción

Cdw_StsNoMsg

No hay disponibles datos de estado (consulte también la sección Bloque de datos ConstTeSysIsland)

Los demás

Código de estado/error específico del TIA Portal para la función del sistema utilizada

  • RDREC/WRREC si “q_dwErrorID” es uno de los siguientes valores procedentes de ConstTeSysIsland:

    • Cdw_ErrReadAcycData1

    • Cdw_ErrReadAcycData2

    • Cdw_ErrWriteAcycData

  • LOG2GEO (si “q_dwErrorID” es igual a Cdw_ErrInvalidHwid procedente de ConstTeSysIsland)

Para obtener más información sobre los códigos de errores detectados específicos de TIA, consulte el Sistema de información del Siemens TIA Portal y la sección Documentación de terceros.

Si el bloque funcional finaliza la comunicación acíclica correctamente, “q_xAcyclicBusy” regresa a False, “q_dwErrorID” muestra el código de estado correspondiente (consulte la sección Bloque de datos ConstTeSysIsland) y los datos leídos desde la isla acíclicamente se copian en las variables de salida. Los datos siguen estando presentes en las salidas hasta que se completa una nueva solicitud acíclica, el bloque funcional se deshabilita o se detecta un error y los datos de las salidas se sobreescriben con valores predeterminados.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

¿Le ha resultado útil?