(14.02.2020, 12:15)admin Wrote:  Example can be changed to accept any number of input objects.
If you want to convert boolean value to a number you can do this via an event script (1/1/2 is output object):
Code:
value = event.getvalue()
out = value and 1 or 0
grp.write('1/1/2', out)
Sorry, I explain all my situation so I can understand all better.
I have created a script that read all the bit of a register (in this case the register 1280):
Code:
require("user.GetBit")
local value
local Status
local Byte        -- Matrice di valori
--- Modbus ---
mb = require('mbproxy').new()
mb:setslave(1)
-- Lettura variabili ——
Status= mb:readregisters(1280) ---- Byte
--log (Status)
if Status ~= nil then
  Byte = {getbit(Status, 0), 
    getbit(Status, 1),
    getbit(Status, 2),
    getbit(Status, 3), 
    getbit(Status, 4),
    getbit(Status, 5), 
    getbit(Status, 6),
    getbit(Status, 7),
    getbit(Status, 8),
    getbit(Status, 9),
    getbit(Status, 10),
    getbit(Status, 11),
    getbit(Status, 12),
    getbit(Status, 13),
    getbit(Status, 14),
    getbit(Status, 15)
  }
  log (Status)
    for i=0, 16, 1 do
      grp.update ('Stato.reg.1280_Bit' .. i ,Byte[i+1]) 
  end
end
mb:close()
so at my address 32/1/1 there is the boolean value of the Bit0 of the register 1280.
Now I have to command the Bit0 of the register n°1280 with a boolean value.
Can you please write me all the script, so I can write it for the other commands.
Thank you very much and sorry for bothering you.