Logic Machine Forum
LM Modbus Integration with Daikin D3 Net - Printable Version

+- Logic Machine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8)
+--- Thread: LM Modbus Integration with Daikin D3 Net (/showthread.php?tid=5019)



LM Modbus Integration with Daikin D3 Net - Sumit - 11.10.2023

We are trying to connect Daikin Split AC (17 no's) to Logic machine. We have a Daiken D3 Gateway which has a Modbus port. Each AC unit has 5 no's input registers, example - 32001 (On Off Status), 32002 (Operation Mode Status) to 32005 (Room Temperature) and 3 no's holding registers, example - 42001 (On Off), 42002 (Operation Mode) to 42003 (Temperature Setpoint).

Daikin has confirmed that we should poll only 10 Modbus registers at a time (so that there is no delay).
We need a script which can read 10 registers at a time. The next 10 registers should be read with a delay of 3-4 secs.

All Daikin split ACs are wired on a two-wire bus in loop-in, loop-out manner (like a BUS & not star architecture). At the end of the BUS there is a gateway called D3 from Daikin.


RE: LM Modbus Integration with Daikin D3 Net - Daniel - 11.10.2023

You can add read_delay to the profile and it will wait  as much as you specify. To read 10 registers at once use block read, see this
https://forum.logicmachine.net/showthread.php?tid=4687&pid=30319#pid30319
https://forum.logicmachine.net/showthread.php?tid=2995&pid=19268#pid19268


RE: LM Modbus Integration with Daikin D3 Net - admin - 11.10.2023

Reading multiple registers can also be done via a script. Use mbproxy as suggested earlier.
Code:
-- read 10 registers starting with address 5374
res = { mb:readregisters(5374, 10) }

-- read ok
if res[ 1 ] then
  log(res)
end



RE: LM Modbus Integration with Daikin D3 Net - Sumit - 11.10.2023

There is a 404 error for the links shared.


RE: LM Modbus Integration with Daikin D3 Net - Daniel - 11.10.2023

I corrected the links but my solution will not work, forgot that read_delay max value is 1s, use script as Admin suggested