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
- Questo topic ha 5 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 9 anni, 2 mesi fa da
Sergio Bertana.
-
AutorePost
-
Luglio 20, 2012 alle 10:10 am #35249
Anonimo
InattivoStò 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 ?
Luglio 20, 2012 alle 10:40 am #37332Sergio Bertana
Amministratore del forumCon 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.Luglio 20, 2012 alle 12:05 pm #37333Anonimo
InattivoHo 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 ?
Luglio 20, 2012 alle 12:14 pm #37334Sergio Bertana
Amministratore del forumSei 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.
Febbraio 5, 2016 alle 2:53 pm #39343Luca
PartecipantePurtroppo 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.
Febbraio 6, 2016 alle 7:28 am #39344Sergio Bertana
Amministratore del forumCome 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).
-
AutorePost
- Devi essere connesso per rispondere a questo topic.