Vai al contenuto

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

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • #35612
    Oscar
    Partecipante

    Stò 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 ?

    #38386
    Sergio Bertana
    Amministratore del forum

    Intanto 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.

    #38397
    Oscar
    Partecipante

    Grazie 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.

    #38399
    Sergio Bertana
    Amministratore del forum

    Da 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.

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