Habilitar el registro de aplicaciones
El registro de aplicaciones tiene que estar activado en el proyecto para poder utilizarlo. Para ello, hay que invocar una vez el método RegisterCommunicationService de la interfaz global GVL.G_ifApplicationlogger al inicio del programa.
Los mensajes de registro pueden leerse mediante EcoStruxure Machine Expert añadiendo el objeto Registro de aplicaciones al árbol Dispositivos (vista Navegadores clásicos) o al árbol Aplicaciones (vista Navegadores).
El registro de aplicaciones funciona de manera ligeramente distinta de otros registros. No es posible asignar mensajes de registro directamente al registro de aplicaciones.
En su lugar, el registro de aplicaciones recopila los mensajes de registro asignados a los puntos de registro distribuidos por todo el proyecto. Los mensajes, por lo tanto, pueden simplificarse, ya que el contexto en el que se asignan es más claro.
Si el proyecto contiene, por ejemplo, dos POU idénticas, deberá proporcionar información sobre qué instancia del módulo ha enviado el mensaje de registro para saber qué ha ocurrido con mayor exactitud. Con el registro de aplicaciones, se asigna un punto de registro a cada POU. Al hacerlo, queda claro qué parte del programa queda afectada si envía un mensaje como, por ejemplo, "El producto no está disponible".
Un punto de registro es una instancia del bloque de funciones FB_LoggerPoint. Para enviar un mensaje de registro a través de un punto de registro, deberá registrar primero el punto de registro en el registro de aplicaciones. Para ello, invoque una vez el método RegisterLoggerPoint del FB_LoggerPoint. El método necesita la siguiente información como entrada:
1. i_ifParent: Esta entrada especifica el objeto de registro en el que debe registrarse el punto de registro.
El primer punto de registro debe registrarse debajo del registro de aplicaciones representado por la interfaz global GVL.G_ifApplicationLogger. Los siguientes puntos de registro pueden registrarse debajo del registro de aplicaciones o bien debajo de otros puntos de registro para confeccionar así un árbol de puntos de registro.
Consulte "Crear árboles de puntos de registro".
2. i_sName: Esta entrada especifica el nombre del punto de registro.
Cada mensaje de registro que se envía a través de este punto de registro está conectado con dicho punto de registro. El punto de registro tiene que representar un componente de la máquina o del proyecto o bien una funcionalidad especial. Para evitar confusiones, el nombre de un punto de registro tiene que ser único en el proyecto.
3. i_sType: Esta entrada especifica el tipo de componente de la máquina (por ejemplo, AxisModule, FillingModule) que representa el punto de registro. Esta información debe definirse en esta entrada, ya que el nombre del punto de registro no siempre incluye esta información.
Los puntos de registro que forman parte de las bibliotecas de Schneider Electric definen el nombre del tipo de bloque de funciones que representan.
4. i_sSource: Esta entrada especifica de dónde proviene el componente del programa. Por ejemplo, qué biblioteca contiene el bloque de funciones que proporciona los mensajes de registro. Esta información puede utilizarse para identificar información no exclusiva como, por ejemplo, la enumeración ET_DiagExt de una biblioteca.
Los puntos de registro que forman parte de las bibliotecas de Schneider Electric definen el espacio de nombre de la biblioteca a la cual pertenecen.
En el siguiente ejemplo, se registra un punto de registro para la MainMachine del proyecto de demostración de plantilla:
fbLoggerPointMainMachine.RegisterLoggerPoint( i_ifParent := APL.G_ifApplicationLogger,
i_sName := 'Machine name',
i_sType := 'MainMachine',
i_sSource := 'Project',
q_etDiag => ,
q_etDiagExt => );
Crear árboles de puntos de registro
A medida que aumenta el tamaño del proyecto, su estructura interna aumenta también en complejidad. Para poder ilustrar la estructura del proyecto dentro del registro, el registro de aplicaciones ofrece la posibilidad de registrar uno o varios puntos de registro debajo de otro punto de registro. De esta manera, se puede confeccionar un árbol de puntos de registro que represente la estructura del proyecto.
Un punto de registro solo puede registrarse debajo de un punto de registro que ya esté registrado. Para registrar el nuevo punto de registro debajo de otro punto de registro, es necesario invocar el método RegisterLoggerPoint. Al invocar este método en la entrada i_ifParent, deberá indicar el punto de registro ya registrado bajo el cual se registrará el punto de registro.
En el siguiente ejemplo se registra un punto de registro para el módulo Alpha del proyecto de demostración de plantilla situado debajo del punto de registro ya registrado MainMachine.
fbLoggerPointAlpha.RegisterLoggerPoint( i_ifParent := fbLoggerPointMainMachine,
i_sName := 'Machine name',
i_sType := 'MainMachine',
i_sSource := 'Project',
q_etDiag => ,
q_etDiagExt => );
Los puntos de registro registrados de un proyecto deben representar la estructura del proyecto.
Registrar puntos de registro ubicados en bloques de funciones de bibliotecas de Schneider Electric
Si un bloque de funciones debe admitir mensajes de registro, creará una instancia de FB_LoggerPoint a través de la cual enviará los mensajes de registro. Para poder registrar la instancia del punto de registro, el bloque de funciones es compatible con el método RegisterLoggerPoint. Este método se asemeja al método RegisterLoggerPoint del FB_LoggerPoint, aunque no admite las entradas i_sType ni i_sSource.
Al utilizar un bloque de funciones de una biblioteca de Schneider Electric, las entradas no disponibles i_sType y i_sSource se establecerán en valores fijos según el tipo del bloque de funciones.