DOCA0272ES-00

Datos cíclicos

Todos los bloques funcionales con acceso a datos cíclicos emplean dos variables de interfaz para parametrizar el acceso a los datos cíclicos:

  • i_hwStartAddress para datos de entrada cíclicos

  • iq_hwQWAddress para datos de salida cíclicos

La variable de interfaz "i_hwStartAddress" (tipo de datos "Variant") la utilizan los bloques funcionales para recuperar todos los datos de entrada cíclicos asociados al Avatar. Para que pueda hacerlo el bloque funcional, debe parametrizarse con la dirección de inicio del rango de entrada del Avatar (submódulo de entrada del Avatar para PROFINET IO; módulo de Avatar para PROFIBUS DP). El método habitual consiste en crear etiquetas PLC para una dirección al inicio del rango. El tamaño de datos de la etiqueta PLC no tiene consecuencias, siempre y cuando esté al inicio del rango (por ejemplo: BOOL “AvPump02_StartAddress” señalando a la dirección “%I4.0” para el Avatar Bomba en el ejemplo de abajo).

Para la dirección de los datos de salida, los bloques funcionales emplean la variable de entrada/salida “iq_hwQWAddress” (en algunos casos también “iq_hwQBAddress” porque hay un solo byte de datos de salida para el Avatar). Al contrario que con los datos de entrada, esta variable hace referencia a todos los datos de salida de la isla (en la mayoría de los casos un Word) y está conectada como una variable de entrada/salida al bloque funcional, ya que en algunos casos hay varios bloques funcionales que acceden a los datos de salida de un mismo Avatar en distintas áreas (por ejemplo, el bloque funcional de control de Avatares en combinación con el bloque funcional de diagnóstico de Avatares) y, en consecuencia, es necesario leer las necesidades de estado actuales antes de escribir un cambio en la salida. Normalmente el acceso al área de salida del Avatar también debe configurarse utilizando una etiqueta PLC para el área de salida completa (en el ejemplo de arriba, “AvConveyorOneDir03_OutAddress” de dirección de referencia tipo Word “%QW5”).

NOTA: Los bloques funcionales de la biblioteca de TeSys™ para el TIA Portal no pueden detectar ninguna configuración errónea de las áreas de entrada/salida de los Avatares. En consecuencia, el usuario es responsable de garantizar que se hayan configurado las áreas de entrada y salida correctas y que se utilicen en combinación con los tipos de bloques funcionales adecuados. No hacerlo podría dar lugar a un comportamiento inesperado de TeSys™ island.

Tan pronto como la variable de entrada “i_xEnable” se establezca en “True” en el programa, los bloques funcionales con comunicación cíclica ejecutarán y actualizarán los datos cíclicos. Esto significa que cualquier variable de entrada de la interfaz de bloques funcionales que controle el Avatar a través de comunicación cíclica (por ejemplo, “i_xRunFwd” en el ejemplo de arriba) se escribirá en el área de datos de salida del Avatar. Al mismo tiempo, cualquier información de estado relevante desde el área de datos de entrada del Avatar será leída por el bloque funcional y copiada en la interfaz de salida (por ejemplo, “q_xRunFwd”).

El estado de la salida “q_xActive” de los bloques funcionales es el equivalente de “i_xEnable”. Si se habilita la ejecución del bloque funcional y no se detecta ningún error, “q_xActive” es “True”. Si se produce un error detectado durante la ejecución del bloque funcional, este se señaliza a través de un flanco ascendente en “q_xError”. La recuperación de datos de entrada cíclicos y la ejecución del bloque funcional se detienen. Además, “q_dwErrorID” proporciona detalles sobre el tipo de error detectado utilizando los valores de código de error procedentes del bloque de datos ConstTeSysIsland (consulte la sección Bloque de datos ConstTeSysIsland). Al mismo tiempo, todas las salidas del bloque funcional que son resultado de comunicaciones cíclicas o acíclicas con TeSys island se restablecen en sus respectivos valores predeterminados. Esto implica que:

  • Todos los resultados de tipo numérico (INT, UINT, …) o campo de bits (WORD, DWORD, …) se establecen en 0.

    .
  • Todos los resultados de tipo cadena se establecen en una cadena vacía.

  • Todos los resultados de tipo booleano se establecen en FALSE.

  • Todos los resultados de tipo fecha y hora (DTL en esta biblioteca) se establecen en el valor mínimo correspondiente al tipo de datos (DTL#1970-01-01-00:00:00.0).

  • Todos los resultados agrupados en una estructura o un tipo definido por el usuario (UDT) se restablecen en los valores predeterminados especificados en la definición del tipo. Estos siguen, por lo general, las reglas anteriores.

NOTA: Los cambios en las definiciones de los UDT contenidas en la biblioteca también dan lugar a cambios en los valores predeterminados utilizados por los bloques funcionales cuando se produce un error, y por tanto deben evitarse.
ADVERTENCIA
Funcionamiento imprevisto del equipo
  • Para evitar interrupciones en el funcionamiento de la carga representada por el Avatar cuando se produce un error, los datos de salida cíclicos enviados a la isla (por ejemplo los comandos Marcha) se dejan sin modificar. Si fuera necesario parar la carga cuando se produce un error, usted es responsable de eliminar cualquier bit de entrada activo del bloque funcional que deba eliminarse como consecuencia de la situación.
Si no se siguen estas instrucciones, pueden producirse lesiones graves, muerte o daños en el equipo.

El bloque funcional solo deja de estar en el estado de error detectado cuando se detecta un nuevo flanco ascendente en “i_xEnable” y si se ha solucionado el estado que dio lugar al estado de error detectado del bloque funcional.

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

¿Le ha resultado útil?