Class: ModBus::TCPClient
- Includes:
- Timeout
- Defined in:
- lib/rmodbus/tcp_client.rb
Overview
Implementation clients(master) ModBusTCP
Constant Summary collapse
- @@transaction =
0
Constants inherited from Client
Client::CONNECTION_RETRIES, Client::READ_RETRIES
Class Method Summary collapse
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(ipaddr, port = 502, slaveaddr = 1) ⇒ TCPClient
constructor
Connect with a ModBus server.
Methods inherited from Client
#mask_write_register, #query, #read_coils, #read_discret_inputs, #read_discrete_inputs, #read_holding_registers, #read_input_registers, #write_multiple_coils, #write_multiple_registers, #write_single_coil, #write_single_register
Constructor Details
#initialize(ipaddr, port = 502, slaveaddr = 1) ⇒ TCPClient
Connect with a ModBus server
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/rmodbus/tcp_client.rb', line 29 def initialize(ipaddr, port = 502, slaveaddr = 1) tried = 0 begin timeout(1, ModBusTimeout) do @sock = TCPSocket.new(ipaddr, port) end rescue ModBusTimeout => err tried += 1 retry unless tried >= CONNECTION_RETRIES raise ModBusTimeout.new, 'Timed out attempting to create connection' end @slave = slaveaddr end |
Class Method Details
.transaction ⇒ Object
48 49 50 |
# File 'lib/rmodbus/tcp_client.rb', line 48 def self.transaction @@transaction end |
Instance Method Details
#close ⇒ Object
44 45 46 |
# File 'lib/rmodbus/tcp_client.rb', line 44 def close @sock.close unless @sock.closed? end |