All Projects → kochedykov → Jlibmodbus

kochedykov / Jlibmodbus

Licence: apache-2.0
JLibModbus is an implementation of the Modbus protocol v1.1b in java language.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jlibmodbus

rodbus
Rust implementation of Modbus with idiomatic bindings for C, C++, .NET, and Java
Stars: ✭ 34 (-77.18%)
Mutual labels:  modbus, modbus-tcp
Hslcommunication
An industrial IoT underlying architecture framework, focusing on the underlying technical communications and cross-platform, cross-language communication functions, to achieve a variety of mainstream PLC data reading and writing, to achieve modbus of various protocols read and write, and so on, to support the rapid construction of industrial upper computer software, configuration software, SCADA software, factory mes system, To help enterprise Industry 4.0 take-off, to achieve intelligent manufacturing, smart factory goals. The main PLC contains Siemens, Mitsubishi, Omron, Panasonic, Modbus, AB-PLC, Redis
Stars: ✭ 816 (+447.65%)
Mutual labels:  modbus, modbus-tcp
solaredge modbus
SolarEdge Modbus data collection library
Stars: ✭ 49 (-67.11%)
Mutual labels:  modbus, modbus-tcp
huawei solar
Home Assistant integration for Huawei Solar inverters via Modbus
Stars: ✭ 126 (-15.44%)
Mutual labels:  modbus, modbus-tcp
Pymodbus
A full modbus protocol written in python
Stars: ✭ 1,225 (+722.15%)
Mutual labels:  modbus, modbus-tcp
ModbusMechanic
Cross platform GUI MODBUS TCP/RTU simulator & gateway. Interprets data types including ascii float and int.
Stars: ✭ 63 (-57.72%)
Mutual labels:  modbus, modbus-tcp
Easymodbustcp.net
Modbus TCP, Modbus UDP and Modbus RTU client/server library for .NET implementations
Stars: ✭ 358 (+140.27%)
Mutual labels:  modbus, modbus-tcp
Pyscada
PyScada is a open source scada system that uses the Django framework as backend
Stars: ✭ 233 (+56.38%)
Mutual labels:  modbus, modbus-tcp
Modbridge
Bridge between modbus and MQTT
Stars: ✭ 20 (-86.58%)
Mutual labels:  modbus, modbus-tcp
Gomodbus
A Modbus client in Go
Stars: ✭ 11 (-92.62%)
Mutual labels:  modbus, modbus-tcp
modbus-esp8266
Most complete Modbus library for Arduino. A library that allows your Arduino board to communicate via Modbus protocol, acting as a master, slave or both. Supports network transport (Modbus TCP) and Serial line/RS-485 (Modbus RTU). Supports Modbus TCP Security for ESP8266/ESP32.
Stars: ✭ 332 (+122.82%)
Mutual labels:  modbus, modbus-tcp
Modbuspp
A C++ Library for Modbus TCP Protocol
Stars: ✭ 108 (-27.52%)
Mutual labels:  modbus, modbus-tcp
EasyModbusTCP.Java
EasyModbusTCP library for Java implementation
Stars: ✭ 76 (-48.99%)
Mutual labels:  modbus, modbus-tcp
go-modbus
modbus write in pure go, support rtu,ascii,tcp master library,also support tcp slave.(WIP new implement<old: https://github.com/thinkgos/gomodbus >)
Stars: ✭ 124 (-16.78%)
Mutual labels:  modbus, modbus-tcp
Mbusd
Open-source Modbus TCP to Modbus RTU (RS-232/485) gateway.
Stars: ✭ 233 (+56.38%)
Mutual labels:  modbus, modbus-tcp
Node Modbus
Modbus TCP Client/Server implementation for Node.JS
Stars: ✭ 313 (+110.07%)
Mutual labels:  modbus, modbus-tcp
J2mod
Enhanced Modbus library implemented in the Java programming language
Stars: ✭ 155 (+4.03%)
Mutual labels:  modbus, modbus-tcp
Modbustool
A modbus master and slave test tool with import and export functionality, supports TCP, UDP and RTU.
Stars: ✭ 187 (+25.5%)
Mutual labels:  modbus, modbus-tcp
Modbus
Modbus RTU and TCP support for C#
Stars: ✭ 23 (-84.56%)
Mutual labels:  modbus, modbus-tcp
Modbus Tcp Client
PHP client for Modbus TCP and Modbus RTU over TCP (can be used for serial)
Stars: ✭ 89 (-40.27%)
Mutual labels:  modbus, modbus-tcp

README

The MODBUS protocol implementation in pure java.

The main advantages of the library are following:

  • the library supports a lot of communication libraries (jssc, rxtx, purejavacomm, java comm api);
  • the library has (practically) complete implementation of the modbus protocol v1.1b.

AUTHORS

Vladislav Y. Kochedykov, software engineer, technical expert.

CONTACT

If you have problems, questions or suggestions, please contact me at email address [email protected]

To learn how to use the library you can either use examples in "examples\com\invertor\examples\modbus" folder or contact me at email.

Maven dependency:

The latest stable release. com.intelligt.modbus jlibmodbus 1.2.9.7

WEB SITE

project homepage: http://jlibmodbus.sourceforge.net https://github.com/kochedykov/jlibmodbus

purejavacomm homepage: http://www.sparetimelabs.com/purejavacomm/purejavacomm.php https://github.com/nyholku/purejavacomm

jssc home page: https://code.google.com/p/java-simple-serial-connector https://github.com/scream3r/java-simple-serial-connector

rxtx home page: http://users.frii.com/jarvi/rxtx/index.html

jserialcomm homepage: https://github.com/Fazecast/jSerialComm


----Release version 1.2.9.7 -------------------------------------------------------------------------------

* NEWS
* The automatic serial port connector selection is rolled back.

----Release version 1.2.9.6 -------------------------------------------------------------------------------

* NEWS
* IMPORTANTLY! Fixed the issue #22: MODBUS Master TCP - Socket left open.
* Fixed a bug with listening for incoming data on Android Things device.
* Add automatic selection of a serial port connector.
* Add Android Things support.

----Release version 1.2.9.5 -------------------------------------------------------------------------------

* Fixed a bug with an incorrect conversion from two integers to a long value.

----Release version 1.2.9.4 -------------------------------------------------------------------------------

* Fixed incoming frame logging.
* Fixed a bug in OutputStreamASCII - add unimplemented method write(byte[], int, int).
* Fixed the issue #17: Incorrect logic if lrc equals zero. Thanks to https://github.com/mlasevich

----Release version 1.2.9.3 -------------------------------------------------------------------------------

* Fixed hasNext() in ModbusValues iterator.
* Fixed error in JSerialComm implementation. https://sourceforge.net/p/jlibmodbus/bugs/2/

----Release version 1.2.9.2 -------------------------------------------------------------------------------

* Fixed a bug with setting timeout in SerialPortLoopback.
* Fixed a bug with setting a slave timeout.

----Release version 1.2.9.1 -------------------------------------------------------------------------------

* NEWS
* Experimental! Implemented RTU over TCP. Add a new serial port factories TcpClient and TcpServer. Usage: //server side SerialUtils.setSerialPortFactory(new SerialPortFactoryTcpServer(tcpParameters)); ModbusSlave slave = ModbusSlaveFactory.createModbusSlaveRTU(serialParameters);
* IMPORTANTLY! Fixed the issue #15: Bug in setRange method. Thanks to https://github.com/shdk
* Added ModbusSlaveSerialObserver and SerialPortInfo classes to notify if the com port was opened or closed.
* IMPORTANTLY! Added the jSerialComm library support.
* IMPORTANTLY! Fixed the issue #14:Bug in DataHolder class. Thanks to https://github.com/shdk
* Added API to retrieve information about a TCP client connected to the TCP slave.

----Release version 1.2.9.0 -------------------------------------------------------------------------------

* NEWS
* IMPORTANTLY! Renamed package from com.invertor.modbus to com.intelligt.modbus.jlibmodbus! 
* IMPORTANTLY! Change default read timeout to 1000 ms.
* Fixed a bug in GetCommEventLog.
* Added data frame events to Input/Output streams.
* Added the loopback serial port for testing applications without actual serial hardware. Author Kevin Kieffer.
* Added method ReadCoilsResponse#getModbusCoils that returns a ModbusCoils instance.
* Fixed a bug in ModbusValue#next().
* Fixed errors in data conversion operations.
* Added method ReadHoldingRegisters#getHoldingRegisters that returns a ModbusHoldingRegisters instance.
* Renamed getBytes -> getBytesBe.
* Renamed Coils->ModbusCoils, HoldingRegistors->ModbusHoldingRegisters.
* Added class ModbusValues.
* Renamed getValues -> getBytes, setValues -> setBytes.
* Added additional helpers.
* Added the BroadcastResponse class to avoid timeout exception while sending broadcast requests.
* Fixed an incorrect logic if crc equals zero. Thanks to flooduk (https://github.com/flooduk).
* Fixed handling of broadcast requests.
* Fixed handling of RestartCommunicationsOption.
* Optimized memory usage.
* Fixed the MIN_PDU_LENGTH value.
* Reduced copy operations number.

----Release version 1.2.8.4 -------------------------------------------------------------------------------

* NEWS
* Added basic maven pom file
* Thread safety. Thanks to Kevin Kieffer.
* HoldingRegisters and Coils is now observable. Thanks to Kevin Kieffer.
* Added a method to get a byte-buffer from ReadHoldingRegistersResponse.

----Release version 1.2.8.3 -------------------------------------------------------------------------------

* NEWS
* IMPORTANTLY! Fixed bug #1 Support of SlaveID=255 with ModbusTCP. Thanks to Francois DELOYE (https://sourceforge.net/u/sesa258801).
* Added broadcast support.

----Release version 1.2.8.2 -------------------------------------------------------------------------------

* NEWS
* Added a new method - SerialUtils#getConnectorVersion.
* Fixed bug in ModbusMaster#disconnectImpl. Thanks to dpozimski (https://github.com/dpozimski)!

----Release version 1.2.8.1 -------------------------------------------------------------------------------

* NEWS
* Fixed bug: setting of the "connected" status had no effect.
* Added ModbuMaster#connectImpl and ModbusMaster#disconnectImpl methods.

----Release version 1.2.8 ---------------------------------------------------------------------------------

* NEWS
* Added a new method ModbusMaster#isConnected that returns true if a master is connected to a remote slave.
* Added a new method ModbusSlave#isListening method that returns true if a slave is already listening for incoming connections.

----Release version 1.2.7 ---------------------------------------------------------------------------------

* NEWS
* IMPORTANTLY! Fixed bug with reading of multiple values in a request.

----Release version 1.2.6 ---------------------------------------------------------------------------------

* NEWS
* Fixed bug with a NPE thrown if setReadTimeout is invoked before port is opened.
* IMPORTANTLY! Added the PureJavaComm library support.

----Release version 1.2.5 ---------------------------------------------------------------------------------

* NEWS
* Added readTimeout to ModbusSlave. 
* API changes: Deleted a few factory-methods from ModbusMasterFactory and ModbusSlaveFactory.
* API changes: Renamed ModbusEvent to ModbusCommEvent.
* API changes: Added methods Coils#quantity() and HoldingRegisters#quantity().
* API changes: ModbusSlaver#open() -> ModbusSlaver#listen(), ModbusSlaver#close() -> ModbusSlaver#shutdown().
* API changes: ModbusMaster#open() -> ModbusMaster#connect(), ModbusMaster#close() -> ModbusMaster#disconnect().
* Fixed bug that type of quantity must be double or float before it'll be divided.

----Release version 1.2.4 ---------------------------------------------------------------------------------

* NEWS
* Fixed bug with address and quantity checking in ReadCoilsRequest#checkAddressRange.
* Improved search of a ModbusFunctionCode instance by value.
* Fixed issues found by FindBug utility(http://findbugs.sourceforge.net).
* Fixed bug with SerialPortJSSC#read(byte[] b, int off, int len) method.
* Fixed bug with setting readTimeout before opening a connection.

----Release version 1.2.3 ---------------------------------------------------------------------------------

* NEWS
* Added a class to obtain the version of the library.
* Improved logger output.
* Added method getPortIdentifiers to get a list of available port identifiers.

----Release version 1.2.2 ---------------------------------------------------------------------------------

* NEWS
* IMPORTANTLY! Added support for java communication api 3.0.
* IMPORTANTLY! Migrated to the apache license version 2.0.
* Methods "purgeRx", "purgeTx", "clear" are removed from SerialPort class.
* Method "reset" is removed from ModbusConnection.
* Fixed potential bug with infinite loop in ModbusMaster.readResponse.
* Added method ModbusConnection.getReadTimeout.
* Prevents a NullPointerException if master is used before it has been opened.

----Release version 1.2.1 ---------------------------------------------------------------------------------

* NEWS:
* IMPORTANTLY! Add the RXTX library support! Usage: SerialUtils.setSerialPortFactory(new SerialPortFactoryRXTX());
* Added checking if jssc library is available.
* Fixed potential bug with reading of byte array.
* Added avoiding some NPEs.
* IMPORTANTLY! Fixed bug with flushing of output buffers.
* Modbus RTU master is now able to connect via tcp socket (in case of rs232/rs485 to wifi adapters).

----Release version 1.2 -----------------------------------------------------------------------------------

* NEWS:
* Added extended logging.
* Add auto-increment of transaction id. See Modbus.setAutoIncrementTransactionId.

----Release version 1.1 -----------------------------------------------------------------------------------

* NEWS:
* IMPORTANTLY! Fixed bug with offset reading.
* IMPORTANTLY! Fixed data conversion issues.

----Release version 1.0 -----------------------------------------------------------------------------------

* Implemented MODBUS functions:
* 0x01 - Read Coils
* 0x02 - Read Discrete Inputs
* 0x03 - Read Holding Registers
* 0x04 - Read Input Registers
* 0x05 - Write Single Coil
* 0x06 - Write Single Register
* 0x07 - Read Exception Status(serial line only)
* 0x08 - Diagnostics(serial line only)
* 0x0B - Get Comm Event Counter(serial line only)
* 0x0C - Get Comm Event Log(serial line only)
* 0x0F - Write Multiple Coils
* 0x10 - Write Multiple Registers
* 0x11 - Report Slave Id(serial line only)
* 0x14 - Read File Record
* 0x15 - Write File Record
* 0x16 - Mask Write Register
* 0x17 - Read Write Multiple Registers
* 0x18 - Read Fifo Queue
* 0x2B - Encapsulated Interface Tansport(Read Device Identification interface, (0x2B / 0x0E))
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].