/j2mod

Enhanced Modbus library implemented in the Java programming language

Primary LanguageJavaApache License 2.0Apache-2.0

Overview

This project is a fork of the j2mod library which began life as jamod. A huge amount of refactoring and code fixing has been carried out on this library, with the addition of supporting JUnit tests, to ensure the library is fit for production use.

This implementation supports Modbus TCP, UDP, RTU over TCP, Serial RTU and Serial ASCII in both Master and Slave configurations. The serial comms is implemented using jSerialComm and does not require any outside dependencies over and above the logging facade slf4j.

For instructions on how to use the library, visit the wiki here

Releases

Stable releases can be downloaded here

https://mvnrepository.com/artifact/com.ghgande/j2mod

Snapshot releases can be downloaded here

https://oss.sonatype.org/content/repositories/snapshots/com/ghgande/j2mod/

Known Issues

  • There are no unit tests for the RTU over TCP transport
  • There is no way of adding AbstractSerialTransportListener to a ModbusSlave which means you cannot get informed of when the library is switching between send and receive
  • A refactor is overdue to hide package components to encourage best practise usage patterns

Dependencies

  • jSerialComm The serial comms is handled by JSerialComm that includs native implementations for most platforms.
  • slf4j Logging facade to fit in with your application logging framework
  • JRE 1.8 (JRE 1.6 for v2.70 and lower)

Including j2mod

<dependency>
    <groupId>com.ghgande</groupId>
    <artifactId>j2mod</artifactId>
    <version>LATEST</version>
</dependency>

Announcements