Armazenando dados referentes aos comandos enviados através do Elipse Power.

Descrição:

Como posso inserir no banco de dados as informações relativas aos comandos enviados através do Elipse Power?

Solução:

Neste exemplo, serão inseridas no banco de dados quatro informações referentes a cada comando enviado:

  • Operador logado no sistema.
  • Unidade de comando (a partir daí, pode-se verificar o objeto correspondente ao comando).
  • Tipo de comando (Select/Operate/Cancel).
  • Estampa de tempo.

Para isto, siga este procedimento:

1. Crie três tags internos e configure-os como String. De acordo com a figura abaixo, foram criados os tags CommandType, CommandUnit e User:

2. Crie um histórico com a propriedade ScanTime (ou o campo Gravar um novo registro a cada nas configurações do histórico) configurada como 0. Neste histórico, crie três campos do tipo String, e associe-os à propriedade Value dos três tags internos criados no item anterior.Neste exemplo, foi criado um histórico chamado HistCommand, que contém os campos CommandUnit, CommandType e User, de acordo com a figura abaixo:

NOTA: ao configurar um campo como String, é preciso também configurar o tamanho deste campo.

3. Após criar o histórico e gerar a tabela no banco de dados, é preciso estabelecer quais comandos serão registrados neste DB. Neste exemplo, há somente um objeto disjuntor, portanto os dados referentes ao comando da posição deste objeto serão inseridos no banco de dados. Os objetos de comando do Elipse Power contem uma propriedade chamada EnablePowerConfigEvent, cuja função é habilitar/desabilitar a geração de eventos OnCommand do objeto ConfiguracaoPower (ver próximo item). Portanto, neste item, a propriedade EnablePowerConfigEvent dos comandos a serem registrados deve ser configurada como TRUE, como mostra a figura abaixo:

4. Finalmente, crie um script no evento OnCommand do objeto ConfiguracaoPower. Este evento será sempre disparado quando qualquer comando for executado (se a propriedade EnablePowerConfigEvent estiver configurada como TRUE). O evento retorna os parâmetros CommandUnit (objeto Unidade de Comando que está recebendo o comando), CommandAction (inteiro que indica o tipo de comando: 1-Operate, 2-Select, 3-Cancel) e ActorID (nome do usuário que enviou o comando).

O script será desenvolvido de forma a atribuir as informações necessárias relativas a cada comando aos tags internos criados nos itens anteriores, e após isto, inserir uma nova linha na tabela.

Como demonstrado na tabela acima, o evento OnCommand retorna três parâmetros que devem ser associados com o valor dos tags internos. Note que o parâmetro CommandUnit retorna um objeto, portanto deve-se utilizar uma propriedade deste objeto. Neste exemplo, o script é o seguinte:

Select case CommandAction
Case 1
Application.GetObject(“Dados.CommandType”).Value = “Operate”
Case 2
Application.GetObject(“Dados.CommandType”).Value = “Select”
Case 3
Application.GetObject(“Dados.CommandType”).Value = “Cancel”
End Select
Application.GetObject(“Dados.CommandUnit”).Value = CommandUnit.PathName
Application.GetObject(“Dados.User”).Value = ActorId

Após associar os parâmetros retornados pelo evento aos tags internos, insira um novo registro na tabela a partir do método WriteRecord do objeto histórico de acordo com a linha abaixo:

Application.GetObject(“Command”).WriteRecord()

Ao final, teremos o seguinte script:

Anexo a este artigo está a aplicação exemplo (usuário: Elipse / senha: Elipse).

Anexos:

App.zip

Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *