Vai al contenuto

Gestione comunicazione tra due sistemi SlimLine

Home Forum Controllori SlimLine e Netsyst (LogicLab) Gestione comunicazione tra due sistemi SlimLine

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Autore
    Post
  • #35153
    Enrico Viviani
    Partecipante

    Vorrei chiedere un esempio di programma per mettere in comunicazione tra loro due PLC SlimLine tramite la porta seriale, in modo che questa comunicazione sia “prioritaria” rispetto le altre funzioni.

    Nello specifico, il PLC “B” che si occupa in sostanza di remotizzare alcune funzioni del PLC “A” deve inviare alcuni comandi come fossero degli “Interrupt” al PLC “A” (per chiarire come se il PLC “B” dovesse riportare un pulsante di emergenza verso il PLC “A”, il quale deve intervenire entro un certo tempo in una determinata routine).

    #37110
    Sergio Bertana
    Amministratore del forum

    La comunicazione tra due (O più) sistemi SlimLine può avvenire in due modi, utilizzando la porta seriale, oppure tramite rete Ethernet.

    Per la comunicazione seriale è disponibile il blocco funzione sModbusRTUMaster per la gestione della comunicazione modbus Rtu master. Collegando la seriale di un modulo CPU con la seriale di un altro modulo CPU, oppure creando una rete RS485 tra le seriali di diversi moduli CPU. Su uno dei moduli CPU è possibile realizzare un programma, che utilizzando il blocco funzione sModbusRTUMaster, può leggere e scrivere variabili nella memoria degli altri moduli CPU (Vedi post).

    La comunicazione seriale e di tipo master/slave e ci può essere un solo master nella rete, quindi il modulo con il programma master farà un polling di interrogazione/scrittura dei vari moduli slaves.

    Se invece si utilizza la comunicazione su rete Ethernet, è disponibile il blocco funzione UDPDataTxfer, che permette lo scambio di variabili di memoria con protocollo UDP. La connessione UDP a differenza di quella seriale permette di creare una rete multimaster e quindi nel caso di reti con più di due sistemi i vari sistemi possono scambiarsi dati tra loro senza dover passare (In triangolazione) da un sistema master.

    #37111
    Sergio Bertana
    Amministratore del forum

    Per rispondere alla richiesta iniziale, da quanto si legge sul post precedente è evidente che realizzato lo scambio di memoria tra due sistemi SlimLine, basterà appoggiare nella memoria in scambio variabili BOOL dove si appoggiano gli stati degli I/O da scambiare tra i due sistemi.

    Nella domanda però mancava l’indicazione dei tempi richiesti dalla applicazione, ho realizzato come esempio due programmi uno denominato Master ed uno denominato Slave. Il Master invia tramite modbus su linea seriale 2 ingressi verso lo Slave ed acquisisce 2 ingressi dallo Slave. Se non interessa lo scambio bidirezionale di I/O si può eliminare la parte non interessata.

    Ho testato lo scambio bidirezionale di I/O tra i due sistemi ed ho rilevato tempi di scambio compresi tra 15 e 40 mS. Naturalmente lo scambio unidirezionale, ingressi di un sistema inviati verso l’altro sistema (Come nel tuo caso), richiedono la metà del tempo. Allego stampa e sorgenti programmi Master e Slave di esempio.

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