Vai al contenuto

Informazioni su procedura di backup e restore

Home Forum Controllori SlimLine e Netsyst (LogicLab) Informazioni su procedura di backup e restore

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Autore
    Post
  • #61404
    Stefano
    Partecipante

    Noto nella Knowledge Base una interessantissima nota relativa al Backup&Restore dei sistemi SlimLine Cortex M7. Notizia che mi torna molto gradita visto che devo aggiornare il progetto su una serie di CPU andando a cambiare anche una vagonata di variabili retain oltre che il file di configurazione. Stavo per mettermi ad implementare una funzione che aggiorna la memoria retain in base a un CSV ma a questo punto non servirebbe più…

    Quando verrà messo a diposizione per il download il pacchetto PCK051B000?

    Per caso è stata aggiunta anche la possibilità di collegare alla CPU, prima dell’accensione, un flash drive USB per mezzo di un cavetto OTG e far scattare l’aggiornamento?

    #61406
    Sergio Bertana
    Amministratore del forum

    La procedura di Backup&Restore è proprio fatta per poter inserire una SDCard nei sistemi in cui è prevista oppure un lettore SDCard USB con il file di backup ed alla accensione il sistema si autoaggiorna eseguendo automaticamente il restore.

    Il PCK051B000 verrà rilasciato entro il mese di ottobre.

    Ma per il tuo problema di aggiornamento variabili RETAIN esiste il FB FileMemoryDump che esegue sia il backup che il restore su di un file di un’area di memoria. Il FB si trova nella libreria eLLabLogLib. E’ un vecchio FB e la documentazione relativa si trova solo sul manuale in PDF. In questo articolo trovi ulteriori informazioni.

    #62010
    Stefano
    Partecipante

    Sto provato ad utilizzare FileMemoryDump ma qualcosa non torna. Lo inizializzo in questo modo:

    IF (SysFirstLoop) THEN
        MDump.MBufferPtr:=ADR(%MW100.2048); (* Dump memory address *)
        MDump.MBufferSize:=1524; (* Dump memory size *)
        MDump.Filename:='C:/MRetain.txt'; (* Dump memory file *)
        CaseNr:=0; (* Comando Nullo *)
    END_IF;

    Ma in compilazione esce l’errore:

    MemoryDump(16) – errore G0034: MDump.Filename => Tipo di operando non valido

    Usando invece MDump.Filename:=ADR('C:/MRetain.txt'); si compila.
    E’ corretto? Nel manuale in PDF c’è solo l’esempio in FBD.

    Segnalo poi che cercando di compilare per il target di simulazione appare il seguente errore:

    Generazione blocco funzionale FileMemoryDump annullato.
    FileMemoryDump(88) - errore G0129:  NULL => Comparison between reference and non-reference
    FileMemoryDump(117) - errore G0101:  Buf => Tipo non corrispondente in assegnazione
    ...
    FileMemoryDump(280) - errore G0129:  NULL => Comparison between reference and non-reference
    FileMemoryDump(301) - errore G0101:  Buf => Tipo non corrispondente in assegnazione
    
    0 warnings, 12 errori.

    Il progetto è settato per “SlimLine Mps054 XUnified”

    #62013
    Sergio Bertana
    Amministratore del forum

    Con il rilascio del target XUnified abiamo eliminato tutti i passaggi di variabili per stringa trasformandoli in passaggio per puntatore. Le stringhe hanno una lunghezza definita mentre con il puntatore non vi sono limiti di lunghezza. Se tu visualizzi le proprietà del FB in LogicLab vedrai che il parametro Filename ora è del tipo @STRING.

    Quindi è corretto passare l’indirizzo della stringa di definizione, ecco un esempio di utilizzo.

    VAR
        MDump : FileMemoryDump;
    END_VAR
    
    IF (SysFirstLoop) THEN
        MDump.Enable:=TRUE; //Enable
        MDump.Write:=TRUE; //Write command
        MDump.MBufferPtr:=ADR(%MW100.2048); //Dump memory address
        MDump.MBufferSize:=1524; //Dump memory size
        MDump.Filename:=ADR('C:/MRetain.txt'); //Dump memory file
    END_IF;
    
    MDump(); //Execute the FB
    IF (MDump.Done) THEN MDump.Write:=FALSE; END_IF;

    In riferimento agli errori di compilazione in simulazione, il simulatore su PC non è in grado di simulare tutte le funzioni del sistema reale, in pratica lo si può utilizzare per la logica ladder e per i calcoli matematici ma non per le operazioni di accesso agli streams di comunicazione o ai files.

    Il manuale PDF è rimasto congelato allo stato in cui è stato redatto, ora tutti gli aggiornamenti sono riportati sul manuale On-line. Purtroppo non c’è riportato il FB FileMemoryDump, vedo di riportarlo.

    Ti ricordo che sono stati aggiunti i comandi PLCCommand -pmbku e -pmres che peremettono il backup ed il restore di tutta l’area ritentiva (Vedi articolo).

    #62018
    Stefano
    Partecipante

    Sto provando a fare l’upgrade del firmware all’ultima versione ma esce questo avviso:

    [Admin]> update C:/Firmware.upl
    --------------------------------------------------
    Step 1: Upl file validity check
    --------------------------------------------------
    .Bootloader SFW200A210 is ok!
    ...Firmware SFW198E000 is ok!
    All files inside C:/Firmware.upl are ok!
    --------------------------------------------------
    Step 2: Compatibility check
    --------------------------------------------------
    .File SFW200A210 is compatible with existing SFW200A200!
    .File SFW198E000 is not compatible with existing SFW198D080!
    .
    All files evaluated!
    --------------------------------------------------
    Step 3: Update
    --------------------------------------------------
    WARNING: COMPATIBILITY PROBLEM!
    If you procede it is possible that you will lost all your files and ethernet configuration.
    Backup your files before.
    Please avoid to power off device during update.
    Do you want to procede (Y,n)?

    Essendo l’impianto in produzione mi sono fermato. E’ la prima volta che vedo un avviso del genere.

    #62022
    Sergio Bertana
    Amministratore del forum

    L’avviso ha ottenuto l’effetto desiderato… porre attenzione all’operazione. Cerco di spiegare quello che è successo. Il messaggio:

    File SFW198E000 is not compatible with existing SFW198D080!

    Indica che stai eseguendo un upgrade del sistema operativo dalla versione D080 alla versione E000. Nella ns codifica la lettera indica una variazione molto importante delle caratteristiche che potrebbero portare ad un problema di compatibilità sul programma PLC. Quindi prima di eseguire un upgrade con un cambio lettera ti avvisiamo di fare attenzione, dala versione E000 abbiamo anche cambiato il messaggio consigliando di leggere le note di rilascio. Gli upgrade più significativi sono stati:

    Da versione B->C: Cambiato il file system, si perdevano tutti i files presenti sul disco. Il programma PLC và ricompilato senza alcun problema di compatibilità.

    Da versione C->D: Modificato architettura da XTarget ad XUnified. Il programma PLC và ricompilato secondo quanto descritto in questa nota.

    Da versione D->E: Implementata gestione Backup&Restore. Il programma PLC và ricompilato senza alcun problema di compatibilità.

    Quindi nel tuo caso puoi tranquillamente fare l’upgrade provvedento alla ricompilazione del programma PLC di macchina.

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