Molte funzioni del protocollo XComm possono essere inviate in Brodcast mettendo uno zero al posto dell'indirizzo,
purtroppo però il Brodcast non da sicurezza ne conferma dell'avvenuta modifica, quindi normalmente si invia più volte, ma anche questo per vari motivi legati alla comunicazione in loco spesso non garantisce un risultato.
Per ovviare a questo è possibile utilizzare il codice qui proposto o nel modulo USER PROCESS che può lavorare in parallelo al sistema oppure direttamente nella supervisione.
Chiaramente le funzioni che devono sempre essere eseguite vanno solo nei moduli USER PROCESS (XCDR025.exe).
Procedure per creare un USER PROCESS:
a) Questa funzione evita che applicazioni possano essere eseguite più di una volta,
all'avvio della seconda applicazione se App.PrevInstance = True
l'applicazione in avvio verrà arrestata.
Codice: Seleziona tutto
Private Sub Form_Load()
If App.PrevInstance = True Then ' Evita l'avvio duplicato dell'applicazione
End
end if
End Sub
arrestato il Server di sistema.
Utilizzando la libreria XComm Full (ABS 15 XComm Full Library) o l'equivalente XC_CLASS per VS .NET si dispone dell'evento EventData
l'evento permette di ricevere moltissimi dati di sistema, i vari dati sono indicizzati da un numero univoco (Index)
L'indice 101 è quello che viene scatenato all'arresto del Server ABS, il dato trasmesso è "End_XCDR025"
Codice: Seleziona tutto
Private Sub XComm1_EventData(ByVal index As Long, Data As String)
If index = 101 And Data = "End_XCDR025" Then ' Termina L'applicazione alla chiusura del Server
End
end if
End Sub
Passiamo adesso a vedere che codice utilizzare in questo processo logico di controllo per effettuare
la commutazione Riscaldamento/Raffrescamento.