class ModBus::Client
@abstract
Public Class Methods
new(*args) { |self| ... }
click to toggle source
Initialized client (alias :connect) @example
Client.new(any_args) do |client| client.closed? #=> false end
@param *args depends on implementation @yield return client object and close it before exit @return [Client] client object
# File lib/rmodbus/client.rb, line 16 def initialize(*args, &block) # Defaults @debug = false @raise_exception_on_mismatch = false @read_retry_timeout = 1 @read_retries = 10 @io = open_connection(*args) if block_given? begin yield self ensure close end else self end end
Also aliased as: connect
Public Instance Methods
close()
click to toggle source
Close connections
# File lib/rmodbus/client.rb, line 68 def close @io.close unless @io.closed? end
closed?()
click to toggle source
Check connections @return [Boolean]
# File lib/rmodbus/client.rb, line 63 def closed? @io.closed? end
with_slave(uid) { |slave| ... }
click to toggle source
Given slave object @example
cl = Client.new cl.with_slave(1) do |slave| slave.holding_registers[0..100] end
@param [Integer, read] uid slave devise @return [Slave] slave object
# File lib/rmodbus/client.rb, line 48 def with_slave(uid, &block) slave = get_slave(uid, @io) slave.debug = debug slave.raise_exception_on_mismatch = raise_exception_on_mismatch slave.read_retries = read_retries slave.read_retry_timeout = read_retry_timeout if block_given? yield slave else slave end end
Protected Instance Methods
get_slave(uid,io)
click to toggle source
# File lib/rmodbus/client.rb, line 88 def get_slave(uid,io) Slave.new(uid, io) end
open_connection(*args)
click to toggle source
# File lib/rmodbus/client.rb, line 73 def open_connection(*args) #Stub conn object @io = Object.new @io.instance_eval """ def close end def closed? true end """ @io end