Eerste keer dat ik speel met Modbus TCP en toch enkele vragen. Ik hoop dat iemand hier wat ervaring mee heeft.
Doel
Ventilatie D unit
Dantherm HCV500 controleren met
Loxone via
Modbus TCP (eerste plaats stand instellen maar daarnaast nog wel enkele leuke mogelijkheden zoals filter lifecycle, foutmeldingen oppikken, info over temperatuur, bypass, verschillende modes (manual, nacht, away...))
Dantherm HCV500 specs:
De specs van de ventilatie unit heb ik ondertussen gekregen en het merendeel van de mapping naar Loxone config lukt wel.
3.3.1 32 bit parameters
All parameters of the ventilation unit have a 32-bits dimension. However the Modbus works with registers which have 16-bits dimension. Each parameter in the ventilation unit is therefore separated in two parts (Low and High). Modbus model strores it like two registers (R0 and R1 according), which are located together in sequence. A register with Low part of parameters has the lower address.
A floating point value is 32 bits, but Modbus uses 16 bit registers therefore this 32 bit value is mapped to two register. The sequence used is CDAB.
Vragen
Nu ben ik er dus uit welke commands (actuators, sensors) ik wil sturen en heb mijn Modbus server (onder Miniserver Communication) aangemaakt.
Volgens mij is er nu echter een mapping van een paar tickboxes (zie hieronder) met bovenstaande quotes om te zorgen voor correcte communicatie.
De unit hangt nog niet dus "trial and error" is nog niet mogelijk. Iemand ervaring hierin die me kan voorthelpen?
WRITE UINT (unsigned integer)
- "Command:" 16 - Preset multiple regist.. - vrij zeker van op basis van de specs
- "Data type:" 32-bit unsigned integer - vrij zeker van gezien 32 bit quote hierboven
- "Combine 2 registers for 32-bit value" (if not ticked the first register will be read / written to) -
aanvinken of niet?
READ UINT (unsigned integer)
- "Command:" 3 - Read holding register - vrij zeker van op basis van de specs
- "Data type": 32-bit unsigned integer - vrij zeker van gezien 32 bit quote hierboven
- "Combine 2 registers for 32-bit value" (if not ticked the first register will be read / written to) -
aanvinken of niet?
- "Order of registers" (if not ticked then the order Low Word / High Word is assumed (lowest register first)) -
aanvinken of niet?
- "Byte order" (if not ticked then the order High Byte / Low Byte is assumed (Big Endian)) -
aanvinken of niet?
READ FLOAT
- "Command:" 3 - Read holding register - vrij zeker van op basis van de specs
- "Data type": 32-bit floating point - vrij zeker van gezien 32 bit quote hierboven
- "Combine 2 registers for 32-bit value" (if not ticked the first register will be read / written to) -
aanvinken of niet?
- "Order of registers" (if not ticked then the order Low Word / High Word is assumed (lowest register first)) -
aanvinken of niet?
- "Byte order" (if not ticked then the order High Byte / Low Byte is assumed (Big Endian)) -
aanvinken of niet?
Bedankt!