Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,291 a 1,305 (di 4,379 totali)
  • Autore
    Post
  • in risposta a: Elenco errori programma LogicLab #57836
    Sergio Bertana
    Amministratore del forum

    Con il passaggio alla versione XUnified (Vedi articolo) abbiamo modificato i nomi di alcuni oggetti (Funzioni e FB) e di alcune dichiarazioni di tipo, nel tuo caso il FB ModbusMaster che stai utilizzando è quello sviluppato per i sistemi XTarget, mentre probabilmente stai sviluppando su un sistema XUnified. Cosa fare..

    a) Puoi inserire nel progetto la libreria eLLabXUnifiedAdjLib che contiene l’adattamento degli oggetti alla nuova libreria.

    b) Puoi sostituire il FB ModbusMaster con quello presente nella libreria eLLabObsoleteLib, che è esattamente uguale al precedente ma è stato riscritto per renderlo compatibile con la nuova architettura XUnified.

    c) Puoi sostituire il FB ModbusMaster con la nuova versione (Vedi articolo) effettuando le opportune modifiche sui parametri.

    E’ ovvio che per sfruttare tutte le caratteristiche della nuova architettura XUnified consiglio di utilizzare l’opzione “c”.

    in risposta a: Problemi di compilazione #57830
    Sergio Bertana
    Amministratore del forum

    Con il passaggio alla versione XUnified (Vedi articolo) abbiamo modificato i nomi di alcuni oggetti (Funzioni e FB) e di alcune dichiarazioni di tipo, nel tuo caso il file pointer da FILEP è diventato eFILEP.

    Tu probabilmente stai realizzando un programma per un sistema XTarget12 ma stai utilizzando il FB HWgHTemp485 preso dalla libreria eLLabUtyLib della nuova distribuzione di LogicLab che è già convertita per l’utilizzo su sistemi XUnified.

    Abbiamo previsto per questi casi e per tutti i casi in cui si desideri utilizzare gli esempi del manuale on line sui sistemi XTarget12 una libreria apposita, devi inserire nel tuo progetto la libreria eLLabXTargetAdjLib.

    in risposta a: Versione librerie di supporto #57826
    Sergio Bertana
    Amministratore del forum

    Per ogni oggetto di libreria funzione o FB se fai riferimento al manuale On-Line, qui ad esempio il FB ByteToBit e qui il BitToByte, vedrai che è indicata la libreria in cui l’oggetto si trova, in questo caso entrambi si trovano nella eLLabUtyLib.

    Ora puoi inserire l’intera libreria nel tuo progetto oppure come io consiglio solitamente puoi importare i soli oggetti che ti servono all’interno del tuo progetto, in questa pagina è indicato come fare.

    in risposta a: Problema sintassi, eseguire FB in un programma #57789
    Sergio Bertana
    Amministratore del forum

    Si certo nel blocco funzione devi definire il parametro di ingresso con il suo tipo preceduto dal simbolo “@”, esempio @USINT, @UINT, @REAL, ecc…

    All’interno del FB per agire sul parametro, esempio per incrementarne il valore usi la sintassi:

    @Par:=@Par+1;

    Quando passi l’indirizzo al parametro all’interno del tuo programma utilizzi l’operando ADR(MyVar).

    in risposta a: Comunicazione Ethernet ridondante con S7-400H #57787
    Sergio Bertana
    Amministratore del forum

    Si certo devi riferirti a questi bits

    LB-10100 PLC 4 status (ethernet), set on to retry connection
    LB-10400 PLC 5 status (ethernet), set on to retry connection
    LB-10700 PLC 6 status (ethernet), set on to retry connection

    Tutte le informazioni sui registri di sistema si trovano nel manuale EasyBuilder al capitolo 22 System Registers.

    in risposta a: Comunicazione Ethernet ridondante con S7-400H #57772
    Sergio Bertana
    Amministratore del forum

    Dopo aver cambiato IP con le word menzionate devi renderle attive con i relativi bit di conferma…

    LB-10070 forced to reconnect PLC 4 (ethernet) when IP or system parameters changed on-line (set ON)
    LB-10071 forced to reconnect PLC 5 (ethernet) when IP or system parameters changed on-line (set ON)
    LB-10072 forced to reconnect PLC 6 (ethernet) when IP or system parameters changed on-line (set ON)
    ….

    in risposta a: Problema sintassi, eseguire FB in un programma #57767
    Sergio Bertana
    Amministratore del forum

    Si utilizzano vartiabili di IN_OUT quando il FB deve agire sul valore della variabile, le utilizzi esattamente come le variabili di ingresso e di uscita.

    Se dichiari ad esempio la variabile IOVar di tipo VAR_IN_OUT, questa variabile sarà accessibile sia come ingresso al FB che come uscita.

    DB_MY_FUNC.IOVar:=0; //Assegno un valore alla variabile di ingresso
    DB_MY_FUNC(); //Eseguo il blocco funzione
    Var:=DB_MY_FUNC.IOVar; //Trasferisco valore della variabile di uscita

    Personalmente non utilizzo mai variabili di IN_OUT, quando il FB o la funzione devono agire sul valore di una variabile preferisco passare in ingresso su una variabile IN l’indirizzo della variabile e all’interno della funzione o del FB utilizzo il puntatore alla variabile.

    in risposta a: Problema sintassi, eseguire FB in un programma #57760
    Sergio Bertana
    Amministratore del forum

    Intanto bisogna capire se hai realizzato una funzione od un blocco funzione in questo video spiego le differenze, in questo video spiego come realizzare ed utilizzare un FB.

    Da quello che mi dici visto che lo hai istanziato nel tuo programma ipotizzo sia un blocco funzione, ti rimando al forum per cercare altre informazioni sulle funzioni e i blocchi funzioni (Vedi qui).

    In linea di massima un FB và istanziato (Cioè gli và assegnato uno spazio in memoria definendo una variabile del tipo FB creat), poi nel programma utilizzi la variabile. Ma un FB non ha ritorni quindi puoi riferirti ai sui membri di I/O con il loro nome. Nel tuo caso potrai scrivere qualcosa del tipo…

    DB_MY_FUNC.Input:=0; //Assegno un valore ad una varibile di ingresso
    DB_MY_FUNC(); //Eseguo il blocco funzione
    Var:=DB_MY_FUNC.Output; //Trasferisco valore di una variabile di uscita
    in risposta a: Lettura di 3 temperature da sonde 1-Wire #57748
    Sergio Bertana
    Amministratore del forum

    Le librerie sono in continua evoluzione, ora con il rilascio della versione XUnified dei sistemi operativi tutte le librerie sono state aggiornate per renderle compatibili con la nuova architettura. Quindi per usare le nuove librerie puoi aggiornare il sistema operativo del tuo prodotto oppure inserire nel progetto la libreria eLLabXTargetAdjLib come indicato qui.

    Venendo alla tua domanda nella knowledge base troverai gli esempi che ti interessano in questo articolo trovi come utilizzare il FB OWRdIdentifier per acquisire l’identificatore univoco di ogni sensore.

    In questo articolo troverai esempi per l’acquisizione delle sonde di temperatura, come vedi dal programma in FBD se hai più sonde devi istanziare piu FB OWRdTemperature collegando il Done del primo sull’Enable del successivo e così di seguito. Immaginando la lettura di 3 sonde avremo.

        // Acquires the temperature.
    
        Temp[0].OwID:=OWire.OwID; //One-Wire management ID
        Temp[0].Enable:=NOT(Temp[2].Done); //Enable
        Temp[0](); //Read temperature
    
        Temp[1].OwID:=OWire.OwID; //One-Wire management ID
        Temp[1].Enable:=Temp[0].Done; //Enable
        Temp[1](); //Read temperature
    
        Temp[2].OwID:=OWire.OwID; //One-Wire management ID
        Temp[2].Enable:=Temp[1].Done; //Enable
        Temp[2](); //Read temperature
    in risposta a: Connessione in MPI di un PLC S7 300 con pannello MT8102iE #57744
    Sergio Bertana
    Amministratore del forum

    Si è possibile collegare direttamente il pannello alla porta del PLC senza necessità di adattatori.

    in risposta a: Compiling errors by upgrading to LogicLab Ver. 5.12.0.36 #57719
    Sergio Bertana
    Amministratore del forum

    To support users to the migration to XUnified we have rewritten all the libraries to adapt them to the new specifications. Even if it’s possible in the XUnified targets to use objects and libraries developed for the XTarget systems by adding the eLLabXUnifiedAdjLib library to the project, we suggest to replace them with the new ones properly developed for XUnified targets.

    About your question the ModbusMaster FB has been completely rewritten and called ModbusMaster_v1. The IFTime parameter is not longer needed, the Timeout and Delay parameters now must be defined in seconds.

    The ModbusMaster has become obsolete and like all the other obsolete objects can be found in the eLLabObsoleteLib that has been aligned to the XUnified specifications.

    in risposta a: Protezioni su alimentazione potenza inverter #57714
    Sergio Bertana
    Amministratore del forum

    Per la protezione dell’inverter e del cavo di alimentazione in caso di cortocircuito i fusibili sono sufficienti, altri dispositivi comunque non fanno male, ad esempio un interruttore differenziale (Vedi topic).

    Sul manuale del GD20 alla appendice C “Opzioni e parti periferiche” troviamo le informazioni per il dimensionamento sia del fusibile che dell’interruttore.

    Per la protezione del motore e dei suoi cavi l’inverter protegge il motore e il cavo in situazione di cortocircuito quando il cavo è dimensionato in base alla corrente nominale dell’inverter. Non sono necessari dispositivi di protezione aggiuntivi.

     

    in risposta a: Esportazione contatti email #57710
    Sergio Bertana
    Amministratore del forum

    Si in effetti su cMT-SVR non è possibile, hai bisogno di un cMT con il display o di un pannello. il cMT-SVR non gestisce le componenti ibride.

    in risposta a: Esportazione contatti email #57671
    Sergio Bertana
    Amministratore del forum

    Se intendi la string table, no non è editabile direttamente da HMI ma si può esportare in CSV, modificare e reimportare (Screenshot).

    in risposta a: Esportazione contatti email #57668
    Sergio Bertana
    Amministratore del forum

    Per evitare di cancellare la lista dei contatti devi nei parametri di sistema abilitare il mantenimento dei contatti presenti su HMI se già presenti (Screenshot).

     

Stai visualizzando 15 post - dal 1,291 a 1,305 (di 4,379 totali)