Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Mihini/modbus
< Mihini
MODBUS
Variables
local sched = require 'sched' local log = require 'log' local modbus=require 'modbus' local MODBUS_PORT="/dev/ttyACM0" local MODBUS_CONF={ baudRate = 9600 } local modbus_client
modbus.new(port, cfg, mode) : Creates a new modbus connection.
local function configModbus() modbus_client=modbus.new(MODBUS_PORT,MODBUS_CONF,"ASCII") end
modbusdev:readHoldingRegisters(sid, address, length) Read a sequence of consecutive holding registers'
local function readModbusData() local data=modbus_client:readHoldingRegisters(1,0,5) if(data~=nil) then local _, Sensor1, Sensor2 = string.unpack(buffer, "h2") print(Sensor1..Sensor2) end end
modbusdev:close()
Main Function
local function main() configModbus() while(true) do sched.wait(3) readModbusData() sched.wait(3) end end sched.run(main) sched.loop()
sched.run(main) sched.loop()