215
mb:setregisters(start, v1, [v2, [v3, ...]])
sets values to register/coil mapping from the start address
returns true on success and nil, error description on error, exception code if applicable
mb:setwritecoilcb(fn)
mb:setwriteregistercb(fn)
sets a callback function for coil/register write event
callback should accept two parameters - coil/register address and value (boolean or number)
for multiple writes callback is executed for each coil/register separately
use nil to remove a callback
Master functions:
mb:setslave(slaveid)
sets slave id to read/write data from/to
mb:readcoils(start, count) [01]
mb:readdiscreteinputs(start, count) [02]
mb:readregisters(start, count) [03]
mb:readinputregisters(start, count) [04]
reads one or many registers/coils from the start address
returns all values on success and nil, error description on error
mb:writebits(start, v1, [v2, [v3, ...]]) [05]
mb:writeregisters(start, v1, [v2, [v3, ...]]) [06]
writes values to registers/coils from the start address
single write will be used when only one value is supplied, multiple write otherwise
returns all of values written on success and nil, error description on error
mb:readregistervalue(address, datatype, [reverse])
mb:readinputregistervalue(address, datatype, [reverse])
reads encoded register(s) value based on the specified datatype:
"int16" - signed 2-byte (1 register) integer
"float16" - 2-byte floating point (KNX format, used in some HVAC units)
"int32" - signed 4-byte (2 registers) integer
"uint32" - unsigned 4-byte (2 registers) integer
"float32" - 4-byte (2 registers) floating point (IEEE 754)
"int64" - signed 8-byte (4 registers) integer
"uint64" - unsigned 8-byte (4 registers) integer
optionally, it's possible to reverse register order by setting "reverse" to true
returns decoded value on success and nil, error description on error
mb:reportslaveid()
reads slave internal data
returns values on success and nil, error description on error
Timeout interval between two consecutive bytes of the same message
mb:getbytetimeout()
mb:setbytetimeout(timeout)
Timeout interval used to wait for a response:
mb:getresponsetimeout()
mb:setresponsetimeout(timeout)
Timeout interval used to for an incoming indication from master (slave mode only):
mb:getreceivetimeout()
mb:setreceivetimeout(timeout)
Misc functions: