Vai al contenuto

Modbus RTU

Protocollo Modbus RTU

Modbus RS485 (anche comunemente chiamato Modbus RTU) è un protocollo di comunicazione seriale ampiamente utilizzato in ambito industriale, soprattutto per l'interfacciamento con misuratori, inverter, contatori di energia e altri dispositivi di automazione. Il bus RS485 consente di collegare più dispositivi (fino a 32) su un'unica linea seriale, utilizzando un collegamento entra-esci in grado di coprire grandi distanze. Permette di leggere e scrivere variabili (registri) sui dispositivi collegati.

Il Gateway AL300 può agire da master Modbus, interrogando i dispositivi slave collegati al bus RS485.

Collegamento fisico

AL300 ha due porte RS485 indipendenti, che gli consentono di comportarsi da Modbus master e di interrogare dispositivi Modbus slave

RS485

Porta 1:

  • A1
  • B1
  • GND

Porta 2:

  • A2
  • B2
  • GND

Configurazione

  1. Scegliere la sorgente dati Modbus RTU generico

    Pick

  2. Selezionare la porta seriale da utilizzare (1 o 2) e l'id dello slave Modbus da interrogare. Per modificare i parametri della porta seriale (Baudrate, parità, bit di stop) vedi qui. Per procedere è necessario avere a disposizione la documentazione (tabella dei registri) messa a disposizione dal produttore dello slave Modbus.

    Connection

  3. Scegliere se usare la numerazione per registri (1-based) o per indirizzi (0-based) e impostare l'ordine dei byte e, se necessario, delle word (nella documentazione sono indicati come big endian/little endian o LSB (least significant byte)/MSB (most significant byte)). Endianness

  4. Cliccare su Aggiungi variabile. Per importare o modificare massivamente la tabella, vedi configurazione massiva. Per ogni variabile di interesse è possibile impostare:

    • Nome e metadata (vedi qui per approfondire)
    • Topic. Può essere:
      • Info: informazioni sulla connessione (variabile dispositivo disconnesso e variabile errore di lettura)
      • Holding registers: funzioni modbus 3 (in lettura) e 6/16 (in scrittura)
      • Input registers: funzione modbus 4 (in lettura)
      • Coils: funzioni modbus 1 (in lettura) e 5/15 (in scrittura)
      • Discrete inputs: funzione modbus 2 (in lettura)
    • Address/Register: Può essere espresso in decimale o esadecimale e può essere indicato come indirizzo (0-based) o come registro (1-based) a seconda dell'impostazione Addressing indicata sopra alla tabella. Per ciascun registro è necessario impostare la codifica (data type) corretta. I tipi di dato disponibili sono:
      • 8bit_uint: intero senza segno a 8 bit
      • 16bit_uint: intero senza segno a 16 bit
      • 32bit_uint: intero senza segno a 32 bit
      • 64bit_uint: intero senza segno a 64 bit
      • 8bit_int: intero con segno a 8 bit
      • 16bit_int: intero con segno a 16 bit
      • 32bit_int: intero con segno a 32 bit
      • 64bit_int: intero con segno a 64 bit
      • 8bit_bsint: intero con segno a 8 bit, most significant bit indica il segno (0=positivo, 1=negativo)
      • 16bit_bsint: intero con segno a 16 bit, most significant bit indica il segno (0=positivo, 1=negativo)
      • 32bit_bsint: intero con segno a 32 bit, most significant bit indica il segno (0=positivo, 1=negativo)
      • 64bit_bsint: intero con segno a 64 bit, most significant bit indica il segno (0=positivo, 1=negativo)
      • 16bit_float: numero in virgola mobile a 16 bit (half-precision)
      • 32bit_float: numero in virgola mobile a 32 bit (single-precision)
      • 64bit_float: numero in virgola mobile a 64 bit (double-precision)
      • string: stringa di caratteri ASCII (è necessario specificare la lunghezza in caratteri)
      • bits: array di bit (è necessario specificare l'indice 0-based (0-15) del bit all'interno del registro)
    • Scala (vedi qui per approfondire)
    • Salva su (vedi qui per approfondire)

    Variable

  5. Effettuare un test di lettura della variabile appena creata cliccando sul pulsante Read nella colonna delle azioni. Se la lettura ha successo, il valore letto verrà mostrato nella colonna.

    Test read

  6. Ripetere i passaggi 4 e 5 per tutte le variabili di interesse, quindi cliccare su Avanti per arrivare al tab Metadati.

  7. Qui è possibile dare un nome ed un'eventuale descrizione alla sorgente dati. È possibile anche indicare dove inserire la sorgente dati all'interno della gerarchia di dispositivi. In questo modo è possibile organizzare i dispositivi in gruppi logici (es. reparti, linee di produzione, edifici, ecc).

    Metadata

  8. Cliccare su Salva. Una volta chiusa la finestra:

    • se si sta utilizzando l'interfaccia web locale, le modifiche sono state applicate con successo
    • se si sta operando tramite cloud la configurazione è stata salvata e inserita in una coda di invio. Fino a che la configurazione non sarà applicata verrà mostrato un ⚠ triangolo giallo nella parte superiore della pagina di configurazione dell'AL300.
      • se l'AL300 è online allora viene inviata immediatamente all'AL300.
      • se l'AL300 è offline verrà inviata quando la connessione sarà nuovamente stabilita.