Vai al contenuto

Gestire con comandi Modbus più inverter

Home Forum Inverter vettoriali INVT Gestire con comandi Modbus più inverter

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Autore
    Post
  • #82424
    Gianfranco
    Partecipante

    Dovendo comandare 8 inverter da pannello, ho guardato il topic postato tempo fa che parla proprio di questo.

    La mia domanda è: Se volessi dare il comando di marcia contemporaneamente a tutti gli 8 inverter, qual’è il comando corretto?

    #82426
    Sergio Bertana
    Amministratore del forum

    Per gestire l’inverter da Modbus con i nostri PLC abbiamo realizzato il FB InvtGD20EU, che gestisce tutte le funzioni. Ma mi sembra di capire che tu vuoi gestirlo da un pannello operatore.

    Al capitolo 7 del manuale inverter trovi tutte le informazioni sul protocollo Modbus e trovi anche la tabella con i registri su cui operare per gestire l’inverter da Modbus. Come puoi vedere nella tabella per comandare l’inverter in marcia devi impostare il valore 0001H nel registro Modbus 2000H il valore 0005H forza lo stop.

    Per permettere la gestione da Modbus devi impostare alcuni registri ti rimando al capitolo Comando da Modbus di questo articolo. Naturalmente dovendo gestire più inverter dovrai realizzare una connessione multidrop in RS485 ed assegnare indirizzi di nodo diversi ad ogni inverter.

    Poi sul pannello dovrai configurare la connessione ai singoli inverter e con un comando Modbus 16#06 Preset single register scrivere il valore desiderato nel registro 2000H di tutti gli inverter.

    Attenzione all’offset sull’indirizzo gli indirizzi definiti sul manuale sono i reali indirizzi dei registri (Offset 0), il protocollo Modbus prevede l’offset di 1 sull’indirizzo, quindi se il pannello operatore gestisce correttamente l’offset per accedere al registro 2000H dovrai definire il registro 2001H.

    #82435
    Gianfranco
    Partecipante

    In effetti ho un pannello Weintek MT8072IP dal quale voglio comandare gli 8 inverter. Ho fatto riferimento al tuo progetto postato tempo fa, solo che, con un unico pulsante “Marcia avanti”, volevo comandare contemporaneamente tutti gli inverter.

     

    #82437
    Sergio Bertana
    Amministratore del forum

    Devi configurare come dispositivo server un dispositivo Modbus RTU, configurare la porta con i corretti parametri di comunicazione. Per al comunicazione multidrop dai una occhiata al capitolo Come definire nodo Modbus in comunicazioni RS485 e/o TCP multidrop ? nelle FAQs.

    In pratica si indica il numero di nodo seguito dall’indirizzo della variabile, esempio 01#40016 (Nodo 1, variabile 40016), 02#40016 (Nodo 2, variabile 40016), …. Il numero di nodo và sempre indicato con 2 cifre.

    Ora dovendo dare il comando di marcia e di stop contemporaneamente su più inverter credo che la soluzione più semplice sia realizzare una macro utilizzando la funzione SetData per trasferire il valore di una LW sull’inverter.  Dovrai eseguire una SetData per ogni inverter. Ecco un esempio:

    macro_command main()
    short Command
    
    GetData(Command, "Local HMI", LW, 10, 1) //Leggo valore LW 10
    SetData(Command, "MODBUS RTU (Zero-based Addressing)", 3x, 01#8192, 1) //Comando inverter 1
    SetData(Command, "MODBUS RTU (Zero-based Addressing)", 3x, 02#8192, 1) //Comando inverter 2
    SetData(Command, "MODBUS RTU (Zero-based Addressing)", 3x, 03#8192, 1) //Comando inverter 3
    SetData(Command, "MODBUS RTU (Zero-based Addressing)", 3x, 04#8192, 1) //Comando inverter 4
    
    end macro_command

    Se esgui la macro a tempo scrivendo nella LW 10 i valori di start e di stop gestisci tutti gli inverter. Nota che ho scelto il protocollo MODBUS RTU (Zero-based Addressing), che ha offsert 0 quindi l’indirizzo 2000H -> 8192 l’ho definito senza sommare 1. Ho scritto la macro senza testarla spero funzioni.

    #82461
    Gianfranco
    Partecipante

    Sono ancora a chiedere informazioni.  Dal lato inverter ho effettuato le varie impostazioni dei parametri. Dal lato HMI invece ho dei problemi.

    Il mio è MT8072IP e nelle impostazioni dei parametri di sistema dovrei inserire 8 dispositivi (modbus zero based addressing) assegnando i numeri di stazione e la com2 (19200,E,8,1) come porta di comunicazione. Il problema è che il primo dispositivo me lo lascia inserire, mentre il secondo, mi dice che la com2 è gia’ utilizzata.

    Come posso fare?

    #82463
    Sergio Bertana
    Amministratore del forum

    La porta COM da settare è sempre e solo 1… quella che utilizzi per la connessione con tutti gli inverters.

    Come ho scrito non importa il numero di nodo che definisci nelle impostazioni della porta perchè il protocollo utilizzerà il numero di nodo Modbus definito nell’indirizzo del registro…

    Se vedi la mia macro utilizzo sempre lo stesso device server, sempre lo stesso indirizzo di variabile, cambia solo il nodo Modbus.

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