seval_elettrica
Risposte nei forum create
-
AutorePost
-
seval_elettrica
PartecipanteAbbiamo inserito la funzione sopra descritta nel Ns software, riscontrando il perfetto funzionamento con la CPU MPS056xxx, mentre stiamo riscontrando problemi con la CPU MPS050xxx, aggiornato all’ultimo FW disponibile per XUnified. Questo il pezzo di codice sviluppato nella task in background per la funzionalità di “reboot”:
IF ((BootCmd = TRUE) OR (BOOT_PER_CMD=TRUE)) THEN BOOTSTR:='reboot'; RetBool:=SysOSIDValue(TRUE, OSID_PLC_COMMAND, ADR(BOOTSTR)); END_IF;La CPU MPS056xxx esegue il reboot sia con un comando SMS sia tramite orologio (ogni 48 ore, periodo variabile o sospendibile).
Invece, con la CPU MPS050xxx nel primo caso (ricezione del messaggio di reboot) non esegue il reboot hardware, ma notifica un errore, il numero 9924120, ” Parametro “OSID” non valido “, mentre nel secondo caso (l’automatismo di reboot periodico), la CPU entra in una fase di “attesa”, quindi si mette in attesa di eseguire il reboot, ma questo non avviene mai ed il PLC non esce mai da questa fase, si congela, e da verifica entra in “not running”.
Ovviamente spento e riacceso, riparte correttamente. Ora, quale potrebbe essere il problema considerando che il programma è pressoché identico, salvo ovviamente la variazione del target.
Una nota importante per evitare fraintendimenti: il fatto che il PLC entri in “not running” non è direttamente legato alla funzione di reboot, ma ad un tentativo di far scattare il watchdog mandando il programma in un loop infinito, in questo caso la CPU è poi entrata in “not running”.
seval_elettrica
PartecipanteAnche noi, per la gestione degli SMS, utilizziamo il modem EGX81-W connesso alla SlimLine MPS056B320 (prima utilizzavamo MPS050Bxxx). L’invio e la ricezione degli SMS funziona correttamente, ma avremmo bisogno di una precisazione su MOk.
Abbiamo sviluppato una funzione che, qualora MOk risultasse uguale a FALSE, farebbe partire un timer di 3 minuti (valore variabile) al termine del quale, se nel frattempo non ci sono state variazioni con ritorno di MOk = TRUE, il PLC agisce togliendo alimentazione al modem, lo lascia spento per 30 secondi, lo riavvia, attende 40 secondi, infine inizializza di nuovo la libreria del modem.
Ora, considerando la Vs pagina “MOk (BOOL) Modem correttamente inizializzato e funzionante “, vorremo comprendere meglio, quali possano essere le cause di un MOk = FALSE, dal momento che l’inizializzazione è avvenuta correttamente, il modem risulta funzionante e comunica correttamente, ma all’improvviso viene rilasciato FALSE, seguito da quanto sopra descritto.
Per maggior precisione, la domanda è sorta dopo l’installazione di alcuni impianti in aree con rete GSM scarsa e/o instabile, in questi casi, avendo un contatore dei riavvi del modem, abbiamo riscontrato centinaia di riavvi giornalieri, quindi crediamo che il FALSE possa derivare anche da una mancanza di rete GSM (il modem di fatto non riesce ad allacciarsi alla rete) e pertanto potrebbe essere utile allungare la durata del timer, con lo scopo di attendere un ritorno autonomo di TRUE prima dello scadere del timer.
-
AutorePost