class ModBus::RTUServer
RTU
server implementation @example
srv = RTUServer.new('/dev/ttyS1', 9600, 1) srv.coils = [1,0,1,1] srv.discrete_inputs = [1,1,0,0] srv.holding_registers = [1,2,3,4] srv.input_registers = [1,2,3,4] srv.debug = true srv.start
Public Class Methods
new(port, baud=9600, uid=1, 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 20 def initialize(port, baud=9600, uid=1, opts = {}) Thread.abort_on_exception = true @sp = open_serial_port(port, baud, opts) @uid = uid end
Public Instance Methods
join()
click to toggle source
Join server
# File lib/rmodbus/rtu_server.rb, line 42 def join @serv.join end
start()
click to toggle source
Start server
# File lib/rmodbus/rtu_server.rb, line 27 def start @serv = Thread.new do serv_rtu_requests(@sp) do |msg| exec_req(msg[1..-3], @coils, @discrete_inputs, @holding_registers, @input_registers) end end end
stop()
click to toggle source
Stop server
# File lib/rmodbus/rtu_server.rb, line 36 def stop Thread.kill(@serv) @sp.close end