Vai al contenuto

Comunicazione Modbus con PLC Elsist

Home Forum Terminali operatore (Weintek) Comunicazione Modbus con PLC Elsist

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Autore
    Post
  • #48586
    Giuseppe Cattaneo
    Partecipante

    Ho un applicazione che usa uno SlimLine Ethernet e un terminale MT8051iP che comunicano tra loro via Modbus TCP. Nei parametri di sistema del pannello ho selezionato come tipo di dispositivo MODBUS TCP/IP via ethernet, per non incappare nel problema dello shift di 1 negli indirizzi.

    Ora vorrei replicare la stessa identica applicazione ma facendo comunicare PLC e pannello tramite porta seriale per lasciare libera la ethernet del PLC. Come devo fare?

    Mi basta selezionare come tipo di dispositivo MODBUS RTU, RTU over TCP? Nel software del PLC devo cambiare qualcosa negli indirizzamenti?

    #48589
    Sergio Bertana
    Amministratore del forum

    Per comunicare con i PLC SlimLine puoi usare indifferentemente il protocollo MODBUS TCP/IP che ELSIST MODBUS, in entrambi i casi lo shift di 1 sull’indirizzamento è automaticamente corretto (Rimane il dover dividere per 2 l’indirizzo delle variabili WORD/DWORD/REAL).

    Quando dici lasciare libera la porta Ethernet immagino tu intenda che devi collegare altri devices Ethernet e non vuoi utilizzare una switch di rete. Perchè sulla connessione Ethernet di default puoi connettere contemporaneamente più dispositivi Modbus TCP (E’ possibile configurare il numero, di default sono 3).

    Scegliendo la connessione seriale conviene impostare MODBUS RTU e non devi fare altro. Da pagina web è possibile impostare il protocollo gestito (Over IP/RTU/Ascii, default RTU),  attenzione alla impostazione dei parametri corretti di comunicazione (Modificabili da pagina web, default 115200, e, 8, 1).

    #48590
    Giuseppe Cattaneo
    Partecipante

    Ok, perfetto.

    La porta ethernet la devo lasciare libera perchè mi ci devo collegare con  la rete aziendale che tramite MES dovrà prelevare alcune informazioni e nel mini quadretto che mi compone il dispositivo non ho lo spazio fisico per inserire anche uno switch. Mi interessava essere sicuro che tra i due tipi di modbus non ci fossero differenze negli indirizzi.

    Strana la cosa dello shift sull’indirizzamento… perchè io mi ricordo che sul primo che ho configurato avevo sta problematica e quindi sono passato su modbus IDA per aggirarla…

    #48594
    Sergio Bertana
    Amministratore del forum

    Il problema dello shift sull’indirizzamento Modbus purtroppo è un problema atavico, per evitare di indicare indirizzo 0 Movicon ha creato lo shift. In pratica nel master (Nel nostro caso l’HMI) si definisce indirizzo 1 ma in realtà nel protocollo viene passato l’indirizzo 0 e così di seguito.

    Molti sistemi Modbus però non gestiscono correttamente lo shift ecco perchè a volte occorre sommare/sottrarre 1 all’indirizzo. Weintek per sopperire a questo problema nel protocollo MODBUS IDA ha aggiunto la scelta Zero-based Addressing che evita di sottrarre 1 all’indirizzo inviato sul protocollo.

    #50298
    Marcello
    Partecipante

    Buongiorno, volevo sapere se via ModBus da terminale Weintek sia possibile accedere alle memorie di sistema in sola lettura %MW0.130, %MW0.132 e %MB0.567.

    #50301
    Sergio Bertana
    Amministratore del forum

    No l’unico Data Block accessibile da Modbus è il DB100 accessibile con indirizzo Modbus 40000. Le System variables di sola lettura a cui tu fai riferimento sono mappate nel DB 0 e sono accessibili da programma utente con il loro indirizzo o meglio con il loro mnemonico, ma non possono essere lette da Modbus. La stessa cosa dicasi per le System variables di lettura e scrittura mappate nel DB 1.

    Se ti serve accedere a queste variabili da Modbus li devi appoggiare ad una variabile allocata nel DB100.

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