Reconhecimento de alarmes via scripts.

Como reconhecer um alarme específico dentro do E3Alarm via scripts?

A partir da versão 3.2, é possível reconhecer alarmes via scripts. Para isto, foram criados três novos métodos para o objeto E3Alarm:

AckSelected: reconhece o alarme que estiver selecionado.
AckCurrentFilter: reconhece todos os alarmes do filtro atual.
AckAll: reconhece todos os alarmes.


Um exemplo de script para reconhecimento de um alarme específico dentro do E3Alarm é este (executado no
evento DblClick do E3Alarm):

 

Sub E3Alarm1_DblClick()
 Set alarme = GetFocusedEvent() ' pega os dados do alarme selecionado no E3Alarm e salva no objeto alarme
 If TypeName(alarme)="IEventStatus" then ' teste o tipo do objeto alarme
     Application.GetObject(alarme.FullAlarmSourceName).Ack(Application.User) ' realiza o reconhecimento baseado nas informações do objeto alarme
 End if
End Sub


Obs.: Anexo a este artigo está uma aplicação exemplo desenvolvida com o E3 versão 3.2 Build 229.

 

Anexos:

AckAlarmsByScript.zip

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Thoughts on “Reconhecimento de alarmes via scripts.

  1. Nativamente não, porque o objeto hpAlarmIndicatorAnalog permite que você adicione somente uma fonte de alarme.
    Mas você poderia alterar a classe e ao invés de realizar o filtro pelo Source, criar uma área e inserir esses dois alarmes (temperatura e pressão), e então editar o CustomFilter da associação:

    “Area = ” & chr(34) & “AreaName” & chr(34)

    Para funcionar, os alarmes precisarão ter somente a severidade alta ativa, e sugiro que você faça uma cópia da classe (hpAlarmIndicatorAnalog) para não influenciar na nativa.
    Desta forma quando qualquer um dos dois alarmes entrar em nível alto, o elemento seria ativado em tela.

  2. Sub E3Alarm1_DblClick()
    AckSelected([User])
    End Sub

    Simples assim, reconhecimento de alarme com duplo click
    Basta colocar esse script no E3Alarm

Leave a Reply

Your email address will not be published.Required fields are marked *