net.wimpi.modbus.facade
Class ModbusTCPMaster

java.lang.Object
  extended by net.wimpi.modbus.facade.ModbusTCPMaster

public class ModbusTCPMaster
extends Object

Modbus/TCP Master facade.

Version:
@version@ (@date@)
Author:
Dieter Wimberger

Constructor Summary
ModbusTCPMaster(String addr)
          Constructs a new master facade instance for communication with a given slave.
ModbusTCPMaster(String addr, int port)
          Constructs a new master facade instance for communication with a given slave.
 
Method Summary
 void connect()
          Connects this ModbusTCPMaster with the slave.
 void disconnect()
          Disconnects this ModbusTCPMaster from the slave.
 boolean isReconnecting()
          Tests if a constant connection is maintained or if a new connection is established for every transaction.
 BitVector readCoils(int ref, int count)
          Reads a given number of coil states from the slave.
 BitVector readInputDiscretes(int ref, int count)
          Reads a given number of input discrete states from the slave.
 InputRegister[] readInputRegisters(int ref, int count)
          Reads a given number of input registers from the slave.
 Register[] readMultipleRegisters(int ref, int count)
          Reads a given number of registers from the slave.
 void setReconnecting(boolean b)
          Sets the flag that specifies whether to maintain a constant connection or reconnect for every transaction.
 boolean writeCoil(int unitid, int ref, boolean state)
          Writes a coil state to the slave.
 void writeMultipleCoils(int ref, BitVector coils)
          Writes a given number of coil states to the slave.
 void writeMultipleRegisters(int ref, Register[] registers)
          Writes a number of registers to the slave.
 void writeSingleRegister(int ref, Register register)
          Writes a single register to the slave.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModbusTCPMaster

public ModbusTCPMaster(String addr)
Constructs a new master facade instance for communication with a given slave.

Parameters:
addr - an internet address as resolvable IP name or IP number, specifying the slave to communicate with.

ModbusTCPMaster

public ModbusTCPMaster(String addr,
                       int port)
Constructs a new master facade instance for communication with a given slave.

Parameters:
addr - an internet address as resolvable IP name or IP number, specifying the slave to communicate with.
port - the port the slave is listening to.
Method Detail

connect

public void connect()
             throws Exception
Connects this ModbusTCPMaster with the slave.

Throws:
Exception - if the connection cannot be established.

disconnect

public void disconnect()
Disconnects this ModbusTCPMaster from the slave.


setReconnecting

public void setReconnecting(boolean b)
Sets the flag that specifies whether to maintain a constant connection or reconnect for every transaction.

Parameters:
b - true if a new connection should be established for each transaction, false otherwise.

isReconnecting

public boolean isReconnecting()
Tests if a constant connection is maintained or if a new connection is established for every transaction.

Returns:
true if a new connection should be established for each transaction, false otherwise.

readCoils

public BitVector readCoils(int ref,
                           int count)
                    throws ModbusException
Reads a given number of coil states from the slave.

Note that the number of bits in the bit vector will be forced to the number originally requested.

Parameters:
ref - the offset of the coil to start reading from.
count - the number of coil states to be read.
Returns:
a BitVector instance holding the received coil states.
Throws:
ModbusException - if an I/O error, a slave exception or a transaction error occurs.

writeCoil

public boolean writeCoil(int unitid,
                         int ref,
                         boolean state)
                  throws ModbusException
Writes a coil state to the slave.

Parameters:
unitid - the slave unit id.
ref - the offset of the coil to be written.
state - the coil state to be written.
Returns:
the state of the coil as returned from the slave.
Throws:
ModbusException - if an I/O error, a slave exception or a transaction error occurs.

writeMultipleCoils

public void writeMultipleCoils(int ref,
                               BitVector coils)
                        throws ModbusException
Writes a given number of coil states to the slave.

Note that the number of coils to be written is given implicitly, through BitVector.size().

Parameters:
ref - the offset of the coil to start writing to.
coils - a BitVector which holds the coil states to be written.
Throws:
ModbusException - if an I/O error, a slave exception or a transaction error occurs.

readInputDiscretes

public BitVector readInputDiscretes(int ref,
                                    int count)
                             throws ModbusException
Reads a given number of input discrete states from the slave.

Note that the number of bits in the bit vector will be forced to the number originally requested.

Parameters:
ref - the offset of the input discrete to start reading from.
count - the number of input discrete states to be read.
Returns:
a BitVector instance holding the received input discrete states.
Throws:
ModbusException - if an I/O error, a slave exception or a transaction error occurs.

readInputRegisters

public InputRegister[] readInputRegisters(int ref,
                                          int count)
                                   throws ModbusException
Reads a given number of input registers from the slave.

Note that the number of input registers returned (i.e. array length) will be according to the number received in the slave response.

Parameters:
ref - the offset of the input register to start reading from.
count - the number of input registers to be read.
Returns:
a InputRegister[] with the received input registers.
Throws:
ModbusException - if an I/O error, a slave exception or a transaction error occurs.

readMultipleRegisters

public Register[] readMultipleRegisters(int ref,
                                        int count)
                                 throws ModbusException
Reads a given number of registers from the slave.

Note that the number of registers returned (i.e. array length) will be according to the number received in the slave response.

Parameters:
ref - the offset of the register to start reading from.
count - the number of registers to be read.
Returns:
a Register[] holding the received registers.
Throws:
ModbusException - if an I/O error, a slave exception or a transaction error occurs.

writeSingleRegister

public void writeSingleRegister(int ref,
                                Register register)
                         throws ModbusException
Writes a single register to the slave.

Parameters:
ref - the offset of the register to be written.
register - a Register holding the value of the register to be written.
Throws:
ModbusException - if an I/O error, a slave exception or a transaction error occurs.

writeMultipleRegisters

public void writeMultipleRegisters(int ref,
                                   Register[] registers)
                            throws ModbusException
Writes a number of registers to the slave.

Parameters:
ref - the offset of the register to start writing to.
registers - a Register[] holding the values of the registers to be written.
Throws:
ModbusException - if an I/O error, a slave exception or a transaction error occurs.


Copyright © 2010. All Rights Reserved.