Ricerca
MENU
  • Espressioni
  • Architettura di sistema per tipo di progetto
  • Utenti e autorizzazioni
  • Configurazione

    Modbus è un protocollo di comunicazione aperto. In genere viene utilizzato per l'integrazione con i dispositivi HVAC.

    Il Core viene fornito con tre terminali di bus. Oltre al bus interno TapHome supportano anche Modbus RTU. La porta LAN su Core supporta Modbus TCP. Ciò significa che non è necessario acquistare alcun dispositivo aggiuntivo da TapHome per connettersi ai dispositivi Modbus.

    Impostare

    In Impostazioni → Hardware → Modbus, definisci nuova interfaccia:

    • Modbus RTU (Definisci terminale: BUS1, BUS2 o BUS3)
    • Modbus TCP (definire l'indirizzo IP per ciascun dispositivo)

    Se si utilizza Modbus RTU (tramite cavo RS485), assicurarsi che il terminale a cui è collegato il dispositivo Modbus non sia utilizzato per TapHome Bus. Tenere presente che è possibile utilizzare più di un dispositivo Modbus sullo stesso BUS, ma devono utilizzare le stesse impostazioni Modbus generali (Baudrate, Parity, Bit di dati, Bit di stop) e ID slave specifico per ciascun dispositivo collegato.

    Non è possibile combinare i dispositivi Modbus RTU con i dispositivi TapHome Bus su un terminale. Entrambe le interfacce sono elettricamente compatibili, ma utilizzano un protocollo di comunicazione completamente diverso.

    Impostazioni generali di comunicazione Modbus (fornite dal produttore nel manuale)

    Implementazione all'interno di Taphome:

    Tabella di comunicazione Modbus fornita dal produttore

    Implementazione all'interno di Taphome

    Se la comunicazione non funziona nel seguente test, provare a modificare gli indirizzi dei registri di -1 o +1 rispetto ai valori nella tabella. Questo di solito aiuta.

    Nell'interfaccia Modbus RTU o Modbus TCP, è possibile aggiungere una serie di dispositivi dal modello: https://taphome.com/support/15695874, oppure definire il proprio :

    Tipi di dispositivi Modbus supportati

    Utilizzare tipi di dispositivi generici per definire l'integrazione Modbus personalizzata:

    Tipo di dispositivo

    Visualizzazione

    Variabile per le espressioni di scrittura

    Termometro


    -- sola lettura --

    Termostato


    Se

    Interruttore


    St

    Interruttore multi-valore

    Mu

    Dimmer / Uscita analogica


    Le

    Contatore elettrico


    -- sola lettura --

    Wrapper Modbus


    -- sola lettura --

    Contatto Reed


    -- sola lettura --

    Variabile

    Va

    Leggere e scrivere valori

    Tipi di registri Modbus

    • C - Bobina (1 bit, lettura / scrittura)
    • SC - Single Coil (1 bit, lettura / scrittura)
    • D - Ingresso discreto (1 bit, sola lettura)
    • H - Registro di mantenimento (16 bit, lettura / scrittura)
    • SH - Registro di mantenimento singolo (16 bit, lettura / scrittura)
    • A - Ingresso analogico (16 bit, sola lettura)

    I tipi di registro 'S' sono solo per le funzioni di scrittura e dovrebbero essere usati per dispositivi che non supportano la scrittura su più registri contemporaneamente.

    Tipi di dati

    • Int16 (-32,768 to 32,767)

    • Uint16 (0 to 65,535)

    • Int32 (-2,147,483,648 to 2,147,483,647)

    • Uint32 (0 to 4,294,967,295)

    • Float (IEEE 754 Single precision floating point)

    • Bool – (-inf, 0> = false, (0, inf) = true

    • BigEndianInt16

    • LittleEndianInt16

    • BigEndianUint16

    • LittleEndianUint16

    • BigEndianInt32

    • LittleEndianInt32

    • BigEndianUint32

    • LittleEndianUint32

    • BigEndianFloat

    • LittleEndianFloat

    BigEndian è l'impostazione predefinita per ciascun tipo di dati, ad esempio Int32 è uguale a BigEndianInt32.

    MODBUSR (MODBUS READ)

    MODBUSR(register_type, register_address, data_type)
    Example: MODBUSR(H, 20, Int16)/100

    Restituisce il valore del registro di mantenimento sull'indirizzo 20 in formato int16 e lo divide per 100.

    MODBUSW (MODBUS WRITE)

    MODBUSW(register_type, register_address, data_type, value_to_write)
    Example: MODBUSW(H, 20, Int16, Te/100)

    Scrive la temperatura del sensore divisa per 100 int int16 nel registro 20 di mantenimento.

    MODBUSWNE (MODBUS WRITE NOT EQUAL)

    Scrive nel registro solo se il valore corrente è diverso. Legge il valore, controlla se è uguale e scrive nel registro in caso contrario. Utile per salvare la memoria EEPROM.

    MODBUSWNE(register_type, register_address, data_type, value_to_write)
    Example: MODBUSWNE(H, 20, Int16, Te/100)

    Prima legge il valore dal registro di mantenimento sull'indirizzo 20 nel formato int16, lo confronta con la temperatura del sensore di temperatura divisa per 100 e solo se i valori sono diversi scrive la temperatura del sensore divisa per il formato 100 int16 nel registro di tenuta 20.

    Gli indirizzi di registro possono anche essere scritti in formato esadecimale, ad esempio 20 è uguale a 0x14.

    Espressioni

    Segui questo link per trovare ulteriori informazioni sulle espressioni: https://taphome.com/support/41123985