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 limits
#1
I state that I have read all the posts containing the term "modbus" but have not found an answer

Situation: Wiser4KNX which interrogates about 30 slave devices made up of switches or meters (Masterpact, Compact NSX, PowerTags, etc.) connected to Modbus TCP gateways (ComX510, IFE, Smartlink).
No connection problems.

For each of these devices only 2 registers are needed: Active Power and Active Energy.

Overall, therefore, a small amount of information is acquired from the system.

If I configure the devices in the Modbus section, using the preloaded profiles, after 7-8 objects an error message appears: "The limit has been reached. It is not possible to add objects of the same type".

If I access by script I can configure further 7-8 devices (therefore a total of about 16 readings).




Code:
require('luamodbus')

mb = luamodbus.tcp()
mb:open('192.168.90.105', 502)
res, err = mb:connect()
if res then
  mb:setslave(1)
  value1 = mb:readregistervalue(32095,"uint64") * 0.001   
  grp.update("50/3/0", value1)
  mb:setslave(2)
  value2 = mb:readregistervalue(1999,"int32")             
  grp.update("50/3/1", value2)
  mb:setslave(3)
  value3 = mb:readregistervalue(1999,"int32")                         
  grp.update("50/3/2", value3)
  mb:setslave(4)
  value4 = mb:readregistervalue(1999,"int32")                            
  grp.update("50/3/3", value4)
  mb:setslave(5)
  value5 = mb:readregistervalue(1999,"int32")                            
  grp.update("50/3/4", value5)
  mb:setslave(6)
  value6 = mb:readregistervalue(1999,"int32")                            
  grp.update("50/3/5", value6)
  mb:setslave(7)
  value7 = mb:readregistervalue(1999,"int32")                            
  grp.update("50/3/6", value7)
else
  log('connect failed', err)
end
mb:close()


Each additional line of code produces no reading.


In the Modbus configuration I tried to differentiate the ip hosts or the polling time but the result does not change.

What is this limitation determined by?

Thanks
Reply


Messages In This Thread
Modbus limits - by alb-smith - 07.02.2020, 21:09
RE: Modbus limits - by Erwin van der Zwart - 07.02.2020, 22:08
RE: Modbus limits - by alb-smith - 09.02.2020, 18:17
RE: Modbus limits - by FatMax - 10.02.2020, 07:43

Forum Jump: