Gerenciamento de Alarmes

obs

Compatível a partir da versão 1.3.04.

Modelo de Dados

../_images/model_alarms.jpg

Fig.Modelo de Dados

AlarmObject = Alarms.Get(pathname)

Descrição:

  • Recupera um objeto Alarm dado seu caminho completo na árvore do projeto.

Parâmetros de entrada:

  • pathname - Caminho completo do Alarme na árvore de projeto.

Parâmetros de saída:

  • Tabela Lua que representa um Alarme.

Exemplo de utilização:

-- função de depuração de atributos do Alarme
function printAlarm(a)
    print("isEnabled " .. tostring(a.isEnabled))
    print("isEvent " .. tostring(a.isEvent))
    print("needAck " .. tostring(a.needAck))
    print("playSound " .. tostring(a.playSound))
    print("alarmMsg " .. tostring(a.alarmMsg))
end

-- função de depuração de atributos do Alarme
function printTag(tag)
  print("Id " .. tag.Id)
  print("Name " .. tag.Name)
  print("Value " .. tostring(tag.Value))
  print("Quality " .. tag.Quality)
  print("Type " .. tag.Type)
  print("DateTime " .. tostring(tag.DateTime))
end

local alarm = Alarms.Get('Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001.Alarms.AlarmNumeric_001')

printAlarm(alarm)
-- imprime informações do Tag associado a alarme
printTag(alarm.Tag)

Instância de Alarme

err = AlarmObject:Ack()

Descrição:

  • Envia comando de reconhecimento de alarme.

Parâmetros de saída:

  • Retorna código associado à execução da função, onde 0 (zero) indica execução com sucesso da função, caso contrário indica um código de falha na execução da função.

Exemplo de utilização:

local alarm =
Alarms.Get('Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001.
Alarms.AlarmNumeric_001')
print('Código de retorno do reconhecimento: ' ..
alarm:Ack())

err = AlarmObject:Reset()

Descrição:

  • Envia comando de reset de alarme.

Parâmetros de saída:

  • Retorna código associado à execução da função, onde 0 (zero) indica execução com sucesso da função, caso contrário indica um código de falha na execução da função.

Exemplo de utilização:

local alarm = Alarms.Get('Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001.Alarms.AlarmNumeric_001')
print('Código de retorno do reset: ' .. alarm:Reset())

str = AlarmObject:GetState()

Descrição:

  • Retorna string com a informação do estado atual do alarme.

Parâmetros de saída:

  • string, que pode ser:

  • “Normal”

  • “Ack”

  • “Unack”

  • “RetUnack”

  • “LatchAck”

  • “LatchUnack”

  • “SuppressedByDesign”

  • “Shelved”

  • “OutOfService”

Exemplo de utilização:

local alarm = Alarms.Get('Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001.Alarms.AlarmNumeric_001')
print('Estado atual do alarme: ' .. alarm:GetState())

err = AlarmObject:RemoveFromService(reason)

Descrição:

  • Remove o alarme de serviço (opção para evitar sinalização de alarme quando, por exemplo, o processo associado ao alarme está em manutenção.

Parâmetros de entrada:

  • reason - string contendo informações sobre o motivo (fica armazenada no histórico de alarme)

Parâmetros de saída:

  • Retorna código associado à execução da função, onde 0 (zero) indica execução com sucesso da função, caso contrário indica um código de falha na execução da função.

Exemplo de utilização:

local alarm = Alarms.Get('Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001.Alarms.AlarmNumeric_001')
print('Código de retorno do RemoveFromService: ' .. alarm:RemoveFromService("Equipamento em Manutenção"))

err = AlarmObject:ReturnToService()

Descrição:

  • Retorna o alarme para serviço (opção para habilitar sinalização de alarme após chamada de RemoveFromService()).

Parâmetros de saída:

  • Retorna código associado à execução da função, onde 0 (zero) indica execução com sucesso da função, caso contrário indica um código de falha na execução da função.

Exemplo de utilização:

local alarm = Alarms.Get('Kernel.Tags.Local.TagLocalGroup_001.TagLocal_001.Alarms.AlarmNumeric_001')
print('Código de retorno do ReturnToService: ' .. alarm:ReturnToService())