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 TCP Polling Delay
#3
If you want quick polling you need to use one resident script per each connection because Modbus mapper can only poll one TCP device at a time.
Use this example as a starting point. The connection is kept open between requests. Multiple registers are read at once to speed things up.
Code:
if not mb then
  require('luamodbus')
  mb = luamodbus.tcp()
  mb:open('192.168.0.9')
  
  res, err = mb:connect()
  if not res then
    mb:close()
    mb = nil
    log('connect failed', err)
  end
end

if mb then
  v1, v2, v3 = mb:readregisters(10, 3)

  if v1 ~= nil then
    grp.checkupdate('1/1/1', v1)
    grp.checkupdate('1/1/2', v2)
    grp.checkupdate('1/1/3', v3)
  else
    mb:close()
    mb = nil
    log('read failed', v2)
  end
end
Reply


Messages In This Thread
Modbus TCP Polling Delay - by manos@dynamitec - 08.09.2022, 10:23
RE: Modbus TCP Polling Delay - by Daniel - 08.09.2022, 10:40
RE: Modbus TCP Polling Delay - by admin - 08.09.2022, 11:28
RE: Modbus TCP Polling Delay - by admin - 08.09.2022, 11:49
RE: Modbus TCP Polling Delay - by admin - 12.09.2022, 12:08
RE: Modbus TCP Polling Delay - by admin - 14.09.2022, 06:54

Forum Jump: