EasyManua.ls Logo

Embedded Systems LogicMachine5 - Page 208

Default Icon
291 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...
208
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

Other manuals for Embedded Systems LogicMachine5

Related product manuals