Vai al contenuto

Inserimento dati tramite FB ModbusMaster

Home Forum Programmazione IEC 61131 (LogicLab) Inserimento dati tramite FB ModbusMaster

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • #83999
    Ufficio Tecnico
    Partecipante

    Ho una apparecchiatura che dovrei comandare in Modbus, stò utilizzando il blocco funzione ModbusMaster_V3.

    Nel Buffer ho inserito ADR(VELOCITA_CMD) dove la variabile è configurata come intero:

    VELOCITA_CMD: INT; (* VELOCITA COMANDO *)

    Se inserisco un valore positivo l’apparecchiatura accetta il valore se invece inserisco un valore negativo l’apparecchiatura non accetta il valore e rimane quello vecchio

    Cosa sbaglio ?

    #84001
    Concetto
    Partecipante

    Buon giorno

    Bisognerebbe avere più informazioni sull’apparato da comandare, sul tipo di registro e sul range di informazioni che accetta.

     

    #84021
    Sergio Bertana
    Amministratore del forum

    Il FB ModbusMaster invia il dato al tuo dispositivo utilizzando i comandi

    • 16#06 Preset single register (Se scrivi un solo registro)
    • 16#10 Preset multiple registers (Se scrivi più registri)

    In entrambi i casi se i valori sono espressi su una variabile a 16 bit il dato presente nella variabile è inviato al dispositivo slave. Da quello che dici sembra sia il tuo dispositivo slave a non accettare valori negativi.

    Come dice giustamente Concetto occore verificare la documentazione del tuo dispositivo.

    #84067
    Ufficio Tecnico
    Partecipante

    Risolto

    Per il comando di velocita’ nel dispositivo si devono scrivere due WORD

    Quindi  la variabile da INT diventa DINT

    VELOCITA_CMD: DINT; (* VELOCITA COMANDO *)

    e nel blocco ModbusMaster scrivo

    FCODE –> 16#10

    POINTS –> 2

    Ora funziona

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