class ModBus::RTUClient
RTU
client implementation @example
RTUClient.connect('/dev/ttyS1', 9600) do |cl| cl.with_slave(uid) do |slave| slave.holding_registers[0..100] end end
@example
RTUClient.connect('127.0.0.1', 10002) do |cl| cl.with_slave(uid) do |slave| slave.holding_registers[0..100] end end
@see TCP#open_tcp_connection
@see SP#open_serial_port
@see Client#initialize
Protected Instance Methods
get_slave(uid, io)
click to toggle source
# File lib/rmodbus/rtu_client.rb, line 39 def get_slave(uid, io) RTUSlave.new(uid, io) end
open_connection(port_or_ipaddr, arg = nil, opts = {})
click to toggle source
Open serial port
# File lib/rmodbus/rtu_client.rb, line 27 def open_connection(port_or_ipaddr, arg = nil, opts = {}) if port_or_ipaddr.is_a?(IO) || port_or_ipaddr.respond_to?(:read) port_or_ipaddr elsif File.exist?(port_or_ipaddr) || port_or_ipaddr.start_with?('/dev') || port_or_ipaddr.start_with?('COM') arg ||= 9600 open_serial_port(port_or_ipaddr, arg, opts) else arg ||= 10002 open_tcp_connection(port_or_ipaddr, arg, opts) end end