Căutare
MENU
  • Atingeți Aplicații Acasă
  • Expressions
  • Arhitectura sistemului după tipul de proiect
  • Utilizatori și permisiuni
  • Configurare

    Modbus este un protocol de comunicare deschis. Acesta este de obicei utilizat pentru integrarea cu dispozitive HVAC.

    Core vine cu trei terminale de bus. Pe lângă magistrala internă TapHome, acestea acceptă și Modbus RTU. Portul LAN de pe Core acceptă Modbus TCP. Aceasta înseamnă că nu trebuie să cumpărați niciun dispozitiv suplimentar de la TapHome pentru a vă conecta la dispozitivele Modbus.

    Înființat

    În Setări → Hardware → Modbus, definiți o interfață nouă:

    • Modbus RTU (Definiți terminalul: BUS1, BUS2 sau BUS3)
    • Modbus TCP (Definiți adresa IP pentru fiecare dispozitiv)

    Dacă utilizați Modbus RTU (prin cablu RS485), asigurați-vă că terminalul la care este conectat dispozitivul Modbus nu este utilizat pentru TapHome Bus. Rețineți că puteți utiliza mai multe dispozitive modbus pe același BUS, dar trebuie să utilizeze aceleași setări generale de modbus (Baudrate, Parity, Data Bits, Stop Bits) și ID Slave specific pentru fiecare dispozitiv conectat.

    Nu este posibil să combinați dispozitive Modbus RTU cu dispozitive TapHome Bus pe un singur terminal. Ambele interfețe sunt compatibile electric, dar utilizează un protocol de comunicare complet diferit.

    Setări generale de comunicare Modbus (furnizate de producător în manual)

    Implementare în cadrul Taphome:

    Tabel de comunicații Modbus furnizat de producător

    Implementare în cadrul Taphome

    Dacă comunicarea nu funcționează în următorul test, încercați să modificați adresele registrelor cu -1 sau +1 în comparație cu valorile din tabel. De obicei, acest lucru ajută.

    În interfața Modbus RTU sau Modbus TCP, puteți fie să adăugați un set de dispozitive din șablonul: https://taphome.com/support/15695874, fie să vă definiți propriul:

    Tipuri de dispozitive Modbus acceptate

    Utilizați tipuri de dispozitive generice pentru a defini integrarea Modbus personalizată:

    Tip de dispozitiv

    Vizualizare

    Variabilă pentru expresii de scriere

    Senzor de temperatura


    • numai citire -


    Se

    Intrerupator


    St

    Comutator multi-valoare

    Mu


    Le


    • numai citire -

    Modbus Wrapper


    • numai citire -

    Contact Reed


    • numai citire -

    Variabil

    Va

    Citirea și scrierea valorilor

    Tipuri de registre Modbus

    • C – Coil (1-bit, read/write)

    • SC – Single Coil (1-bit, read/write)

    • D – Discrete input (1-bit, read only)

    • H – Holding register (16-bit, read/write)

    • SH – Single holding register (16-bit, read/write)

    • A – Analog input (16-bit, read only)

    Tipurile de registre „S” sunt doar pentru funcții de scriere și ar trebui utilizate pentru dispozitive care nu acceptă scrierea pe mai multe registre simultan.

    Tipuri de date

    • 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 este setarea implicită pentru fiecare tip de date, de ex. Int32 este aceeași cu BigEndianInt32.

    MODBUSR (MODBUS READ)

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

    Returnează valoarea deținerii registrului la adresa 20 în format int16 și îl împarte la 100.

    MODBUSW (MODBUS WRITE)

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

    Scrie temperatura senzorului împărțită la formatul int int16 la registrul 20.

    MODBUSWNE (MODBUS WRITE NOT EQUAL)

    Scrie în registru numai dacă valoarea curentă este diferită. Citește valoarea, verifică dacă este egal și scrie în registru dacă nu. Util pentru salvarea memoriei EEPROM.

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

    Mai întâi citește valoarea de la registrul de păstrare la adresa 20 în format int16, o compară cu temperatura senzorului de temperatură împărțită la 100 și numai dacă valorile sunt diferite scrie temperatura senzorului împărțit la formatul 100 int int16 la registrul de păstrare 20.

    Adresele de registru pot fi, de asemenea, scrise în format hexazecimal, de exemplu 20 este același cu 0x14.

    Expresii

    Urmați acest link pentru a găsi mai multe informații despre expresii: https://taphome.com/support/41123985