Vai al contenuto

Problema nell’utilizzo della libreria eLLabDataExchLib

Home Forum Programmazione IEC 61131 (LogicLab) Problema nell’utilizzo della libreria eLLabDataExchLib

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

    Sto riscontrando un problema non so dire se legato al nuovo ambiente di sviluppo versione 9.1.30.0 o alle nuove librerie Pck055a000. in particolare con i blocchi funzione TCPDataExchServer e TCPDataExchClient. Ho convertito un vecchio progetto compilato con la versione 3.1.1.0 e funzionante che utiliza la libreria eLLabDataExchLib versione 2.1.0.

    Per la nuova release ho deciso di migrare alla nuova versione di Logilab (9.1.30.0), dal progetto originale ho rimosso i riferimenti alle vecchie librerie, scaricato il pacchetto di libreria PCK055A010. Ho anche aggiornato il firmware del modulo CPU Slimline MPS054C100 alla versione PCK054B000, tutti questi passaggi sono stati realizzati su due moduli CPU identici.

    • Code: MPS054C100 Nr: 857, Firmware: SFW210B040, Bootloader: SFW209A000, TargetID: Mps054_XUnified_1_0
    • Code: MPS054C100 Nr: 859, Firmware: SFW210B040, Bootloader: SFW209A000, TargetID: Mps054_XUnified_1_0

    Una CPU si connette all’altra utilizzndo i blocchi funzione TCPDataExchServer e TCPDataExchClient.

    Il problema è proprio qui. Subito dopo aver scaricato il probramma nel PLC che opera come slave questo si connette al PLC server ma se la connessione si interrompe (operazione eseguita volontariamente per test) non sembra ripristinarsi. Neanche il riavvio sembre funzionare.

    Se utilizzo la vecchia installazione di LogicLab e le vecchie librerie tutto funziona come previsto. Ho attivato la console di spionaggio sia sul server che sul client.
    Lato server:

    [Admin]> SPYDATA
    Spy data active, type "Ctrl-C" to exit...
    01:31:24.195962|_TCPDataExchServer:Er|Error:10061100
    01:31:32.239276|_TCPDataExchServer:Er|Error:10061100
    01:31:40.285841|_TCPDataExchServer:Er|Error:10061100

    Lato client:

    Non ho log dalla console di spionaggio!

    Avete qualche suggerimento?

    #74743
    Paolo
    Partecipante

    La cosa strana è che:

    Dopo aver scollegato il plc ‘master’, quello che agisce da server, e averlo ricollegato alla rete, se disabilito il blocco funzione TCPDataExchClient  ‘manualmente’ cambiando lo stato della variabile Connect e poi lo riabilito, la connessione tra i due sistemi viene ripristinata.

    TCPClient(Enable:=Connect)

    Così ho pensato ad un workaround, con questo codice sirende la riconessione automatica:

    etof(PT:=2000);
    etof.IN:=TCPClient.Fault;
    TCPClient(Enable:=NOT etof.Q);
    #74751
    Sergio Bertana
    Amministratore del forum

    Ho testato lo scenario che hai descritto utilizzando il programma ST_TCPDataExchServer preso da questo articolo, ed il programma ST_TCPDataExchClient preso da questo articolo ma non riesco ad evidenziare il problema.

    Staccando il sistema server dalla rete e poi ricollegandolo il sistema client si riconnette.

    La connessione è segnalata dalla variabile Active nella struttura dati TCPDEXCHNODEDEFS. Hai definito un valore nella varibile TxHeartbeat nella struttura dati TCPDEXCHNODEDEFS sia del sistema server che del client…

    #74762
    Paolo
    Partecipante

    intanto grazie del supporto.

    ho riverificato il codice in particolare il valore di heartbeat ed effettivamente sul client era 1 secondo e non 10 come sul server.

    …sono mortificato

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