Modbus Serial Master Jamod Modbus

суббота 12 январяadmin
Modbus Serial Master Jamod Modbus Rating: 8,8/10 2860 reviews
CLI test for MODBUS RTU FC05 'Write Single Coils' with JAMOD
SerialDOTest.java

Java - unable to read modbus data using jamod 2( wimpi.modbus ) i am new to java serial port programming, I have trying to read data from the modbus slave device through modbus RTU over serial port from my java application.

/**
* Copyright 2002-2010 jamod development team
*
* Licensed under the Apache License, Version 2.0 (the 'License');
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an 'AS IS' BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
***/
packagenet.wimpi.modbus.cmd;
importnet.wimpi.modbus.Modbus;
importnet.wimpi.modbus.ModbusCoupler;
importnet.wimpi.modbus.io.ModbusSerialTransaction;
importnet.wimpi.modbus.msg.ModbusRequest;
importnet.wimpi.modbus.msg.WriteCoilRequest;
importnet.wimpi.modbus.net.SerialConnection;
// import net.wimpi.modbus.util.BitVector;
importnet.wimpi.modbus.util.SerialParameters;
/**
* Class that implements a simple commandline
* tool for reading an analog input.
*
* @author Dieter Wimberger
* @version @[email protected] (@[email protected])
*/
publicclassSerialDOTest {
publicstaticvoidmain(String[] args) {
SerialConnection con =null;
ModbusSerialTransaction trans =null;
ModbusRequest req =null;
String portname =null;
int unitid =0;
int ref =0;
boolean count =false;
int repeat =1;
try {
// 1. Setup the parameters
if (args.length <4) {
printUsage();
System.exit(1);
} else {
try {
portname = args[0];
unitid =Integer.parseInt(args[1]);
ref =Integer.parseInt(args[2]);
count ='true'.equals(args[3]);
if (args.length 5) {
repeat =Integer.parseInt(args[4]);
}
} catch (Exception ex) {
ex.printStackTrace();
printUsage();
System.exit(1);
}
}
// 2. Set slave identifier for master response parsing
ModbusCoupler.getReference().setUnitID(unitid);
System.out.println('net.wimpi.modbus.debug set to: '+System.getProperty('net.wimpi.modbus.debug'));
// 3. Setup serial parameters
SerialParameters params =newSerialParameters();
params.setPortName(portname);
params.setBaudRate(9600);
params.setDatabits(8);
params.setParity('None');
params.setStopbits(1);
params.setEncoding('rtu');
// params.setEcho(false);
if (Modbus.debug) {
System.out.println('Encoding ['+ params.getEncoding() +']');
}
// 4. Open the connection
con =newSerialConnection(params);
con.open();
// 5. Prepare a request
req =newWriteCoilRequest(ref, count);
req.setUnitID(unitid);
req.setHeadless();
if (Modbus.debug) {
System.out.println('Request: '+ req.getHexMessage());
}
// 6. Prepare the transaction
trans =newModbusSerialTransaction(con);
trans.setRequest(req);
// 7. Execute the transaction repeat times
int k =0;
do {
trans.execute();
// if (Modbus.debug) {
System.out.println('Response: '+ trans.getResponse().getHexMessage());
// }
k++;
} while (k < repeat);
// 8. Close the connection
con.close();
} catch (Exception ex) {
ex.printStackTrace();
// Close the connection
con.close();
}
}// main
privatestaticvoidprintUsage() {
System.out.println(
'java net.wimpi.modbus.cmd.SerialDOTest <portname [String]> <address{:<port>} [String]> <register [int16]> <state [boolean]> {<repeat [int]>}');
}// printUsage
}// class SerialDOTest
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

This is a fork of Java Modbus Library (jamod) - http://jamod.sourceforge.net/. Original SVN revision at the time of fork was 26 according to https://svn.code.sf.net/p/jamod/svn/trunk/.

Commits from openhab1-addons (modbus binding) and openhab2-addons (modbus transport) bundle have been rebased on top of clean jamod SVN checkout. Further details are documented in openHAB2 Modbus binding PR.

About

This project represents a Modbus implementation in 100% Java. It can be used to implement Modbus masters and slaves in various flavors:

  • Serial: ASCII, RTU (Master only), BIN
  • IP: TCP, UDP

The design of this library is fully object oriented, based on abstractions which should support easy understanding, reusability and extensibility.

One important goal of this project is a codebase that is easily usable on a variety of Java Platforms (and devices). Many limited resource devices do not provide Java 5 and Java 6 environments, and there are only limited possibilities for logging. Little brother the listening instrumentals zip.

This is an emulator for retro games LaserGame. She wants to be a tribute to all programmers who are dedicated in 1980 to the genre. Laser Disk Game is a. We lcome to the F irst E ver M ultiple A rcade L aserdisc E mulator! It's a program that lets one play the original versions of many laserdisc arcade games on one's PC. If you are impatient and just want to try out the program, click on DOWNLOAD and grab the latest version. Then click DOCUMENTATION to learn how to use the program. The game was released with the name 'Escape from Cyber City'. (H) All the games released for the Palcom MSX system can be played using the openMSX emulator. (I) The game was released with the name 'Revenge of the Ninja'. (J) The game was released with the name 'Road Avenger'. (K) For the USA market, the game was released with the name 'Road. Laserdisc game emulator for android free.