EasyManua.ls Logo

Embedded Systems LogiMachine5 Power - Page 182

Embedded Systems LogiMachine5 Power
254 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
182
13.
'writebits',
14.
'writemultiplebits',
15.
'writeregisters',
16.
'writemultipleregisters',
17.
'reportslaveid',
18.
'getcoils',
19.
'getdiscreteinputs',
20.
'getinputregisters',
21.
'getregisters',
22.
'setcoils',
23.
'setdiscreteinputs',
24.
'setinputregisters',
25.
'setregisters',
26.
},
27.
-- new connecton init
28.
new =function()
29.
require('rpc')
30.
local mb =setmetatable({}, { __index = mbproxy })
31.
32.
mb.slaveid =0
33.
mb.rpc = rpc.client('127.0.0.1', 28002, 'mbproxy')
34.
35.
for _, fn in ipairs(mbproxy.functions)do
36.
mb[ fn ]=function(self, ...)
37.
return mb:request(fn, ...)
38.
end
39.
end
40.
41.
return mb
42.
end
43.
}
44.
45.
-- set local slave id
46.
function mbproxy:setslave(slaveid)
47.
self.slaveid = slaveid
48.
end
49.
50.
-- send rpc request for a spefic function
51.
function mbproxy:request(fn, ...)
52.
local res, err = self.rpc:request({
53.
fn = fn,
54.
params ={ ... },
55.
slaveid = self.slaveid or0,
56.
})
57.
58.
-- request error
59.
if err then
60.
return nil, err

Table of Contents