Varredura e correção em massa de alarmes


(Célia Aguiar) #1

Olá,

gostaria de saber se alguem já desenvolveu alguma bilbioteca que realize uma varredura de alarmes para realizar a correção da nomenclatura ou, no meu caso, converter alguns alarmes para eventos.

Desde já agradeço.


#2
Sub xoAlarmeToEvent_CustomConfig()
	Dim obj
	Dim se
	
	Set se = Parent.Parent
	
	For Each obj In se
		Sweep obj
	Next
End Sub

Sub Sweep( obj )
	Dim itm
	For Each itm In obj
		If TypeName( itm ) = "AlarmSource" Then
			''' Do stuffs '''
			itm.Event = True
		Else
			'!!! Recursividade !!!'
			Sweep itm
		End If
	Next
End Sub

image


(Gabriel Manara) #4

Boa tarde @Celia_Aguiar

Poderia utilizar o seguinte script:

Sub xcAtualizaAlarms_CustomConfig()

set substation = Application.ListFiles(“PowerSubstation”)

VarreApp substation

end sub

Sub VarreApp (objPai)

For each obj in objPai

If typename(obj)=“AlarmSource” then

If typename(obj.parent) = “PowerDiscreteMeasurement” Then

If obj.parent.name = “Comunicacao” Then

obj.event = True

End if

varreapp(obj)

end if

Else

VarreApp(obj)

End If

Next

End Sub

Basta inserir o script no evento CustomConfig de um XControl, inserir uma instancia deste XC em uma tela qualquer e executar o “Configure…” do mesmo.

Utilizei a string “Comunicacao” para encontrar as medidas discretas que contém o alarme em questão.

Obs.: Este script somente pode ser executado em tempo de desenvolvimento, tendo em vista a utilização do método ListFiles.