Documentation
MbusTcpMasterProtocol Class Reference
[TCP/IP Protocols]
MODBUS/TCP Master Protocol class. More...
Public Member Functions | |
| synchronized void | openProtocol (String hostName) throws IOException |
| Connects to a MODBUS/TCP slave. | |
| synchronized void | closeProtocol () throws IOException |
| Closes a TCP/IP connection to a MODBUS/TCP slave and releases any system resources associated with the connection. | |
| synchronized void | setPort (int portNo) |
| Sets the TCP port number to be used by the protocol. | |
| int | getPort () |
| Returns the TCP port number used by the protocol. | |
| boolean | isOpen () |
| Returns whether currently connected or not. | |
Protected Attributes | |
| int | portNo = 502 |
| TCP port number, defaults to 502. | |
Advantec ADAM 5000/6000 Series Commands | |
|
| |
| String | adamSendReceiveAsciiCmd (String commandStr) throws IOException, BusProtocolException |
| Send/Receive ADAM 5000/6000 ASCII command. | |
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
MODBUS/TCP Master Protocol class.
This class realises the MODBUS/TCP master protocol. It provides functions to establish and to close a TCP/IP connection to the slave as well as data and control functions which can be used after a connection to a slave device has been established successfully. 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 also possible to instantiate multiple instances of this class for establishing multiple connections to either the same or different hosts.
All functions have been implemented thread-safe. It is also possible to instantiate multiple instances for establishing multiple connections to either the same or different hosts.
- See also:
- Data and Control Functions for all Modbus Protocol Flavours, TCP/IP Protocols
- MbusRtuMasterProtocol, MbusElamMasterProtocol, MbusAsciiMasterProtocol
Member Function Documentation
| synchronized void openProtocol | ( | String | hostName | ) | throws IOException |
Connects to a MODBUS/TCP slave.
This function establishes a logical network connection between master and slave. After a connection has been established data and control functions can be used. A TCP/IP connection should be closed if it is no longer needed.
- Note:
- The default time-out for the connection is 1000 ms.
- The default TCP port number is 502.
- Parameters:
-
hostName String with IP address or host name
- Exceptions:
-
IOException An I/O error occured ConnectException Connection refused by remote, no service listening BindException Remote port in use NoRouteToHostException No route to host UnknownHostException Unknown host, e.g. wrong IP address or name SecurityException Security violation
- Note:
- Java 1.4 or higher is needed for connection time-out to work otherwise the system's default time-out value will be used for connections.
| synchronized void closeProtocol | ( | ) | throws IOException [virtual] |
Closes a TCP/IP connection to a MODBUS/TCP slave and releases any system resources associated with the connection.
- Exceptions:
-
IOException An I/O error occured
Implements MbusMasterFunctions.
| synchronized void setPort | ( | int | portNo | ) |
Sets the TCP port number to be used by the protocol.
- Remarks:
- Usually the port number remains unchanged and defaults to 502. In this case no call to this function is necessary. However if the port number has to be different from 502 this function must be called before opening the connection with openConnection().
- Parameters:
-
portNo Port number to be used when opening the connection (Range: 0 - 0xFFFF)
- Exceptions:
-
IllegalStateException Conection is open IllegalArgumentException Parameter is out of range
| int getPort | ( | ) |
Returns the TCP port number used by the protocol.
- Returns:
- Port number used by the protocol
| boolean isOpen | ( | ) | [virtual] |
Returns whether currently connected or not.
- Return values:
-
true = connected false = not connected
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