LogicLab, migrazione progetti su versione 5.22.x.xx

List

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

Come tutti i programmi anche LogicLab subisce aggiornamenti per correggere eventuali BUGs e per rendere disponibili nuove funzionalità. La politica Axel (Azienda che sviluppa LogicLab) è quella di cercare il più possibile di garantire la compatibilità tra le diverse versioni. Purtroppo a volte il passaggio alle nuove versioni del compilatore costringe ad applicare modifiche al proprio programma. Può sucedere che nella nuova versione sia stato corretto un BUG di compilazione che veniva sfruttato nel proprio programma in modo più o meno esplicito o voluto. E’ chiaro che in questo caso la compilazione del vecchio programma genererà warning o errore in base alla gravità della situazione.

Utilizzo versioni precedenti di LogicLab

Le nuove versioni di LogicLab compilano i vecchi progetti, ma è comunque possibile installare la /le nuova versione mantenendo la/le versioni precedenti. LogicLab utilizza meno di 100Mb di spazio su disco. Consigliamo comunque di utilizzare sempre l’ultima versione per lo sviluppo dei nuovi programmi.

Utilizzo versione 5.22.x.xx di LogicLab

Con la nuova versione di LogicLab si possono aprire i vecchi progetti senza effettuare modifiche. Nota: alla apertura del progetto se le librerie incluse sono rimaste linkate alla cartella delle librerie appare un pop-up di richiesta aggiornamento, rispondere NO, NON ESEGUIRE L’AGGIORNAMENTO.

Nel caso siano state aggiornate le librerie copiare dalla cartella PreviousVersions la versione precedente del progetto.

Screenshot apertura progetto LogicLab

Questa versione ha aggiunto controlli sulla sintassi del programma quindi possono insorgere alcune warnings in compilazione che non inficiano la funzionalità del programma compilato. La normativa IEC impone il controllo sul tipo di puntatori, le precedenti versioni non segnalavano condizione di errore se un pointer di un tipo puntava ad una variabile di tipo diverso, nella nuova versione viene segnalato errore, disattivare il controllo Project->Option->Code Generation->Strict pointers check.

Per compilare i progetti preesistenti con la nuova versione fare riferimento alla tabella che mette in relazione le versioni del sistema operativo delle varie linee di prodotto con le versioni della libreria eLLabXUnified12Lib.

Versione FirmwareeLLabXUnified12Lib fino a SFR094A030eLLabXUnified12Lib da SFR094A040
Sistemi ARM7, fino a SFW184C030 (PCK049A020)
Sistemi CortexM7, fino a SFW198E040 (PCK051B040)
Sistemi Raspberry, fino a SFR093B060
Il programma è compilabile senza modifiche.
Disattivare il controllo Project->Option->Code Generation->Strict pointers check
Non è possibile utilizzare questa libreria con le vecchie versioni di sistema operativo.
Sistemi ARM7, da SFW184C040 (PCK049A030)
Sistemi CortexM7, da SFW198E050 (PCK051B050)
Sistemi Raspberry, da SFR093C000
Il programma è compilabile senza modifiche.
Disattivare il controllo Project->Option->Code Generation->Strict pointers check
Si utilizza questa opzione solo se occorre utilizzare nuovi oggetti di libreria nel programma esistente. In questo caso occorre aggiungere al progetto le librerie eLLabCommonLib e eLLabDTimeAdjLib.

Migrazione progetti

Il consiglio è di eseguire l’upgrade dei vecchi progetti in modo da mantenerli aggiornati. La nuova versione di LogicLab ha implementato nuovi e più rigorosi controlli sulla sintassi del programma ed attivando il controllo sul tipo di puntatori, nell’importazione dei progetti è possibile incappare in warnings ed errori che devono essere risolti con modifiche al programma.

Nella nuova versione vi sono tutte le librerie aggiornate quindi occorre:

  • Sostituire tutte le librerie presenti nel progetto con le nuove versioni di libreria compresa la eLLabXUnified12Lib.
  • Inserire nel progetto la libreria eLLabCommonLib.
  • Sostituire tutti gli oggetti di libreria presenti nel progetto con gli oggetti importati dalle nuove versioni di libreria, menù Project->Import object.
  • Eliminato definizione eVOID, definire il tipo esatto. Nel dubbio definire tipo BYTE.
  • Aggiunto tipo PVOID puntatore void (Vedi articolo), nei vecchi progetti veniva utilizzato il tipo @eVOID, trasformare le definizioni @eVOID in PVOID.
  • Per garantire il controllo sui puntatori consiglio di abilitare la spunta su menù Project->Options->Code Generation->Strict pointers check.
Was this article helpful?