All Projects → SciFiDryer → ModbusMechanic

SciFiDryer / ModbusMechanic

Licence: Apache-2.0 license
Cross platform GUI MODBUS TCP/RTU simulator & gateway. Interprets data types including ascii float and int.

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ModbusMechanic

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 (+426.98%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu, modbus-master, modbus-slave
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 (+96.83%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu, modbus-master, modbus-slave
huawei solar
Home Assistant integration for Huawei Solar inverters via Modbus
Stars: ✭ 126 (+100%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu
EasyModbusTCP.Java
EasyModbusTCP library for Java implementation
Stars: ✭ 76 (+20.63%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu
solaredge modbus
SolarEdge Modbus data collection library
Stars: ✭ 49 (-22.22%)
Mutual labels:  modbus, modbus-tcp, modbus-rtu
Mbusd
Open-source Modbus TCP to Modbus RTU (RS-232/485) gateway.
Stars: ✭ 233 (+269.84%)
Mutual labels:  modbus, modbus-tcp
Pymodbus
A full modbus protocol written in python
Stars: ✭ 1,225 (+1844.44%)
Mutual labels:  modbus, modbus-tcp
Pyscada
PyScada is a open source scada system that uses the Django framework as backend
Stars: ✭ 233 (+269.84%)
Mutual labels:  modbus, modbus-tcp
modbus port esp32
lib freemodbus porting for esp32
Stars: ✭ 22 (-65.08%)
Mutual labels:  modbus-rtu, modbus-master
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 (+1195.24%)
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 (+41.27%)
Mutual labels:  modbus, modbus-tcp
Genmon
Generac Generator Monitoring using a Raspberry Pi and WiFi
Stars: ✭ 143 (+126.98%)
Mutual labels:  modbus, modbus-tcp
Modbridge
Bridge between modbus and MQTT
Stars: ✭ 20 (-68.25%)
Mutual labels:  modbus, modbus-tcp
Gomodbus
A Modbus client in Go
Stars: ✭ 11 (-82.54%)
Mutual labels:  modbus, modbus-tcp
Modbus
Modbus RTU and TCP support for C#
Stars: ✭ 23 (-63.49%)
Mutual labels:  modbus, modbus-tcp
Modbuspp
A C++ Library for Modbus TCP Protocol
Stars: ✭ 108 (+71.43%)
Mutual labels:  modbus, modbus-tcp
J2mod
Enhanced Modbus library implemented in the Java programming language
Stars: ✭ 155 (+146.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 (+196.83%)
Mutual labels:  modbus, modbus-tcp
Node Modbus
Modbus TCP Client/Server implementation for Node.JS
Stars: ✭ 313 (+396.83%)
Mutual labels:  modbus, modbus-tcp
Easymodbustcp.net
Modbus TCP, Modbus UDP and Modbus RTU client/server library for .NET implementations
Stars: ✭ 358 (+468.25%)
Mutual labels:  modbus, modbus-tcp

Modbus Mechanic

Cross platform GUI tool for reading and testing MODBUS TCP and RTU instruments Screenshot

More screenshots

Overview

Frustrated by the lack of GUI Modbus testing tools available that could interpret data types (float, unsigned int) I built this application on top of the JLibModbus library.

Modbus Mechanic aims to be a tool that can quickly read a float32, unsigned int16, unsigned int32, or raw hex from an instrument without the need for anything other than the dependant jar files, and the java runtime environment. It also aims to be 100% driverless. It is a work in progress.

This is a project that is evolving, so suggestions to improve coding conventions are welcome. I'm sure there are opportunities for improvement within my code.

My testing capabilities are limited, so if you notice a problem, please open an issue.

JlibModbus is a seperate, independant project that this application depends on.

Quickstart

If you don't have Java installed, head to adoptopenjdk.net to download and install the Java runtime. Then, download & extract the latest release and double click ModbusMechanic.jar.

RTU scanner

The RTU scanner tool allows scanning of the entire RTU network for active nodes. This is useful if there is a slave device on the network for which the address is not known. For best results, the scanner should be the only master on the network.

Gateway

The gateway function allows exposing an RTU network to a TCP network. TCP master devices can send Modbus transactions to the machine running ModbusMechanic, and ModbusMechanic will obtain a response from the RTU network if possible.

Running Gateway in GUI

The gateway function is available from the GUI in the tools menu.

Running the Gateway on a headless box

The gateway can be run on a headless machine by specifying a config file. A config file may be generated one of two ways.

  1. Using the GUI - Go to the tools menu and select Gateway. Specify the settings and click Save Settings. The cfg file will be generated.
  2. Manually - Create a file in the following format. comport must be specified. Other parameters may be omited if defaults are acceptable.
comport=COM1
tcpport=502
baud=19200
parity=0
databits=8
stopbits=1
allowmonitor=0
Attribute Descrtiption Default
comport The name of the com port. On Linux this is the name of the serial port in the /dev directory, not the full path. Nothing
tcpport Port on which the TCP slave of the Gateway will be accessible. 502
baud Baud rate for the serial port. 9600
parity Parity for the serial port. 0=None 1=Odd 2=Even 3=Mark 4=Space 0
databits Data bits for serial port. 5-8 are acceptible. 8
stopbits Stop bits for serial port. 1=1 2=2 3=1.5 1
allowmonitor Allow remote frame monitor via telnet 0=no 1=yes 0
  1. Launch ModbusMechanic with the -gateway argument followed by the path to the config file. Example on Linux for config file named "gateway.cfg".
$ java -jar ModbusMechanic.jar -gateway gateway.cfg

Monitoring frames on a headless gateway

Enable remote frame monitoring (see above) and connect to the gateway's IP address with a telnet client. You will be able to see frames as they would be displayed in the watch window.

Bridging to other protocols

This functionality is still available in ModbusMechanic, but is being moved to a stand alone project ProtocolWhisperer

My language localizations are wrong, how can I report errors?

I am using automated translation to do localizations and am not a native speaker of all localizations. As a result, the terms in certain languages describing certain functions may be wrong. If you run across lingustic errors and would like to report them, please open an issue.

Dependencies

This project depends on the JLibModbus library and the PureJavaComm library for serial functionality. It depends on EtherIP for CIP functionality.

https://github.com/kochedykov/jlibmodbus

https://github.com/nyholku/purejavacomm

https://github.com/EPICSTools/etherip

Building from source

This is a NetBeans project. It can be built by pulling it in the NetBeans IDE or manually compiling. The project requires the JLibModbus jar. Serial functionality requires the PureJavaComm and JNA libraries.

Guide

https://scifidryer.github.io/ModbusMechanic/

Latest release

ModbusMechanic.v2.2.1.zip

Completed features and planned features in GUI

  • Read holding registers
  • Read input registers
  • Read coils
  • Read discretes
  • Write holding registers
  • Write coils
  • Slave stress test with custom packet crafter
  • Data interpreter
  • Word and byte swapper
  • RTU bus monitor
  • Gateway
  • Bookmarks
  • Master simulator
  • Slave simulator
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].