Backup & restore programma PLC

List

Questa pagina fa parte del Manuale Programmazione IEC 61131-3. Vai all indice.

Il PLC è l’elemento base del sistema di controllo di macchine e processi industriali per questo motivo è importante poter disporre di un metodo veloce e sicuro per la programmazione in caso di modifiche, o per il salvataggio del programma e l’eventuale caricamento su un altro sistema in caso di manutenzione. Proprio per facilitare le operazioni di manutenzione abbiamo dotato i nostri sistemi programmabili di avanzate funzioni di backup e restore.

Aggiornamento automatico FOTA

Backup & restore permettono l’aggiornamento del sistema con tecnica FOTA, firmware over-the-air.

Backup&Restore programma PLC

Le funzioni descritte in questo articolo sono disponibili solo sulle CPU basate su processori Cortex M7 ed a partire dalla versione Firmware SFW198E000 (incluso nella distribuzione PCK051B000).

Funzioni avanzate di backup & restore

Il disporre di funzioni avanzate di backup & restore permette una serie di vantaggi che possiamo riassumere in:

  • Restore automatico: E’ sufficiente inserire il supporto di Backup nel sistema ed accenderlo, il sistema eseguirà il Restore riavviandosi riconfigurato alla situazione salvata. La semplicità di questa operazione ne permette l’esecuzione a chiunque, non è necessario disporre di personale qualificato.
  • Backup completo del sistema: Possibilità di creare una immagine di ripristino completo del sistema, non solo del programma PLC ma anche del sistema operativo, dei dati di backup e della configurazione. Questo permette, in caso di avaria, di riconfigurare completamente un nuovo sistema. Quindi un’unica scorta garantisce la manutenzione di più impianti rimuovendo i problemi di compatibilità.
  • Utilizzo di supporti rimovibili standard (SDCard, PenDrive USB): Permette di trasferire le copie di backup su PC per una facile archiviazione. In caso di modifiche di programma potete inviare digitalmente le copie di backup ai Vs clienti permettendo di aggiornare facilmente il sistema.

Esecuzione backup

Per eseguire l’operazione di backup occorre connettersi all’interprete comandi in telnet, eseguito il login (Default Admin, Admin) è possibile eseguire il comando Update -mk che esegue il backup.

Sintassi: Update -mk [c][e][f][p][r][s][w][0] Destination
Opzioni:
c: File config
e: Programma PLC
f: Bootloader & firmware
p: Memoria permanent
r: Memoria retain
s: Sorgenti PLC
w: Pagine web
0: Nessun controllo sul codice prodotto, 1:Il codice prodotto deve corrispondere
Destination: Percorso e file di destinazione

Le opzioni di make permettono di selezionare i vari elementi di cui eseguire il backup ma occorre ricordare che gli elementi sono legati tra di loro da logiche di compatibilità, quindi, eseguendo il backup di un elemento, verrà automaticamente eseguito anche il backup degli elementi dipendenti. Vediamo alcuni possibili comandi:

  • Update -mk e D:\File.upl — Alias di Update -mk ef D:\File.upl — Backup nel file indicato del programma PLC, includendo bootloader e firmware da cui dipende. Il restore del file aggiorna gli elementi inclusi cancellando i dati retain ed il programma sorgente.
  • Update -mk s D:\File.upl — Alias di Update -mk efs D:\File.upl — Backup nel file indicato del programma sorgente PLC, includendo programma PLC, bootloader e firmware da cui dipende. Il restore del file aggiorna gli elementi inclusi cancellando i dati retain.
  • Update -mk pr D:\File.upl — Alias di Update -mk efpr D:\File.upl — Backup nel file indicato delle memorie permanent e retain, includendo programma PLC, bootloader e firmware da cui da cui dipendono. Il restore del file aggiorna gli elementi inclusi cancellando il programma sorgente.
  • Update -mk fw D:\File.upl — Backup nel file indicato del bootloader, firmware, pagine web. Il restore del file aggiorna gli elementi inclusi cancellando il programma eseguibile.
  • Update -mk c D:\File.upl — Backup nel file indicato del file di configurazione. Il restore del file aggiorna il file di configurazione. L’operazione modifica tutte le impostazioni di configurazione compreso l’indirizzo IP.
  • Update -mk efprsw D:\File.upl — Backup nel file indicato di tutto il sistema. Il restore del file aggiorna l’intero sistema.

E’ possibile combinare le flags di backup per creare un file con le informazioni che servono per poter ripristinare e/o ricreare la stessa immagine su di un altro sistema. Creato il file di backup è possibile trasferirlo tramite il supporto removibile o scaricarlo tramite connessione FTP per poterlo salvare come backup su PC e/o utilizzarlo per il restore su di un altro sistema.

Comando backup
[Admin]> Update -mk e D:\File.upl
--------------------------------------------------
Bootloader saving

Name:SFW200A200
Start address:0x00400000
End address:0x0040FBA3
Length:64420

--------------------------------------------------
Firmware saving

Name:SFW198D10_
Start address:0x00480000
End address:0x004E9ED7
Length:433880

--------------------------------------------------
PLC executable saving

Name:PLCcExec
Start address:0x005BA000
End address:0x005BE1F5
Length:16886

File D:\File.upl created!

Esecuzione restore

La procedura di restore esamina il file di backup ed esegue il restore delle varie sezioni così come indicato nella creazione del file. Di ogni sezione viene verificata la corrispondenza con quella presente sul sistema e solo se diversa viene eseguito il restore. La procedura può essere eseguita automaticamente alla accensione del sistema o da comando telnet.

  • Restore automatico: Il sistema alla accensione controlla in tutti i dischi se il file SYSTEM.UPL (Case sensitive) è presente, se trovato viene automaticamente eseguito il restore.
  • Restore da comando telnet: Trasferito il file di backup tramite supporto removibile o scaricandolo tramite connessione FTP sul sistema, connettendosi in telnet, eseguito login (Default Admin, Admin) è possibile eseguire il comando Update Source, dove con Source si identifica il file di cui eseguire il restore.
Comando restore
[Admin]> Update D:/Firmware.upl
--------------------------------------------------
Step 1: Upl file validity check
--------------------------------------------------
.Bootloader SFW200A200 is ok!
.Firmware SFW198D090 is ok!
All files inside D:/Firmware.upl are ok!
--------------------------------------------------
Step 2: Compatibility check
--------------------------------------------------
.File SFW200A200 is compatible with existing SFW200A200!
.File SFW198D090 is compatible with existing SFW198D070!
.
All files evaluated!
--------------------------------------------------
Step 3: Update
--------------------------------------------------
Please avoid to power off device during update.
Do you want to procede (Y,n)?

[Admin]> 

Considerazioni

Il backup da un sistema ed il restore su di un altro pone alcune problemi sia in merito alla protezione del software che alla attivazione di funzioni e blocchi funzione.

  • Backup protetto da password: Per impedire la copia del programma dal sistema l’operazione di backup è protetta da password ed è possibile solo da comando telnet, loggandosi con livello di accesso User o superiore. Sarà quindi l’utente di livello Admin ad assegnare le credenziali ed a comunicarle all’utente abilitato all’operazione.
  • Protezione oggetti con DID: La protezione a livello Device ID (DID), permette di abilitare l’utilizzo di oggetti di libreria solo sul dispositivo (Codice + Matricola) per il quale è stata rilasciata. Quindi eseguendo il restore di un programma che utilizza oggetti protetti su di un altro sistema per abilitarne il funzionamento occorrerà acquistare una nuova licenza DID, ponendo dei vincoli operativi. Per questo motivo consigliamo la protezione a livello MID laddove la funzione Backup/Restore è ritenuta vincolante.
  • Protezione programma/oggetti con MID: La protezione a livello Manufacturer ID (MID), a differenza della precedente, non pone vincoli di protezione a livello dispositivo purché quello di destinazione del Restore sia provvisto dello stesso codice MID di quello originale dal quale è stato effettuato il backup.
Was this article helpful?