Zoeken
MENU
  • Uitdrukkingen
  • Systeemarchitectuur per projecttype
  • Gebruikers en machtigingen
  • Configuratie

    Modbus is een open communicatieprotocol. Het wordt meestal gebruikt voor integratie met HVAC-apparaten.

    Core wordt geleverd met drie bus-terminals. Naast de interne bus van TapHome ondersteunen ze ook Modbus RTU. De LAN-poort op Core ondersteunt Modbus TCP. Dit betekent dat u geen extra apparaat van TapHome hoeft te kopen om verbinding te maken met Modbus-apparaten.

    Opstelling

    Definieer in Instellingen → Hardware → Modbus een nieuwe interface:

    • Modbus RTU (definieer terminal: BUS1, BUS2 of BUS3)
    • Modbus TCP (definieer IP-adres voor elk apparaat)

    Als u Modbus RTU gebruikt (via RS485-kabel), moet u ervoor zorgen dat de terminal waarop uw Modbus-apparaat is aangesloten, niet wordt gebruikt voor TapHome Bus. Houd er rekening mee dat u meer dan één modbus-apparaat op dezelfde BUS kunt gebruiken, maar dat ze dezelfde algemene modbus-instellingen (Baudrate, Parity, Data Bits, Stop Bits) en specifieke Slave ID voor elk aangesloten apparaat moeten gebruiken.

    Het is niet mogelijk Modbus RTU-apparaten te combineren met TapHome Bus-apparaten op één terminal. Beide interfaces zijn elektrisch compatibel, maar gebruiken een volledig ander communicatieprotocol.

    Algemene instellingen Modbus-communicatie (geleverd door de fabrikant in de handleiding)

    Implementatie binnen Taphome:

    Modbus-communicatietabel verstrekt door de fabrikant

    Implementatie binnen Taphome

    Als de communicatie niet werkt in de volgende test, probeer dan de adressen van de registers te wijzigen met -1 of +1 in vergelijking met de waarden in de tabel. Dit helpt meestal.

    In Modbus RTU of Modbus TCP-interface kunt u een set apparaten toevoegen vanuit de sjabloon: https://taphome.com/support/15695874, of uw eigen definiëren :

    Ondersteunde Modbus-apparaattypen

    Gebruik generieke apparaattypen om aangepaste Modbus-integratie te definiëren:

    Soort apparaat

    Visualisatie

    Variabel voor schrijfuitdrukkingen

    Temperatuursensor


    -- alleen lezen --

    Thermostaat


    Se

    Schakelaar


    St

    Multi-waarde schakelaar

    Mu

    Dimmer / analoge uitgang


    Le

    Elektriciteits meter


    -- alleen lezen --

    Modbus Wrapper


    -- alleen lezen --

    Reed contact


    -- alleen lezen --

    Veranderlijk

    Va

    Waarden lezen en schrijven

    Soorten Modbus-registers

    • C - Coil (1-bit, lezen / schrijven)
    • SC - Single Coil (1-bit, lezen / schrijven)
    • D - Discrete invoer (1-bit, alleen lezen)
    • H - houdregister (16-bit, lezen / schrijven)
    • SH - Single holding register (16-bit, lezen / schrijven)
    • A - Analoge ingang (16-bit, alleen lezen)

    De 'S' registertypen zijn alleen voor schrijffuncties en moeten worden gebruikt voor apparaten die schrijven naar meerdere registers niet tegelijkertijd ondersteunen.

    Gegevenstypen

    • 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 is de standaardinstelling voor elk gegevenstype, bijvoorbeeld Int32 is hetzelfde als BigEndianInt32.

    MODBUSR (MODBUS READ)

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

    Retourneert de waarde van het register op adres 20 in het formaat int16 en deelt dit door 100.

    MODBUSW (MODBUS WRITE)

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

    Schrijft de temperatuur van de sensor gedeeld door het formaat 100 int int16 naar register 20.

    MODBUSWNE (MODBUS WRITE NOT EQUAL)

    Schrijft alleen naar het register als de huidige waarde anders is. Leest de waarde, controleert of deze gelijk is en schrijft zo niet naar het register. Handig voor het opslaan van EEPROM-geheugen.

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

    Leest eerst de waarde van het register op adres 20 in het formaat int16, vergelijkt deze met de temperatuursensor temperatuur gedeeld door 100 en alleen als de waarden verschillen, schrijft de temperatuur van de sensor gedeeld door het formaat 100 int int16 naar het register 20.

    Registeradressen kunnen ook in hexadecimaal formaat worden geschreven, bijvoorbeeld 20 is hetzelfde als 0x14.

    Expressions

    Uitdrukkingen

    Volg deze link voor meer informatie over uitdrukkingen: https://taphome.com/en/support/41123985