class ModBus::RTUServer
RTU
server implementation @example
srv = RTUServer.new('/dev/ttyS1', 9600) slave = srv.with_slave(1) slave.coils = [1,0,1,1] slave.discrete_inputs = [1,1,0,0] slave.holding_registers = [1,2,3,4] slave.input_registers = [1,2,3,4] srv.logger = Logger.new($stdout) srv.start
Public Class Methods
new(port, baud=9600, opts = {})
click to toggle source
Init RTU
server @param [Integer] uid slave device @see SP#open_serial_port
# File lib/rmodbus/rtu_server.rb, line 21 def initialize(port, baud=9600, opts = {}) Thread.abort_on_exception = true if port.is_a?(IO) || port.respond_to?(:read) @sp = port else @sp = open_serial_port(port, baud, opts) end end
Public Instance Methods
join()
click to toggle source
Join server
# File lib/rmodbus/rtu_server.rb, line 44 def join @serv.join end
start()
click to toggle source
Start server
# File lib/rmodbus/rtu_server.rb, line 31 def start @serv = Thread.new do serve(@sp) end end
stop()
click to toggle source
Stop server
# File lib/rmodbus/rtu_server.rb, line 38 def stop Thread.kill(@serv) @sp.close end