Vai al contenuto

Differenza tra import di libreria ed import di oggetti

Home Forum Informazioni ambiente di sviluppo LogicLab Differenza tra import di libreria ed import di oggetti

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Autore
    Post
  • #35249
    Anonimo
    Inattivo

    Stò realizzando il mio primo programma con LogicLab è mi trovo a dover utilizzare degli oggetti (Blocchi funzione e funzioni) che sono presenti nelle varie librerie che fornite a corredo. Mi trovo nella difficoltà di capire la differenza tra l’importazione della intera libreria e l’importazione dei singoli oggetti.

    Quale tecnica è meglio utilizzare ?

    #37332
    Sergio Bertana
    Amministratore del forum

    Con l’installazione di LogicLab vengono installate anche delle librerie che contengono oggetti (Funzioni e blocchi funzione) utili nello sviluppo del programma. Per utilizzare gli oggetti presenti nelle varie librerie è possibile inserire nel progetto l’intera libreria oppure soltanto gli oggetti utilizzati (Estratto manuale).

    Alcune librerie devono essere obbligatoriamente inserite nel progetto per poter utilizzare gli oggetti presenti, questo perchè la libreria oltre agli oggetti utilizzati nel programma e documentati nel manuale contiene anche oggetti e/o strutture dati utilizzati internamente, pertanto non è possibile importare solo i singoli oggetti. Alla data attuale le librerie di questo tipo sono:

    eModemLib: Libreria gestione modem.
    ePLC1WireLib: Libreria gestione dispositivi One-Wire.
    eNMEALib: Libreria gestione sequenze NMea.

    #37333
    Anonimo
    Inattivo

    Ho realizzato un semplice programma ladder per testare il blocco funzione di lampeggio BLINK, ho importato nel mio progetto la libreria PLCUtyLib per poter disporre della FB. Effettuando la compilazione del programma ho il seguente messaggio.

    Code generation .. aborted.
    IEC62056_21Rd(187) – error A4107:  MemSet => Target function not found


    IEC62056_21Rd(241) – error A4107:  MemSet => Target function not found
    0 warnings, 4 errors.

    Volevo sapere come interpretare gli errori, negli altri casi viene fatto il riferimento al blocco di programma dove è l’errore, i numeri fra parentesi indicano qualcosa ? Se si come posso trovarli nel programma ?

    #37334
    Sergio Bertana
    Amministratore del forum

    Sei incappato in uno dei problemi che si possono manifestare importando nel progetto una intera libreria anzichè i singoli oggetti. Nella fattispecie la libreria PLCUtyLib è un contenitore di oggetti (Funzioni e Blocchi funzione) di varia utilità. Questa libreria non và mai importata nel progetto, ma si devono importare dalla libreria solo gli oggetti che si utilizzano.

    Importanto l’intera libreria quando si compila il progetto, LogicLab esegue la compilazione anche della libreria e nel caso vi siano errori negli oggetti di libreria (Anche se l’oggetto in errore non è utilizzato nel progetto) viene segnalato errore. Nel tuo caso l’errore nasce dal fatto che il blocco funzione IEC62056_21Rd utilizza al suo interno la funzione MemSet che si trova nella libreria ePLCAuxLib.

    Per ogni riga di programma sorgente dove la funzione MemSet è richiamata vi è errore, 4 errori in totale, su ogni riga in errore è ritornato il numero di riga (Tra parentesi). Essendo il blocco funzione IEC62056_21Rd criptato, eseguendo un doppio click sull’errore non è possibile saltare nel programma sorgente, cosa che succederebbe se fosse un blocco funzione libero.

    #39343
    Luca
    Partecipante

    Purtroppo la libreria eLLabUtyLib la devo utilizzare per forza, visto che mi serve la funzione “ModMaster”. Comunque si, il problema era il formato del progetto, provato a salvarlo nel nuovo formato (.plcprj)  e il problema si é risolto.

    #39344
    Sergio Bertana
    Amministratore del forum

    Come ti dicevo gli oggetti della libreria eLLabUtyLib si possono utilizzare singolarmente senza collegare l’intera libreria. Tu devi utilizzare il FB ModbusMaster, benissimo allora nel tuo progetto potrai importare solo quell’oggetto e non collegare tutta la libreria.

    Dal menù Project scegli Import Object from library, poi selezioni la cartella dove si trovano le librerie di LogicLab e scegli la libreria desiderata. Con un doppio click si apre l’elenco di tutti gli oggetti presenti e tu potrai importare nel tuo progetto gli oggetti che ti interessano (Screenshot).

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