• Libraries
  • Shop
  • Doc
  • Free Modbus
  • Support
  • Login
  • Introduction
  • Chapters
  • Modules
  • Classes
  • Class List
  • Class Members
  • com
  • focus_sw
  • fieldtalk
  • MbusSerialMasterProtocol
Public Member Functions | Static Public Attributes

MbusSerialMasterProtocol Class Reference

Base class for serial serial master protocols. More...

Inheritance diagram for MbusSerialMasterProtocol:
MbusMasterFunctions MbusAsciiMasterProtocol MbusRtuMasterProtocol MbusElamMasterProtocol

List of all members.

Public Member Functions

 MbusSerialMasterProtocol ()
 Creates new instance.
synchronized void openProtocol (String portName, int baudRate, int dataBits, int stopBits, int parity) throws IOException, UnsupportedCommOperationException, PortInUseException
 Opens a Modbus serial port with specific port parameters.
synchronized void closeProtocol () throws IOException
 Closes the serial port and releases any system resources associated with the port.
boolean isOpen ()
 Returns whether the port is open or not.

Static Public Attributes

static final int DATABITS_7 = SerialPort.DATABITS_7
 7 data bits
static final int DATABITS_8 = SerialPort.DATABITS_8
 8 data bits
static final int STOPBITS_1 = SerialPort.STOPBITS_1
 1 stop bit
static final int STOPBITS_1_5 = SerialPort.STOPBITS_1_5
 1.5 stop bits
static final int STOPBITS_2 = SerialPort.STOPBITS_2
 2 stop bits
static final int PARITY_NONE = SerialPort.PARITY_NONE
 no parity
static final int PARITY_ODD = SerialPort.PARITY_ODD
 odd parity
static final int PARITY_EVEN = SerialPort.PARITY_EVEN
 even parity
static final int PARITY_MARK = SerialPort.PARITY_MARK
 mark parity
static final int PARITY_SPACE = SerialPort.PARITY_SPACE
 space parity

Bit Access

Table 0:00000 (Coils) and Table 1:0000 (Input Status)



synchronized void readCoils (int slaveAddr, int startRef, boolean[] bitArr) throws IOException, BusProtocolException
 Modbus function 1 (01 hex), Read Coil Status/Read Coils.
synchronized void readInputDiscretes (int slaveAddr, int startRef, boolean[] bitArr) throws IOException, BusProtocolException
 Modbus function 2 (02 hex), Read Inputs Status/Read Input Discretes.
synchronized void writeCoil (int slaveAddr, int bitAddr, boolean bitVal) throws IOException, BusProtocolException
 Modbus function 5 (05 hex), Force Single Coil/Write Coil.
synchronized void forceMultipleCoils (int slaveAddr, int startRef, boolean[] bitArr) throws IOException, BusProtocolException
 Modbus function 15 (0F hex), Force Multiple Coils.

Register Access (16-bit, 32-bit and floating point)

Table 4:00000 (Holding Registers) and Table 3:00000 (Input Registers)



synchronized void readMultipleRegisters (int slaveAddr, int startRef, short[] regArr) throws IOException, BusProtocolException
 Modbus function 3 (03 hex), Read Holding Registers/Read Multiple Registers.
synchronized void readMultipleRegisters (int slaveAddr, int startRef, int[] int32Arr) throws IOException, BusProtocolException
 Modbus function 3 (03 hex) for 32-bit int data types, Read Holding Registers/Read Multiple Registers as int data.
synchronized void readMultipleRegisters (int slaveAddr, int startRef, float[] float32Arr) throws IOException, BusProtocolException
 Modbus function 3 (03 hex) for 32-bit float data types, Read Holding Registers/Read Multiple Registers as float data.
synchronized void readInputRegisters (int slaveAddr, int startRef, short[] regArr) throws IOException, BusProtocolException
 Modbus function 4 (04 hex), Read Input Registers.
synchronized void readInputRegisters (int slaveAddr, int startRef, int[] int32Arr) throws IOException, BusProtocolException
 Modbus function 4 (04 hex) for 32-bit int data types, Read Input Registers as int data.
synchronized void readInputRegisters (int slaveAddr, int startRef, float[] float32Arr) throws IOException, BusProtocolException
 Modbus function 4 (04 hex) for 32-bit float data types, Read Input Registers as float data.
synchronized void writeSingleRegister (int slaveAddr, int regAddr, short regVal) throws IOException, BusProtocolException
 Modbus function 6 (06 hex), Preset Single Register/Write Single Register.
synchronized void writeMultipleRegisters (int slaveAddr, int startRef, short[] regArr) throws IOException, BusProtocolException
 Modbus function 16 (10 hex), Preset Multiple Registers/Write Multiple Registers.
synchronized void writeMultipleRegisters (int slaveAddr, int startRef, int[] int32Arr) throws IOException, BusProtocolException
 Modbus function 16 (10 hex) for 32-bit int data types, Preset Multiple Registers/Write Multiple Registers with int data.
synchronized void writeMultipleRegisters (int slaveAddr, int startRef, float[] float32Arr) throws IOException, BusProtocolException
 Modbus function 16 (10 hex) for 32-bit float data types, Preset Multiple Registers/Write Multiple Registers with float data.
synchronized void maskWriteRegister (int slaveAddr, int regAddr, short andMask, short orMask) throws IOException, BusProtocolException
 Modbus function 22 (16 hex), Mask Write Register.
synchronized void readWriteRegisters (int slaveAddr, int readRef, short[] readArr, int writeRef, short[] writeArr) throws IOException, BusProtocolException
 Modbus function 23 (17 hex), Read/Write Registers.

Diagnostics



synchronized byte readExceptionStatus (int slaveAddr) throws IOException, BusProtocolException
 Modbus function 7 (07 hex), Read Exception Status.

Custom Function Codes



synchronized void readHistoryLog (int slaveAddr, int channelNo, int resolution, short readArr[]) throws IOException, BusProtocolException
 Vendor Specific Modbus function 100 (64 hex), Read History Log.

Protocol Configuration



synchronized void setTimeout (int timeOut)
 Configures time-out.
int getTimeout ()
 Returns the operation time-out value.
synchronized void setPollDelay (int pollDelay)
 Configures poll delay.
int getPollDelay ()
 Returns the poll delay time.
synchronized void setRetryCnt (int retryCnt)
 Configures the automatic retry setting.
int getRetryCnt ()
 Returns the automatic retry count.

Transmission Statistic Functions



synchronized long getTotalCounter ()
 Returns how often a transmit/receive cycle has been executed.
synchronized void resetTotalCounter ()
 Resets total transmit/receive cycle counter.
synchronized long getSuccessCounter ()
 Returns how often a transmit/receive cycle was successful.
synchronized void resetSuccessCounter ()
 Resets successful transmit/receive counter.

Slave Configuration



void configureStandard32BitMode ()
 Configures all slaves for Standard 32-bit Mode.
synchronized void configureStandard32BitMode (int slaveAddr)
 Configures a slave for Standard 32-bit Register Mode.
void configureSingleReg32BitMode ()
 Configures all slaves for Single Register 32-bit Mode.
synchronized void configureSingleReg32BitMode (int slaveAddr)
 Configures all slaves for Single Register 32-bit Mode.
void configureCountFromOne ()
 Configures the reference counting scheme to start with one for all slaves.
synchronized void configureCountFromOne (int slaveAddr)
 Configures a slave's reference counting scheme to start with one.
void configureCountFromZero ()
 Configures the reference counting scheme to start with zero for all slaves.
synchronized void configureCountFromZero (int slaveAddr)
 Configures a slave's reference counting scheme to start with zero.
void configureLittleEndianInts ()
 Disables word swapping for int data type functions for all slaves.
synchronized void configureLittleEndianInts (int slaveAddr)
 Disables word swapping for int data type functions on a per slave basis.
void configureBigEndianInts ()
 Configures int data type functions to do a word swap for all slaves.
synchronized void configureBigEndianInts (int slaveAddr)
 Enables int data type functions to do a word swap on a per slave basis.
void configureLittleEndianFloats ()
 Disables float data type functions to do a word swap for all slaves.
synchronized void configureLittleEndianFloats (int slaveAddr)
 Disables float data type functions to do a word swap on a per slave basis.
void configureSwappedFloats ()
 Configures float data type functions to do a word swap for all slaves.
synchronized void configureSwappedFloats (int slaveAddr)
 Enables float data type functions to do a word swap on a per slave basis.

Detailed Description

Base class for serial serial master protocols.

This base class realises the Modbus serial master protocols. It provides functions to open and to close serial port as well as data and control functions which can be used at any time after the protocol has been opened. The data and control functions are organized different conformance classes. For a more detailed description of the data and control functions see section Data and Control Functions for all Modbus Protocol Flavours.

It is possible to instantiate multiple instances for establishing multiple connections on different serial ports (They should be executed in separate threads).

All functions have been implemented thread-safe. It is also possible to instantiate multiple instances for establishing multiple connections on different serial ports.

See also:
Data and Control Functions for all Modbus Protocol Flavours, Serial Protocols
MbusRtuMasterProtocol, MbusElamMasterProtocol, MbusAsciiMasterProtocol, MbusTcpMasterProtocol

Member Function Documentation

synchronized void openProtocol ( String  portName,
int  baudRate,
int  dataBits,
int  stopBits,
int  parity 
) throws IOException, UnsupportedCommOperationException, PortInUseException

Opens a Modbus serial port with specific port parameters.

This function opens the serial port. After a port has been opened data and control functions can be used.

Note:
The default time-out for the data transfer is 1000 ms.
The default poll delay is 0 ms.
Automatic retries are switched off (retry count is 0).
The Modbus standard requires two stop bits if no parity is chosen. This library is not enforcing this but it is a recommended configuration.
Parameters:
portName Serial port identifier (e.g. "COM1", "/dev/ser1 or /dev/ttyS0")
baudRate The port baudRate in bps (typically 1200 - 19200)
dataBits DATABITS_7: 7 data bits (ASCII protocol only), DATABITS_8: data bits
stopBits STOPBITS_1: 1 stop bit, STOPBITS_1_5: 1.5 stop bits, STOPBITS_2: 2 stop bits
parity PARITY_NONE: no parity, PARITY_ODD: odd parity, PARITY_EVEN: even parity, PARITY_MARK: mark parity, PARITY_SPACE: space parity
Exceptions:
IOException An I/O error occured
UnsupportedCommOperationException A communication parameter is not supported
PortInUseException Port is already used by somedbody else
IllegalArgumentException A parameter is invalid

Reimplemented in MbusAsciiMasterProtocol, and MbusRtuMasterProtocol.

synchronized void closeProtocol (  )  throws IOException [virtual]

Closes the serial port and releases any system resources associated with the port.

Exceptions:
IOException An I/O error occured

Implements MbusMasterFunctions.

boolean isOpen (  )  [virtual]

Returns whether the port is open or not.

Return values:
true = open
false = closed

Implements MbusMasterFunctions.

synchronized void readCoils ( int  slaveAddr,
int  startRef,
boolean[]  bitArr 
) throws IOException, BusProtocolException [inherited]

Modbus function 1 (01 hex), Read Coil Status/Read Coils.

Reads the contents of the discrete outputs (coils, 0:00000 table).

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
bitArr Buffer which will contain the data read. The length of the array determines how many coils are read (Range: 1-2000).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void readInputDiscretes ( int  slaveAddr,
int  startRef,
boolean[]  bitArr 
) throws IOException, BusProtocolException [inherited]

Modbus function 2 (02 hex), Read Inputs Status/Read Input Discretes.

Reads the contents of the discrete inputs (coils, 1:00000 table).

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
bitArr Buffer which will contain the data read. The length of the array determines how many coils are read (Range: 1-2000).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void writeCoil ( int  slaveAddr,
int  bitAddr,
boolean  bitVal 
) throws IOException, BusProtocolException [inherited]

Modbus function 5 (05 hex), Force Single Coil/Write Coil.

Sets a single discrete output variable (coil, 0:00000 table) to either ON or OFF.

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 0 - 247)
bitAddr Coil address (Range: depends on configuration setting)
bitVal true sets, false clears discrete output variable
Exceptions:
IllegalStateException Port or connection is closed
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
Broadcast supported for serial protocols
synchronized void forceMultipleCoils ( int  slaveAddr,
int  startRef,
boolean[]  bitArr 
) throws IOException, BusProtocolException [inherited]

Modbus function 15 (0F hex), Force Multiple Coils.

Writes binary values into a sequence of discrete outputs (coils, 0:00000 table).

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
bitArr Buffer which contains the data to be sent. The length of the array determines how many coils are written (Range: 1-1968).
Exceptions:
IllegalStateException Port or connection is closed
IOException An I/O error occured
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
Broadcast supported for serial protocols
synchronized void readMultipleRegisters ( int  slaveAddr,
int  startRef,
short[]  regArr 
) throws IOException, BusProtocolException [inherited]

Modbus function 3 (03 hex), Read Holding Registers/Read Multiple Registers.

Reads the contents of the output registers (holding registers, 4:00000 table).

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
regArr Buffer which will be filled with the data read. The length of the array determines how many registers are read (Range: 1-125).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void readMultipleRegisters ( int  slaveAddr,
int  startRef,
int[]  int32Arr 
) throws IOException, BusProtocolException [inherited]

Modbus function 3 (03 hex) for 32-bit int data types, Read Holding Registers/Read Multiple Registers as int data.

Reads the contents of pairs of two consecutive output registers (holding registers, 4:00000 table) into float values.

Remarks:
Depending on the 32-bit Mode setting, an int will be transferred as two consecutive 16-bit registers (Standard) or as one 32-bit register (Daniel/Enron).
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
int32Arr Buffer which will be filled with the data read. The length of the array determines how many registers are read (Range: 1-62).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void readMultipleRegisters ( int  slaveAddr,
int  startRef,
float[]  float32Arr 
) throws IOException, BusProtocolException [inherited]

Modbus function 3 (03 hex) for 32-bit float data types, Read Holding Registers/Read Multiple Registers as float data.

Reads the contents of pairs of two consecutive output registers (holding registers, 4:00000 table) into float values.

Remarks:
Depending on the 32-bit Mode setting, an int will be transferred as two consecutive 16-bit registers (Standard) or as one 32-bit register (Daniel/Enron).
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
float32Arr Buffer which will be filled with the data read. The length of the array determines how many registers are read (Range: 1-62).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void readInputRegisters ( int  slaveAddr,
int  startRef,
short[]  regArr 
) throws IOException, BusProtocolException [inherited]

Modbus function 4 (04 hex), Read Input Registers.

Read the contents of the input registers (3:00000 table).

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
regArr Buffer which will be filled with the data read. The length of the array determines how many registers are read (Range: 1-125).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void readInputRegisters ( int  slaveAddr,
int  startRef,
int[]  int32Arr 
) throws IOException, BusProtocolException [inherited]

Modbus function 4 (04 hex) for 32-bit int data types, Read Input Registers as int data.

Reads the contents of pairs of two consecutive input registers (3:00000 table) into float values.

Remarks:
Depending on the 32-bit Mode setting, an int will be transferred as two consecutive 16-bit registers (Standard) or as one 32-bit register (Daniel/Enron).
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
int32Arr Buffer which will be filled with the data read. The length of the array determines how many registers are read (Range: 1-62).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void readInputRegisters ( int  slaveAddr,
int  startRef,
float[]  float32Arr 
) throws IOException, BusProtocolException [inherited]

Modbus function 4 (04 hex) for 32-bit float data types, Read Input Registers as float data.

Reads the contents of pairs of two consecutive input registers (3:00000 table) into float values.

Remarks:
Depending on the 32-bit Mode setting, an int will be transferred as two consecutive 16-bit registers (Standard) or as one 32-bit register (Daniel/Enron).
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
startRef Start reference (Range: depends on configuration setting)
float32Arr Buffer which will be filled with the data read. The length of the array determines how many registers are read (Range: 1-62).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void writeSingleRegister ( int  slaveAddr,
int  regAddr,
short  regVal 
) throws IOException, BusProtocolException [inherited]

Modbus function 6 (06 hex), Preset Single Register/Write Single Register.

Writes a value into a single output register (holding register, 4:00000 reference).

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 0 - 247)
regAddr Register address (Range: depends on configuration setting)
regVal Data to be sent
Exceptions:
IllegalStateException Port or connection is closed
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
Broadcast supported for serial protocols
synchronized void writeMultipleRegisters ( int  slaveAddr,
int  startRef,
short[]  regArr 
) throws IOException, BusProtocolException [inherited]

Modbus function 16 (10 hex), Preset Multiple Registers/Write Multiple Registers.

Writes values into a sequence of output registers (holding registers, 4:00000 table).

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 0 - 247)
startRef Start reference (Range depends on configuration setting)
regArr Buffer with the data to be sent. The length of the array determines how many registers are sent (Range: 1-61).
Exceptions:
IllegalStateException Port or connection is closed
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
Broadcast supported for serial protocols
synchronized void writeMultipleRegisters ( int  slaveAddr,
int  startRef,
int[]  int32Arr 
) throws IOException, BusProtocolException [inherited]

Modbus function 16 (10 hex) for 32-bit int data types, Preset Multiple Registers/Write Multiple Registers with int data.

Writes int values into a pairs of output registers (holding registers, 4:00000 table).

Remarks:
Depending on the 32-bit Mode setting, an int will be transferred as two consecutive 16-bit registers (Standard) or as one 32-bit register (Daniel/Enron).
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 0 - 247)
startRef Start reference (Range: depends on configuration setting)
int32Arr Buffer with the data to be sent. The length of the array determines how many registers are sent (Range: 1-61).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
Broadcast supported for serial protocols
synchronized void writeMultipleRegisters ( int  slaveAddr,
int  startRef,
float[]  float32Arr 
) throws IOException, BusProtocolException [inherited]

Modbus function 16 (10 hex) for 32-bit float data types, Preset Multiple Registers/Write Multiple Registers with float data.

Writes float values into a pairs of output registers (holding registers, 4:00000 table).

Remarks:
Depending on the 32-bit Mode setting, an int will be transferred as two consecutive 16-bit registers (Standard) or as one 32-bit register (Daniel/Enron).
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 0 - 247)
startRef Start reference (Range: depends on configuration setting)
float32Arr Buffer with the data to be sent. The length of the array determines how many registers are sent (Range: 1-61).
Exceptions:
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
Broadcast supported for serial protocols
synchronized void maskWriteRegister ( int  slaveAddr,
int  regAddr,
short  andMask,
short  orMask 
) throws IOException, BusProtocolException [inherited]

Modbus function 22 (16 hex), Mask Write Register.

Masks bits according to an AND & an OR mask into a single output register (holding register, 4:00000 reference). Masking is done as follows: result = (currentVal AND andMask) OR (orMask AND (NOT andMask))

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
regAddr Register address (Range: depends on configuration setting)
andMask Mask to be applied as a logic AND to the register
orMask Mask to be applied as a logic OR to the register
Exceptions:
IllegalStateException Port or connection is closed
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void readWriteRegisters ( int  slaveAddr,
int  readRef,
short[]  readArr,
int  writeRef,
short[]  writeArr 
) throws IOException, BusProtocolException [inherited]

Modbus function 23 (17 hex), Read/Write Registers.

Combines reading and writing of the output registers in one transaction (holding registers, 4:00000 table).

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
readRef Start reference for reading (Range: depends on configuration setting)
readArr Buffer which will contain the data read. The length of the array determines how many registers are read (Range: 1-125).
writeRef Start reference for writing (Range: depends on configuration setting)
writeArr Buffer with data to be sent. The length of the array determines how many registers are sent (Range: 1-121).
Exceptions:
IllegalStateException Port or connection is closed
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized byte readExceptionStatus ( int  slaveAddr  )  throws IOException, BusProtocolException [inherited]

Modbus function 7 (07 hex), Read Exception Status.

Reads the eight exception status coils within the slave device.

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255)
Exceptions:
IllegalStateException Port or connection is closed
IOException An I/O error occured
IllegalArgumentException A parameter is out of range
BusProtocolException A protocol failure occured. See descendants of BusProtocolException for a more detailed failure list.
Note:
No broadcast supported
synchronized void setTimeout ( int  timeOut  )  [inherited]

Configures time-out.

This function sets the time-out to the specified value. A value of 0 disables the time-out, which causes all subsequent calls to data and control functions to block.

Note:
A port or connection must be closed in order to configure it.
Parameters:
timeOut Timeout value in ms (Range: 0 - 100000), 0 disables time-out
Exceptions:
IllegalStateException Port is open
IllegalArgumentException Parameter is out of range
int getTimeout (  )  [inherited]

Returns the operation time-out value.

Returns:
Timeout value in ms
synchronized void setPollDelay ( int  pollDelay  )  [inherited]

Configures poll delay.

This function sets the delay time which applies between two consecutive Modbus read/write. A value of 0 disables the poll delay.

Note:
A port or connection must be closed in order to configure it.
Parameters:
pollDelay Delay time in ms (Range: 0 - 100000), 0 disables poll delay
Exceptions:
IllegalStateException Port is open
IllegalArgumentException Parameter is out of range
int getPollDelay (  )  [inherited]

Returns the poll delay time.

Returns:
Delay time in ms, 0 if poll delay is switched off
synchronized void setRetryCnt ( int  retryCnt  )  [inherited]

Configures the automatic retry setting.

A value of 0 disables any automatic retries.

Note:
A port or connection must be closed in order to configure it.
Parameters:
retryCnt Retry count (Range: 0 - 10), 0 disables retries
Exceptions:
IllegalStateException Port is open
IllegalArgumentException Parameter is out of range
int getRetryCnt (  )  [inherited]

Returns the automatic retry count.

Returns:
Retry count
synchronized long getTotalCounter (  )  [inherited]

Returns how often a transmit/receive cycle has been executed.

Returns:
Counter value
synchronized long getSuccessCounter (  )  [inherited]

Returns how often a transmit/receive cycle was successful.

Returns:
Counter value
void configureStandard32BitMode (  )  [inherited]

Configures all slaves for Standard 32-bit Mode.

In Standard 32-bit Register Mode a 32-bit value is transmitted as two consecutive 16-bit Modbus registers.

Remarks:
This is the default mode
synchronized void configureStandard32BitMode ( int  slaveAddr  )  [inherited]

Configures a slave for Standard 32-bit Register Mode.

In Standard 32-bit Register Mode a 32-bit value is transmitted as two consecutive 16-bit Modbus registers.

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255). A value of zero configures the behaviour for broadcasting.
Remarks:
This is the default mode
void configureSingleReg32BitMode (  )  [inherited]

Configures all slaves for Single Register 32-bit Mode.

Some Modbus flavours like the Daniel/Enron protocol represent a 32-bit value using one 32-bit Modbus register instead of two 16-bit registers.

synchronized void configureSingleReg32BitMode ( int  slaveAddr  )  [inherited]

Configures all slaves for Single Register 32-bit Mode.

Some Modbus flavours like the Daniel/Enron protocol represent a 32-bit value using one 32-bit Modbus register instead of two 16-bit registers.

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255). A value of zero configures the behaviour for broadcasting.
void configureCountFromOne (  )  [inherited]

Configures the reference counting scheme to start with one for all slaves.

This renders the reference range to be 1 to 0x10000 and register #0 is an illegal register.

Remarks:
This is the default mode
synchronized void configureCountFromOne ( int  slaveAddr  )  [inherited]

Configures a slave's reference counting scheme to start with one.

This renders the reference range to be 1 to 0x10000 and register #0 is an illegal register.

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255). A value of zero configures the behaviour for broadcasting.
Remarks:
This is the default mode
void configureCountFromZero (  )  [inherited]

Configures the reference counting scheme to start with zero for all slaves.

This is also known as PDU addressing.

This renders the valid reference range to be 0 to 0xFFFF.

This renders the first register to be #0 for all slaves.

synchronized void configureCountFromZero ( int  slaveAddr  )  [inherited]

Configures a slave's reference counting scheme to start with zero.

This is also known as PDU addressing.

This renders the valid reference range to be 0 to 0xFFFF.

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255). A value of zero configures the behaviour for broadcasting.
void configureLittleEndianInts (  )  [inherited]

Disables word swapping for int data type functions for all slaves.

Modbus is using little-endian word order for 32-bit values. This setting assumes that the slave also serves 32-bit data in in little little-endian word order.

Remarks:
This is the default mode
synchronized void configureLittleEndianInts ( int  slaveAddr  )  [inherited]

Disables word swapping for int data type functions on a per slave basis.

Modbus is using little-endian word order for 32-bit values. This setting assumes that the slave also serves 32-bit data in little little-endian word order.

Remarks:
This is the default mode
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255). A value of zero configures the behaviour for broadcasting.
void configureBigEndianInts (  )  [inherited]

Configures int data type functions to do a word swap for all slaves.

Modbus is using little-endian word order for 32-bit values. The data transfer functions operating upon 32-bit int data types can be configured to do a word swap which enables them to read 32-bit data correctly from a big-endian machine.

synchronized void configureBigEndianInts ( int  slaveAddr  )  [inherited]

Enables int data type functions to do a word swap on a per slave basis.

Modbus is using little-endian word order for 32-bit values. The data transfer functions operating upon 32-bit int data types can be configured to do a word swap which enables them to read 32-bit data correctly from a big-endian machine.

Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255). A value of zero configures the behaviour for broadcasting.
void configureLittleEndianFloats (  )  [inherited]

Disables float data type functions to do a word swap for all slaves.

Modbus is using little-endian word order for 32-bit values. This setting assumes that the slaves also serves 32-bit floats in little little-endian word order which is the most common case.

Remarks:
This is the default mode
synchronized void configureLittleEndianFloats ( int  slaveAddr  )  [inherited]

Disables float data type functions to do a word swap on a per slave basis.

Modbus is using little-endian word order for 32-bit values. This setting assumes that the slave also serves 32-bit floats in little little-endian word order which is the most common case.

Remarks:
This is the default mode
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255). A value of zero configures the behaviour for broadcasting.
void configureSwappedFloats (  )  [inherited]

Configures float data type functions to do a word swap for all slaves.

The data functions operating upon 32-bit float data types can be configured to do a word swap.

Note:
Most platforms store floats in IEEE 754 little-endian order which does not need a word swap.
synchronized void configureSwappedFloats ( int  slaveAddr  )  [inherited]

Enables float data type functions to do a word swap on a per slave basis.

The data functions operating upon 32-bit float data types can be configured to do a word swap.

Note:
Most platforms store floats in IEEE 754 little-endian order which does not need a word swap.
Parameters:
slaveAddr Modbus address of slave device or unit identifier (Range: 1 - 255). A value of zero configures the behaviour for broadcasting.

FieldTalk Modbus Master Library, Java Edition
Library version 2.6.5
Speak to the Experts
Modbus Organization Member logo

We are member of the Modbus Organization, Inc.

Buy with Confidence
30-day money back guarantee All our FieldTalk web sales are backed by a 30-day Money Back Guarantee.
We Accept
Bank VISA MasterCard PayPal
Customer Info
  • Info & Contact
  • Customer Login
  • Terms of Service
  • Terms of Sale
  • Privacy Policy
© 2005-2025 proconX Pty Ltd. All rights reserved. proconX and FieldTalk are trademarks of proconX Pty Ltd.
All other trademarks and registered trademarks appearing on www.modbusdriver.com are the property of their respective owners.