Dovendo eseguire un intervento di manutenzione o di aggiornamento su un impianto con un PLC, il problema che si pone è il poter disporre del programma macchina. E’ possibile che si disponga di una copia del programma nel proprio PC, in caso contrario occorre eseguire un upload del programma dal PLC.
Upload programma da target
Se chi ha sviluppato il programma ha scelto di eseguire il download sul sistema target anche dei programmi sorgente vedi capitolo Download programma sorgente in questo articolo è possibile eseguirne l’upload per effettuare modifiche. Il programma sorgente è un file compresso Project.rsm che viene salvato sul disco del sistema target nella cartella Plc. E’ possibile eseguirne l’upload direttamente da LogicLab (Menù File->Import project from target) oppure collegandosi in FTP al target e scaricando il file C:\Plc\Project.rsm.
Versioni sistema operativo che permettono l’upload
La presenza del file C:\Plc\Project.rsm sulle versioni firmware a partire dalle versioni riportate di seguito garantisce che il progetto è esattamente corrispondente al programma attualmente in esecuzione. Eseguendo l’upload sarà possibile aprirlo in LogicLab, eseguire le eventuali modifiche e ricaricarlo sul target. Nota: è possibile che aperto il progetto e connettendosi al target in LogicLab appaia l’indicazione di DIFF. CODE, nella apertura vengono aggiornati alcuni campi ad esempio la versione di LogicLab se diversa da quella con cui si è sviluppato il programma.
- SFW184B100: Tutti isistemi ARM 7
- SFW198C300: Sistemi Cortex M7 codici: MPS054A0, MPS054B0, MPS056A0, PCB137B0, PCB137C0, PCB141B0
- SFW210A000: Sistemi Cortex M7 codici: MPS054C0, MPS056B0, PCB137D0, PCB141C0

Backup & restore sistema
Disponibile solo su CPU basate su processori Cortex M7 ed a partire dalla versione Firmware SFW198E000. Se non si è certi di disporre dei programmi sorgenti corretti dell’impianto prima di effettuare modifiche si consiglia di eseguire un backup della situazione esistente in modo da poter in caso di problemi nelle modifiche ripristinare la situazione esistente.
Collegandosi in Telnet al sistema (Vedi articolo) è possibile eseguire il backup completo del sistema con il comando Update -mk efprs C:\File.upl che salva l’immagine nel file File.upl sul disco C interno (Vedi articolo). Se il sistema dispone di SDCard o di pen drive USB è possibile definire l’unità su cui eseguire il backup.
Nel caso il sistema disponga solo del disco C: dato lo spazio disponibile ridotto nel caso non sia possibile eseguire il backup, si consiglia di collegarsi in FTP al sistema, eseguire il salvataggio della cartella C:\Web e di altri files e/o cartelle eventualmente creati dal programma, ed eliminarli dal disco per creare lo spazio necessario. Eseguire il download in FTP del file C:\File.upl per una sua archiviazione sul disco del PC.
Con il comando Update C:\File.upl è possibile eseguire il restore della immagine sul sistema ripristinandone la situazione originale. Nel caso si siano cacellati files o directories occorrerà provvedere al loro ripristino con connessione FTP.
Ambiente di sviluppo LogicLab
Come tutti i programmi anche LogicLab subisce aggiornamenti per correggere eventuali BUGs e per rendere disponibili nuove funzionalità. La politica Axel (Azienda che lo sviluppa) è quella di cercare il più possibile di garantire la compatibilità tra le diverse versioni. Purtroppo a volte gli upgrades costringono ad applicare modifiche al proprio programma, di seguito alcune considerazioni.
XTarget Vs XUnified
I nostri sistemi programmabili sono nati con una architettura denominata XTarget questa soluzione essendo “cablata” in LogicLab costringeva ad aggiornarlo ad ogni aggiornamento dei sistemi. La nuova architettura XUnified permette a LogicLab di adattarsi automaticamente alle nuove versioni del firmware (Vedi articolo).
Versione 5.22.x.xx di LogicLab
Alla apertura del progetto se appare un pop-up di richiesta aggiornamento NON ESEGUIRE L’AGGIORNAMENTO (Vedi articolo). Da questa versione è stato introdotto l’utilizzo delle raccolte di librerie (Vedi articolo).
Apertura progetto con LogicLab
Nello sviluppo di LogicLab si cerca sempre di garantire la compatibilità tra le diverse versioni, quindi per aprire un vecchio progetto presente sul PC o di cui si è eseguito l’upload dal target conviene utilizzare sempre l’ultima versione.
Ricordiamo di verificare la situazione dei controlli di compilazione del programma (Menù Project->Options->Code generation) disabilitando tutti i controlli “restrittivi” che potrebbero non essere stati abilitati nella vecchia compilazione e/o potrebbero essere stati introdotti nelle nuove versioni di LogicLab, vediamoli in dettaglio:
- VAR_IN_OUT by reference (IEC standard=yes)
- Allow only integer indexes for arrays
- Strict pointer check
- Strict enumeration check
- Strict Init values check
- Standard IEC type conversion rules
- SFC control flags (extension to IEC standard)
- Init to zerto of functions internal variables
- Enable preprocessor directives (extension to IEC standard)
- Verbose warning mode

Vediamo alcuni scenari che si potrebbero verificare alla apertura di un vecchio progetto.
Il progetto si compila senza errori, in questo caso vi è completa compatibilità del progetto con l’ambiente di sviluppo ed è possibile eseguire il download del programma sul target. La presenza di eventuali warnings non inficia la funzionalità del programma. Potrebbero già essere state presenti nello sviluppo iniziale.
Non è possibile compilare il progetto a causa di errori di compilazione, fare una copia di sicurezza del progetto, rimuovere tutte le librerie incluse nel progetto, definire nella cartella delle librerie il package Pck055a000.
Se anche dopo avere eseguito queste operazioni non è possibile compilare il progetto, occorre installare una versione precedente di LogicLab e compilare il progetto salvato precedentemente.
