1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| Private Sub LogRoutine() '<-- Declarer en Thread
Dim theTimer As Timers.Timer
theTimer = New Timers.Timer(1000) 'temps entre repetition 1000= 1s
AddHandler theTimer.Elapsed, AddressOf timeDispath_Tick
theTimer.Start()
End Sub
Private Sub timeDispath_Tick()
GestionAlarme(TheFile)
End Sub
Dim verify1 As Boolean = False
Private Sub GestionAlarme(ByVal Fichier As String)
If verify1 = False Then '<-- Verify l'acces concurentiel
verify1 = True
Try
Dim ListEtatAlarmeAutomate As List(Of EtatAlarme) = New List(Of EtatAlarme)
'JE REMPLI MA LISTE
''''''''''Debut Lecture automate'''''''''''''''''
server.Connect()
If (server.Connect = True) Then 'Verification de la presence de la comm entre le pc et l'automate
theConfig = ConfigMgt.GetInstance() 'Lance l'instance pour faire la lecture de l'XML
For Each def As DefautAutomate In theConfig.Defauts 'lecture des Id qui sont dans le XML
IdEtat = New EtatAlarme
IdEtat.id = def.Id
IdEtat.etat = server.Read(def.Alarme) 'Lecture dans l'automate de l'etat d'une alarme
ListEtatAlarmeAutomate.Add((IdEtat))
Next
End If
''''''''''Fin Lecture automate'''''''''''''''''
'JE L'ENUMERE
''''''''''Debut Creation de la list d'alarme actif'''''''''''''''''
If Not (ListEtatAlarmeAutomate.Count = Nothing) Then 'Verification que la lsite ne soit pas vierge
ListeAlarmeActif = New WpfObservableCollection(Of LogAlarme)
Dim alarmeactif As LogAlarme
For Each element As EtatAlarme In ListEtatAlarmeAutomate
If (element.etat = True) Then 'seulement si l'alarmes et active
alarmeactif = New LogAlarme
alarmeactif.id = element.id
theConfig = ConfigMgt.GetInstance() 'Lance l'instance pour faire la lecture de l'XML
For Each def As DefautAutomate In theConfig.Defauts
If (element.id = def.Id) Then
alarmeactif.defaut = def.Description 'Charge le nom du defaut
End If
Next
ListeAlarmeActif.Add(alarmeactif)
End If
Next
End If
''''''''''Fin Creation de la list d'alarme actif'''''''''''''''''
Catch ex As Exception 'Pour debug
FileError(DateTime.Now.ToString + " " + "Erreur GestionAlarme")
End Try
verify1 = False
Else
FileError2(DateTime.Now.ToString + " " + "access concurentiel") 'Pour debug
End If
End Sub |
Partager