Vai al contenuto

Eseguire il reboot del terminale HMI

Home Forum Terminali operatore (Weintek) Eseguire il reboot del terminale HMI

Stai visualizzando 9 post - dal 1 a 9 (di 9 totali)
  • Autore
    Post
  • #35484
    Anonimo
    Inattivo

    Ho un terminale MT8070i, mi chiedevo se esiste la possibilità di eseguirne il reboot su comando da locale e/o da remoto ?

    #37984
    Sergio Bertana
    Amministratore del forum

    Facendo riferimento al Chapter 22 System Reserved Words/Bits del manuale programmazione puoi trovare due bits di sistema che gestiscono il reboot del terminale.

    LB-9047 reboot HMI (set ON when LB9048 is on) (Only Write)
    LB-9048 reboot-HMI protection (Read/Write)

    In pratica è possibile attivare il bit LB-9048 e poi attivando il bit LB-9047 si esegue il reboot del terminale. L’attivazione di questi bits può essere effettuata dal terminale stesso inserendo due oggetti Imposta bit in una delle pagine, oppure gestita dal PLC copiando in questi bit due variabili bit del PLC.

    Se da remoto puoi accedere via VNC al pannello ecco che puoi attivare i bit di reboot, oppure lo puoi fare comandando da remoto il PLC. Ricordo anche la possibilità di alimentare il terminale con una uscita logica del PLC e disattivando e poi riattivando questa uscita è possibile spegnere e riaccendere il terminale.

    #38484
    Oscar_stb
    Partecipante

    Dovrei realizare una macro che esegue un reboot automatico del pannello alla mezzanotte, mi sono guardato un pò il forum e un pò il manuale ma non sono in grado di scrivere una macro.

    Sul pannello ho messo un oggetto con data e ora e penso che il pannello abbia il real time clock anche se sul manuale non ho trovato indicazioni. Avete un esempio da cui partire ?

    #38485
    Sergio Bertana
    Amministratore del forum

    La tecnica di effettuare un reboot del pannello ogni giorno è una tecnica che consigliamo di utilizzare sui pannelli che restano sempre accesi per evitare che si crei un overflow di allocazione memoria. Il sistema operativo del pannello è un Linux e l’applicativo come tutti i programmi continua ad allocare e disallocare memoria, può essere che in un sistema sempre acceso si esaurisca l’area di malloc generando un blocco del programma applicativo.

    Come detto prima vi sono due variabili che permettono il reboot, quindi l’operazione più semplice è creare una macro (Vedi manuale macro) eseguita a tempo in cui si controlla l’orologio interno al pannello ed all’ora stabilita, solitamente la mezzanotte quando presumibilmente nesuno stà utilizzando il pannello ne forza il reboot. Ho realizzato un semplice progetto che visualiza l’orologio del pannello ed alla mezzanotte forza il reboot (Download progetto).

    La tecnica è quella di controllare se l’ora è maggiore delle 23:59:55, visto che il reboot richiede circa 15 secondi, al riavvio l’ora sarà 00:00:10 quindi sicuramente minore del valore di confronto, così il prossimo reboot avverrà alla mezzanotte successiva. Tutti i terminale serie iE hanno il real time clock integrato.

    #38486
    Sergio Bertana
    Amministratore del forum

    Aggiungo listato macro eseguita ciclicamente ad ogni secondo.

    macro_command main()

      bool RFlag=true //Reset flag
      short ABuffer //Auxiliary buffer

      // Alla mezanotte eseguo reboot.
     
      GetData(ABuffer, “Local HMI”, LW, 9019, 1) //Leggo ora
      if (ABuffer == 23) then
     
        GetData(ABuffer, “Local HMI”, LW, 9018, 1) //Leggo minuti
        if (ABuffer == 59) then

          GetData(ABuffer, “Local HMI”, LW, 9017, 1) //Leggo secondi
          if (ABuffer >= 55) then
            SetData(RFlag, “Local HMI”, LB, 9048, 1) //Reboot-HMI protection
            SetData(RFlag, “Local HMI”, LB, 9047, 1) //Reboot-HMI
          end if 
        end if 
      end if 
    end macro_command

    #75391
    Mauro
    Partecipante

    Buongiorno, ho trovato questo vecchio thread facendo alcune ricerche.

    Nello specifico mi è capitato con alcuni MT8071ie (sempre accesi) di trovarli operativi localmente ma non raggiungibili da VNC, con un reboot il problema si risolve, a tal proposito porgo questa domanda, anche sugli ultimi modelli rimane valido il consiglio di effettuare un reboot?

    #75394
    Sergio Bertana
    Amministratore del forum

    I feedback che ho con il problema che tu lamenti capitano se è stato attivato i server VNC a singola connessione. Consiglio sempre di attivare il server multiconnessione.

    Può succedere che con un client VNC connesso, in caso di perdita di rete momentanea la connessione rimane “appesa” e se è attiva la singola connessione nessun altro client VNC si può connettere. E’ previsto un timeout sulla connessione se non vi è traffico, ma alcune volte si è visto che la connessione rimane bloccata per molto tempo. Naturalmente il multiconnessione in questo caso garantirebbe l’accesso su un’altra  connessione.

    #75448
    Mauro
    Partecipante

    Innanzitutto ringrazio per la cortese risposta, preciso che in realtà è già attiva la multiconnessione, a questo punto, il reboot può essere un workaround accettabile?

    #75465
    Sergio Bertana
    Amministratore del forum

    Si certo credo sia l’unica  soluzione al problema.

    Anche  se sinceramente non riesco a spiegarmi il perchè succeda.

Stai visualizzando 9 post - dal 1 a 9 (di 9 totali)
  • Devi essere connesso per rispondere a questo topic.