This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Modbus Timeout
#1
Hi,

I have created a simple profile for a Radiant Gas Boiler according to the attached manual.
.pdf   MODBUS_BRIDGE_INTF_PROTOCOL_L_00 (1).pdf (Size: 628.07 KB / Downloads: 8)


The profile
.json   RadiantR2K_min.json (Size: 764 bytes / Downloads: 7)
is very simple but when i map more than one register > address i always get a "read failed Operation timed out" error
I have tried to increase/decrese the pool interval and timeout without any success.
When i read the values via script (below) using mbproxy i can read more than 10 registers without any problem.

Resident script:
Code:
mbproxy = require('mbproxy')
mb = mbproxy.new()
mb:setslave(1)

grp.update('Radiant Error Code', mb:readregisters(1021))

grp.update('Radiant Heat Demand', mb:readregisters(1001))

grp.update('Radiant Operative Mode Feedback', mb:readregisters(1003))

grp.update('Radiant PCB Status', mb:readregisters(1023))

grp.update('Radiant Master Status', mb:readregisters(1032))


r1,r2,r3,r4,r5,r6,r7,r8,r9, r10 = mb:readregisters(1006,10 )

grp.update('Radiant Setpoint CH Feedback',r2)
grp.update('Radiant Setpoint CH Low Limit Feedback',r5)
grp.update('Radiant Setpoint CH Hi Limit Feedback',r6)
grp.update('Radiant Setpoint DHW Feedback',r1)
grp.update('Radiant Setpoint DHW Low Limit Feedback',r3)
grp.update('Radiant Setpoint DHW Hi Limit Feedback',r4)

grp.update('Radiant CH Temperature Feedback',r7*0.1)
grp.update('Radiant DHW Temperature Feedback',r8*0.1)
grp.update('Radiant Return Temperature Feedback',r9*0.1)
grp.update('Radiant External Temperature Feedback',r10*0.1)


Any idea why i get the error when using the profile?
Reply
#2
Try adding read_delay to your profile. Start with 1 second then try lowering it to a minimum value that still works (0.1 seconds or so). Keep in mind that you have to create device mapping from scratch after updating the profile.
Code:
{
  "manufacturer": "RADIANT",
  "description": "R2K 24 RAIN min",
  "read_delay": 1,
...
}
Reply
#3
(31.01.2022, 09:49)admin Wrote: Try adding read_delay to your profile. Start with 1 second then try lowering it to a minimum value that still works (0.1 seconds or so). Keep in mind that you have to create device mapping from scratch after updating the profile.
Code:
{
  "manufacturer": "RADIANT",
  "description": "R2K 24 RAIN min",
  "read_delay": 1,
...
}

Works fine at 0.2

Thank's
Reply


Forum Jump: