xoLogger

<< Clique para Mostrar o Sumário >>

 

xoLogger

Este objeto concentra todas as notificações de eventos que ocorrem nos demais objetos da Biblioteca PlantModel, para fins de registro. Este objeto deve ser único e instanciado com o nome "LogSvc" em uma Pasta de Dados chamada "Logger", ou seja, "Logger.LogSvc". A única propriedade deste objeto é dicProps, um dicionário em que cada elemento é um array com um número variável de elementos, de acordo com o tipo de objeto, conforme a descrição a seguir.

Para um objeto do tipo xfCommandUnit, o array deve ter 8 (oito) elementos:

Array(0): "xfCommandUnit"

Array(1): Conteúdo da propriedade PathName

Array(2): Valor de retorno do método Application.E3GetActor

Array(3): Conteúdo da propriedade LastCommandResult

Array(4): Nome do computador

Array(5): Conteúdo da propriedade WriteValue

Array(6): Conteúdo da propriedade TimeStamp

Array(7): Conteúdo da propriedade UserComment

 

Para um objeto do tipo xfDiscreteInfo, o array deve ter 7 (sete) elementos:

Array(0): "xfDiscreteInfo"

Array(1): Conteúdo da propriedade PathName

Array(2): Conteúdo da propriedade MultiState

Array(3): Conteúdo da propriedade Value

Array(4): Conteúdo da propriedade ValueCaption

Array(5): Conteúdo da propriedade Caption

Array(6): Conteúdo da propriedade TimeStamp

 

Para um objeto do tipo xfInterlockUnit, o array deve ter 5 (cinco) elementos:

Array(0): "xfInterlockUnit"

Array(1): Conteúdo da propriedade PathName

Array(2): Conteúdo da propriedade Value

Array(3): Conteúdo da propriedade RTExpression

Array(4): Conteúdo da propriedade Timestamp

 

Para um objeto do tipo xfParameter, o array deve ter 8 (oito) elementos:

Array(0): "xfParameter"

Array(1): Conteúdo da propriedade PathName

Array(2): Valor de retorno do método Application.E3GetActor

Array(3): Resultado do comando (0: OK, 1: Falha, 2: Comando não autorizado ou 3: Intertravado)

Array(4): Nome do computador

Array(5): Conteúdo da propriedade TimeStamp

Array(6): Conteúdo da propriedade Value

Array(7): Conteúdo da propriedade NewValueRequest

 

Deve ser criado um script de tempo, como por exemplo de 10 em 10 segundos, que remove os eventos adicionados na propriedade dicProps, conforme o exemplo a seguir.

Set dic = dicProps
For i = 1 to dic.Count
  Entry = dic.Item(i)
  strEvent = ""
  For j = 0 To UBound(Entry) - 1
    strEvent = strEvent & ";" & Entry(j)
  Next
  Call Application.TrackEvent("PlantModel:", strEvent)
Next
Call dic.RemoveAll()
dicProps = dic

 

Neste exemplo foi utilizado o método TrackEvent do objeto Application para remover os eventos, mas também pode ser utilizado o método LogTrackingEvent do Servidor de Alarmes.

Esta página foi útil?