Manuale - AllNets
Transcript
Manuale - AllNets
WatchDog seriale www.allnets.it Descrizione Questo dispositivo (WatchDog seriale) è stato concepito per aumentare l’affidabilità del sistema a cui è collegato, monitorandone il corretto funzionamento. Viene collegato sul ramo della sottorete oppure in una porta dedicata, che provvede a dialogare con lui in modo da fargli capire che l’unità principale è regolarmente funzionante. In caso di anomalia (processore bloccato, alimentatore guasto, seriale danneggiata ecc...) il WatchDog non riesce più a ricevere messaggi dall’unità principale, per cui, scaduto un certo timeout (specificato all’interno del protocollo di comunicazione) provvede a spegnere e riaccendere l’unità principale per verificare se tutto riprende a funzionare regolarmente. A questo punto si possono verificare due casi: 1) il sistema principale riavviandosi risolve il problema, e tutto riprende a funzionare regolarmente; 2) il sistema principale non riparte, oppure le sue porte rimangono bloccate; a questo punto viene tentata un’altra sequenza di riavvio (fino al numero specificato nel protocollo di comunicazione). Scaduti questi tentativi, si passa alla procedura di allarme: Il sistema chiude il relè di allarme (viene chiuso anche in caso di disalimentazione del WatchDog) e sconnette il dispositivo monitorato dalla linea di supervisione principale e dalla sua alimentazione. Tale procedura è molto importante in quanto, la disconnessione seriale, libera la linea 485 da possibili sovraccarichi dovuti a questa periferica non funzionante, rendendone più semplice l’identificazione da parte del PC, mentre lo sgancio dell’alimentazione permette la caduta di tutti i relè della scheda che, tornando in situazione di riposo, porta tutti i carichi (quali Elettrovalvole, pompe, resistenze, automazioni) in una posizione di sicurezza “tutto fermo”. Layout Il dispositivo si presenta in contenitore 4M. Da un lato troviamo la presa di alimentazione e la porta Monitor RS485/232 affiancate da 4 led di segnalazione processo, dall’altro lato invece troviamo le due RS485 (che in pratica vengono tenute unite durante il funzionamento regolare da un relè a doppio scambio, elettricamente isolate dall’elettronica del WatchDog), l’uscita relè di “taglio alimentazione” e l’uscita di allarme (dovrebbe essere collegata in parallelo all’uscita allarme del sistema monitorato in modo che la prima uscita ad andare in allarme genera l’allarme). Led 1) PW rosso: segnalatore alimentazione regolare ed indicatore di comunicazione (blink spento di 50 mS quando riceve dati seriali validi) 2) OK verde: segnalatore di funzionamento regolare 3) STUP rosso: anomalia in corso, tentativo di riavvio e ripristino sistema 4) ALL rosso: allarme attivato problema persistente (dispositivo disalimentato e sganciato dalla comunicazione) tensione nominale potenza consumata protezione inversione polarità temperatura ambiente Porta Monitor baud rate seriale protezione ESD porta RS485/232 Monitor led segnalazione relè di sgancio seriali relè alimentazione dispositivo esterno relè allarme grado di protezione dimensioni omologazione produttore luogo di produzione 24Vdc <2W si -10…+50° RS485/485 (configurate in fabbrica) 9,6-19.2K (configurazione automatica) 15KV 3 rossi 1 verde 1A (due scambi A,B) contatto pulito 5A (riposo=N.A.) contatto pulito 5A (riposo=N.C.) IP20 4 moduli guida omega H53 CE AllNets electronics ITALIA WatchDog seriale www.allnets.it WatchDog seriale www.allnets.it Esempi di collegamento L’esempio di Figura 1 rappresenta la situazione più comune da gestire, ovvero un sistema intelligente che gestisce a sua volta una sottorete di varie periferiche. Il WatchDog in questo caso viene tenuto “vivo” da un protocollo che viene lanciato nel ramo della sottorete ogni tot secondi. In caso di anomalia del sistema monitorato, si avrà l’intervento del WatchDog che provvederà a ripristinare l’unità riavviandola, ma allo stesso tempo provvederà alla sua disconnessione seriale dalla rete principale, per fare in modo che un suo guasto non infici il funzionamento di quest’ultima. Da figura è possibile notare il collegamento parallelo tra gli allarmi; se le sequenze di riavvio non portassero alla risoluzione del problema, si avrebbe lo spegnimento del relè di allarme del WatchDog che, essendo normalmente chiuso, porterebbe in allarme il sistema. L’esempio di Figura 2 rappresenta il monitoraggio di una unità principale come ad esempio un PC in una rete; in questo caso viene dedicata una porta RS232 o USB tramite convertitore USB/232. In caso di blocco del PC si rientra nella stessa situazione di prima, ovvero una serie di tentativi di riavvio di sistema che, se falliscono, portano alla generazione di allarme e spegnimento definitivo dell’unità non funzionante. Configurazione seriale La configurazione seriale è del tipo N,8,1 la velocità della comunicazione può essere 9,6K o 19,2K. WatchDog seriale www.allnets.it Il WatchDog analizza i caratteri seriali che riceve dalla sua porta monitor, se questi caratteri non dovessero rispettare le tempistiche standard, cambia automaticamente la velocità. Una volta trovato del traffico di rete a lui “comprensibile per forma e tempo” provvede a salvare nella sua EEPROM interna questo settaggio come DEAFAULT, in modo tale che in caso di mancanza di alimentazione, possa ripartire con la velocità corretta senza ripetere tutto l’iter. Il suo settaggio avviene anche mediante stringhe non dedicate a lui, in quanto analizza solo la “tempistica” dei caratteri in transito nella porta, per cui un traffico dati alla velocità corretta è sufficiente a farlo configurare automaticamente. Da qui si deduce che in fase di installazione potrebbe capitare che ci vogliano alcuni cicli di comunicazione perchè il sistema si setti correttamente. Configurazioni Per permettere un più vario campo di applicazione di questo dispositivo, sono state implementate alcune variabili nel protocollo di comunicazione. Queste variabili vengono salvate in maniera NON VOLATILE nella eeprom del WatchDog per evitare di incappare in situazioni “non definite” in caso di mancanza di corrente nel WatchDog. Le variabili impostabili dall’utente sono: 1) tempo di intervento dovuto alla mancanza di comunicazione (0-4095 secondi) 2) numero di tentativi di riavvio prima di accendere l’allarme e bloccare il dispositivo (0-255) 3) tempo necessario al riavvio del sistema prima di tentare il successivo riavvio (0-4095 secondi) Il tempo che il WatchDog tiene il dispositivo spento prima di fornirgli nuovamente tensione, è fisso a 5 secondi per permettere un reset adeguato. Protocollo Standard La comunicazione tra l’unità da monitorare ed il WatchDog avviene con 1 solo protocollo di comunicazione contenente i parametri variabili sopracitati. Nel protocollo di comunicazione è presente un carattere che indica al WatchDog se deve rispondere a seguito della ricezione del protocollo, oppure non deve rispondere (questa funzione può essere utile se si vuole implementare il protocollo in maniera veloce senza analizzare risposte). il comando è il seguente: > W D _ 000 _ 00 _ 000 _ 0 _ ck ck 13 (nessun spazio tra i caratteri) > carattere di start WD caratteri di identificazione stringa _ caratteri spaziatori (ascii 95) 000 tempo espresso in hexadecimale nel range 000-FFF (0-4095) secondi, tempo di intervento WatchDog dovuto a non comunicazione 00 numero di tentativi di avvio sistema prima di accendere l’allarme e bloccare il dispositivo (hex 00-FF) 000 tempo espresso in hexadecimale nel range 000-FFF (0-4095) secondi, tempo necessario al riavvio del sistema monitorato 0 risposta del WatchDog a seguito di questa comunicazione: 0= riceve ma non risponde 1= risponde appena ricevuto ck ck valore hexadecimale 00-FF, cksum della stringa (somma di tutti i caratteri dallo start compreso a quello subito prima del cksum, convertita in hexadecimale e tenuti solo 2 byte) 13 è il 13 ascii (return) scritto in 1 solo carattere risposta se richiesta nel protocollo di comando: WatchDog seriale www.allnets.it < W D D 7 13 < start in risposta WD identificativo protocollo D7 è il cksum (calcolato come in trasmissione, ma essendo questo protocollo senza variabili il cksum è sempre D7) 13 è il ASCII 13 (return) Protocollo comando istantaneo Esiste un comando diretto che porta il watchDog direttamente nella condizione di allarme; questa condizione è comandata direttamente dall’unità analizzata, quindi l’allarme non si genera più da solo, ma è l’unità a generarlo volutamente. Può servire il comando è il seguente: > W D a ck ck 13 (nessun spazio tra i caratteri) > carattere di start WD caratteri di identificazione stringa a comando forza allarme ck ck valore hexadecimale 00-FF, cksum della stringa (somma di tutti i caratteri dallo start compreso a quello subito prima del cksum, convertita in hexadecimale e tenuti solo 2 byte) 13 è il 13 ascii (return) scritto in 1 solo carattere risposta sempre presente: < W D D 7 13 < start in risposta WD identificativo protocollo D7 è il cksum (calcolato come in trasmissione, ma essendo questo protocollo senza variabili il cksum è sempre D7) 13 è il ASCII 13 (return) In questo stato avremo il relè comunicazione aperto, il relè di alimentazione dispositivo aperto, e il relè allarme chiuso. I led del dispositivo indicheranno lo stato di allarme.