Errore in compilazione da XTarget 11 a XTarget 10
Home › Forum › Informazioni ambiente di sviluppo LogicLab › Errore in compilazione da XTarget 11 a XTarget 10
- Questo topic ha 3 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 12 anni fa da
Sergio Bertana.
-
AutorePost
-
Agosto 27, 2014 alle 7:29 am #35612
Oscar
PartecipanteStò utilizzando LogicLab 2.2.1.0 build 3.14.0.5 con l’ottimo simulatore selezionando ovviamente come target XTarget 11.
Per compilare per il modulo CPU reale, uno SlimLine MPS050*010 CPU Compact ARM7 Relé (versione base a relè) release 10, con l’aggiunta della espansione I/O PCB124*500.seleziono il tipo di target del mio dispositivo (XTarget 10) ma quando tento di compilare ottengo il messaggio:
Code generation .. aborted. ePLCUtyLib(2953) – error A4097: SPY_BINARY => Object not found 0 warnings, 1 errors.
Allora non posso che selezionare di nuovo come Target la release 11, compilo, ottengo il warning circa il differente ID, proseguo e sembra che lo SlimLine accetti il codice. Ho verificato le librerie, ma mi sembrano aggiornate. Potreste aiutarmi ?
Agosto 27, 2014 alle 7:37 am #38386Sergio Bertana
Amministratore del forumIntanto ti ricordo che puoi eseguire l’upgrade del firmware del modulo CPU e trasformarlo in un XTarget 11 (Vedi nota).
Ora vediamo di mettere un pò di ordine e cercare di spiegare l’origine del tuo problema. A partire dalla versione SFW184A800 del sistema operativo (Target 11) è stata introdotta la funzione SysSpyData, SPY_BINARY è una definizione che indica il tipo di spionaggio (In questo topic trovi ulteriori informazioni).
Ma da quanto mi sembra di capire dall’errore tu non stai utilizzando la funzione ma hai semplicemente fatto l’errore che fanno in molti, hai importato nel progetto la libreria ePLCUtyLib (Screenshot). Questa libreria è un repository di funzioni e blocchi funzione, non và importata nel progetto ma occorre importare da questa libreria i soli oggetti che servono, ti riporto un estratto del manuale programmazione IEC61131-3 che tratta l’argomento.
Importando l’intera libreria nel progetto LogicLab durante la compilazione esegue un controllo sintattico su tutti gli oggetti presenti anche se non utilizzati e la versione della libreria ePLCUtyLib che tu hai importato utilizza riferimenti alla definizione SPY_BINARY.
Quindi la soluzione al problema è eliminare la libreria dal tuo progetto, e se nel progetto utilizzi oggetti presenti nella libreria, esegui l’importazione dei soli oggetti utilizzati.
Settembre 1, 2014 alle 9:28 pm #38397Oscar
PartecipanteGrazie per il suggerimento. Effettivamente, come spiega bene la pagina del manuale, l’importazione degli oggetti è una scelta migliore piuttosto che importare le librerie. Credo che d’ora in avanti farò così.
Ho notato anche un sensibile miglioramento dei tempi di download sullo SlimLine del codice compilato.
Settembre 2, 2014 alle 6:45 am #38399Sergio Bertana
Amministratore del forumDa quello che dici riguardo ai tempi di download sullo SlimLine del codice compilato, mi sembra di capire che non hai modificato l’opzione di default di eseguire il download del codice sorgente insieme alla applicazione. Questo ti porta a scaricare nel target (SlimLine) il codice sorgente ad ogni download con un incremento notevole del tempo di download. Ti consiglio nel menù Project -> Option di modificare la scelta (Screenshot), ti rimando a questo topic per ulteriori informazioni.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.