Vai al contenuto

PLC SlimLine esegue reboot

Home Forum Controllori SlimLine e Netsyst (LogicLab) PLC SlimLine esegue reboot

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

    In un impianto di termoregolazione in servizio da oltre 1 anno, stamattina il cliente ha riscontrato una anomalia di funzionamento. Mi sono connesso in teleassistenza ed ho riscontrato che il PLC SlimLine si riavvia a distanza di qualche minuto.

    Il problema si è verificato a seguito di un allarme che si è generato su un circolatore che arriva al PLC. Siccome tutti gli allarmi vengono dal PLC memorizzati in un file di log su SDCard ho ipotizzato un problema proprio nella gestione della scrittura del file. Quindi ho cancellato tutti i file di registrazione ed allarmi da SDCard (Disco D:) ed ho fatto un reboot.

    Dopo questa operazione il sistema ha ripreso a funzionare correttamente da un paio d’ore. Ho inviato alla Vs mail di supporto il file Logs.txt potete fare una verifica e darmi indicazioni in merito?

    #85419
    Sergio Bertana
    Amministratore del forum

    Ho verificato il tuo file di log ed ho verificato la causa dei riavvii del sistema dovuti all’intervento del circuito di watch-dog. Il circuito controlla il tempo di esecuzione del programma PLC e se riscontra un tempo anomalo riavvia il sistema. Ecco l’estratto di 3 riavvii per watch-dog, come vedi ogni riavvio è avvenuto proprio mentre si faceva accesso al disco D:.

    [08/05/2026 06:54:47.342] [L] SFW198[ 5003] MPS054C110-00622 power on        Avvio del sistema
    [08/05/2026 06:54:47.342] [L] SFW198[ 5005] Starting Op. System SFW210C010   Versione sistema operativo
    [08/05/2026 06:54:49.458] [L] SFW198[ 5053] Unit 'D' mounted FAT_32_ELS      Mount SDCard
    [08/05/2026 06:56:07.000] [E] SFR050[ 1020] Except: WDOG @:0x004670EE        Accesso al disco D: su SDCard
    
    [08/05/2026 06:49:30.342] [L] SFW198[ 5003] MPS054C110-00622 power on        Avvio del sistema
    [08/05/2026 06:50:48.000] [E] SFR050[ 1020] Except: WDOG @:0x004D403C        Accesso al disco D: su SDCard
    
    [08/05/2026 07:00:07.341] [L] SFW198[ 5003] MPS054C110-00622 power on        Avvio del sistema
    [08/05/2026 07:01:26.000] [E] SFR050[ 1020] Except: WDOG @:0x004B5DA2        Accesso al disco D: su SDCard

    Il report WDOG @:0x004670EE indica l’intervento del circuito di watch e l’indirizzo in cui il processore stava eseguendo il programma, dalla versione del sistema operativo siamo in grado di risalire alla funzione relativa che nel tuo caso come ti ho indicato nel log fanno riferimento a funzioni di accesso alla SDCard.

    Se mi invii la risposta al comando Telnet FSStats ed il tipo di SDCard che stai utilizzando possiamo dare ulteriori informazioni.

    #85424
    Anonimo
    Inattivo

    Ecco il report del comando FSStats

    [Admin]> FSStats
    ------------------------------------------------------[Recently Managed Files]--
    FS[0]: File:D:/Web/proj/readValues.htm, Mode:"c" Time:0 Days, 0 Hours, 27 Min, 38 Sec
    FS[1]: File:D:/Web/proj/setValues.htm, Mode:"c" Time:0 Days, 0 Hours, 27 Min, 38 Sec
    FS[2]: File:C:/System/Logs.txt, Mode:"c" Time:0 Days, 0 Hours, 2 Min, 36 Sec
    FS[3]: File:D:/Web/proj/synValues.htm, Mode:"c" Time:0 Days, 0 Hours, 25 Min, 29 Sec
    FS[4]: File:D:/Web/proj/Home.html, Mode:"c" Time:0 Days, 0 Hours, 27 Min, 40 Sec
    FS[5]: File:D:/Web/NotFound.html, Mode:"c" Time:0 Days, 0 Hours, 2 Min, 47 Sec
    --------------------------------------------------------------[FAT statistics]--
    SFLASH sectors read:....... 276
    SFLASH sectors write bck.:. 84691
    SFLASH sectors read time:.. 2.889 [2.098 <2.278> 3.023](mSec)
    SFLASH sectors write time:. 20.017 [19.845 <21.018> 22.178](mSec)
    SDCard sectors read:....... 23427
    SDCard sectors write bck.:. 1804010
    SDCard init:............... 8
    SDCard sectors read time:.. 1.754 [0.679 <0.951> 2.563](mSec)
    SDCard sectors write time:. 3.637 [3.637 <3.792> 3.947](mSec)
    USB MSC sectors read:...... 0
    USB MSC sectors write bck.: 0
    USB MSC sectors read time:. 0.000 [4294967.500 <0.000> 0.000](mSec)
    USB MSC sectors write time: 0.000 [4294967.500 <0.000> 0.000](mSec)

    Faccio comprare micro SD CARD HC da 16/32 GB, non ricordo il modello perchè le comprano i clienti.

    #85427
    Sergio Bertana
    Amministratore del forum

    Dal report del comando vedo che stai utilizzando files su SDCsard disco D:  a parte il file C:/System/Logs.txt che è il file di log utilizzato da sistema operativo. Un dato significativo è:

    SDCard sectors write bck.:. 1804010

    In pratica sono stati eseguiti quasi 2 milioni di accessi in scrittura sulla SDCard, dopo molti cicli di scrittura una SD Card può iniziare ad avere problemi. Le memorie FLASH delle SD hanno un limite di cicli P/E (Program/Erase): ogni cella può essere cancellata e riscritta solo un certo numero di volte prima di degradarsi. Il valore dipende dalla tecnologia NAND usata:

    • SLC: ~50.000–100.000 cicli
    • MLC: ~3.000–10.000 cicli
    • TLC (molto comune nelle SD consumer): ~300–3.000 cicli
    • QLC: ~100–1.000 cicli

    Quindi una normale microSD consumer non arriva a 2 milioni di cicli per cella. Però se il controller interno usa:

    • wear leveling (distribuisce le scritture)
    • blocchi di riserva
    • correzione errori ECC

    I cicli vengono distribuiti su tutta la memoria, quindi una scheda può sopportare enormi quantità di dati scritti totali prima di morire. I sintomi tipici dopo forte usura sono:

    • errori di scrittura
    • file corrotti
    • lentezza improvvisa
    • SD che diventa “read only”
    • impossibilità di formattare

    Per un  logging continuo una SD standard si usura rapidamente. In questi casi conviene usare delle SDCard industriali come la Flash SLC (Single-Level Cell) da noi suggerita. Le memorie SLC memorizzano 1 solo bit per cella, quindi sono molto più resistenti all’usura rispetto a MLC/TLC/QLC e sono suggerite proprio per affidabilità ed endurance. Quelle da noi suggerite oltre ad avere il wear leveling integrato hanno anche un range elevato di temperatura di funzionamento.

    #85432
    Sergio Bertana
    Amministratore del forum

    Dalle considerazioni dei post precedenti posso ragionevolmente indicarti perchè dopo la cancellazione dei files su SDCard il sistema a ripreso a funzionare.

    Ipotizzando un settore difettoso che necessita di un tempo molto lungo per la scrittura tale da fare intervenire il circuito di watch-dog che è sempre all’erta, ad ogni scrittura il sistema si resettava.

    Cancellando i files su disco le nuove scriture dei dati si spostatano su altri settori della SDCard che probabilmente sono più “freschi” e quindi efficenti, infatti il report da tempi di scrittura molto veloci 3.7mS.

    SDCard sectors write time:. 3.637 [3.637 <3.792> 3.947](mSec)

    L’operazione di spostare la scrittura su settori “freschi” è proprio quello che fà automaticamente il wear leveling delle memorie ecco  perchè è importante scegliere sempre memorie con wear leveling. Uno pseudo wear leveling lo puoi realizzare anche tu da programma eseguendo a tempo (Esempio ogni settimana/mese) le seguenti operazioni:

    • Rinomini i files con la funzione SysFileRename, esempio sostituisci _ ad una lettera del nome (readValues.htm diventa readValues.ht_)
    • Esegui la copia con il FB FSFileCopy del file rinominato nel nuovo file con il nome corretto esempio readValues.htm
    • Cancelli con la funzione SysFileRemove il precedente file rinominato esempio readValues.ht_

    In questo modo per la gestione del file verranno utilizzati settori diversi nella SDCard. Rimando a questo articolo per ulteriori informazioni su utilizzo file system nei sistemi SlimLine.

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