Vai al contenuto

Acquisizione registri con protocollo Modbus RTU

Home Forum Controllori SlimLine e Netsyst (LogicLab) Acquisizione registri con protocollo Modbus RTU

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Autore
    Post
  • #35324
    Anonimo
    Inattivo

    Ho acquistato un analizzatore di rete trifase S203TA della SENECA con uscita MODBUS RTU e volevo leggere dei registri con il controllore SlimLine ARM7 attraverso il FB MobusMaster di LogicLab.

    Seguendo altri post del forum non sono riuscito a creare una comunicazione. Potreste indicarmi come realizzare una routine (sia in ST che in LD) che ad intervalli regolari acquisisca un qualsiasi registro del dispositivo.

    #37565
    Sergio Bertana
    Amministratore del forum

    Cerco di darti una idea di come realizzare il programma che desideri, il modo più semplice è di utilizzare il blocco funzione ModbusRTUMaster_v1 che è l’ultima evoluzione del blocco funzione di gestione modbus master di cui allego estratto documentazione. La caratteristica di questo blocco funzione è che può essere eseguito in cascata, cioè terminata l’esecuzione di una istanza può iniziare l’esecuzione di un’altra istanza. Ogni istanza eseguirà la lettura o la scrittura di uno specifico registro e così inserendo più le istanze potrai gestire tutti i registri che ti occorrono.

    Ti ho realizato un semplice programma ladder che esegue la lettura di 3 registri, come vedi dalla stampa del programma ho definito 3 istanze della FB che ho denominato Reg1, Reg2, Reg3, ogni istanza esegue la lettura (Comando 03) di un registro dell’analizzatore. L’uscita Done di ogni istanza attiva l’istanza successiva e l’ultima istanza fà ripartire la sequenza. Per temporizzare la comunicazione basta definire opportunamente il tempo nel parametro Delay.

    Naturalmente questa è una idea, per i registri consecutivi conviene usare una unica istanza definendo in Points il numero di registri da leggere. Attenzione all’indirizzo modbus del registro, modbus ha un offset di 1 che alcuni dispositivi non gestiscono, percui se non ti torna la lettura prova a sommare/sottrarre 1 all’indirizzo del registro definito in Address, download programma.

    #37566
    Sergio Bertana
    Amministratore del forum

    Per completezza e per evidenziare come sia molto più flessibile la programmazione in linguaggio ST ecco il programma di prima che gestisce l’acquisizione di 3 registri dell’analizzatore ST203TA Seneca di cui allego manuale utente per avere un riferimento ai registri.

    Come si vede dalla stampa del programma di comunicazione, viene utilizzata una sola FB di comunicazione modbus, e tramite un CASE viengono definiti i vari registri da leggere. Nei vari cases ho inserito anche il codice funzione per permettere di avere cases di lettura registro misti a cases di scrittura registro. Basterà inserire nuovi cases per accedere a tutti i registri desiderati, download programma.

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