<< 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.