Witam!
Próbuję od dłuższego czasu napisać prostą aplikację do obsługi modbusa.
Mam przykładowy program, który działa w eclipse.

 package net.wimpi.modbus.cmd;
import java.awt.*;
import java.awt.event.*;
import java.net.InetAddress;

import net.wimpi.modbus.io.ModbusTCPTransaction;
import net.wimpi.modbus.msg.ReadInputDiscretesRequest;
import net.wimpi.modbus.msg.ReadInputDiscretesResponse;
import net.wimpi.modbus.net.TCPMasterConnection;
//import net.wimpi.modbus.Modbus;

/**
 * Class that implements a simple commandline
 * tool for reading a digital input.
 *
 * @author Dieter Wimberger
 * @version @version@ (@date@)
 */
public class DITest {

  public static void main(String[] args) {
	  TCPMasterConnection con = null;
	    ModbusTCPTransaction trans = null;
	    ReadInputDiscretesRequest req = null;
	    ReadInputDiscretesResponse res = null;

	    InetAddress addr = null;
	    int ref = 512;
	    int count = 512;
	    int repeat = 1;
	    int port = 502;		//Modbus.DEFAULT_PORT;
	    System.out.println("Dwa");
	    try {

	      //1. Setup the parameters
	      if (args.length < 3) {
	        printUsage();
	        System.exit(1);
	      } else {
	        try {
	          String astr = args[0];
	          int idx = astr.indexOf(':');
	          if(idx > 0) {
	          //  port = Integer.parseInt(astr.substring(idx+1));
	          //  astr = astr.substring(0,idx);
	          }
	          astr =  "192.168.5.203";
	          addr = InetAddress.getByName(astr);
	          ref = 512;	//Integer.parseInt(args[1]);
	          count = 56;	//Integer.parseInt(args[2]);
	          if (args.length == 4) {
	            repeat = Integer.parseInt(args[3]);
	          }
	        } catch (Exception ex) {
	          ex.printStackTrace();
	          printUsage();
	          System.exit(1);
	        }
	      }

	      //2. Open the connection
	      con = new TCPMasterConnection(addr);
	      con.setPort(port);
	      con.connect();

	      System.out.println("Connected to " + addr.toString() + ":" + con.getPort());

	      //3. Prepare the request
	      req = new ReadInputDiscretesRequest(ref, count);
	      //ReadCoilsRequest req = new ReadCoilsRequest(ref, count);
	      req.setUnitID(0);
	      System.out.println("Request: " + req.getHexMessage());

	      //4. Prepare the transaction
	      trans = new ModbusTCPTransaction(con);
	      trans.setRequest(req);
	      trans.setReconnecting(false);


	      //5. Execute the transaction repeat times
	      int k = 0;
	      do {
	        trans.execute();

	        res = (ReadInputDiscretesResponse) trans.getResponse();
	        //ReadCoilsResponse res = (ReadCoilsResponse) trans.getResponse();
	       
	        System.out.println("Response: " + res.getHexMessage() );
//	        System.out.println("Wynik: " + wynik );
	        System.out.println("Digital Inputs Status=" + res.getDiscretes().toString());
	        System.out.println();

	        //System.out.println("Coils Status=" + res.getCoils().toString());
	        k++;
	      } while (k < repeat);

	      //6. Close the connection
	      con.close();

	    } catch (Exception ex) {
	      ex.printStackTrace();
	    }
	    }//main

  private static void printUsage() {
    System.out.println(
        "java net.wimpi.modbus.cmd.DITest <address{:<port>} [String]> <register [int16]> <bitcount [int16]> {<repeat [int]>}"
    );
  }//printUsage

}//class DITest

Potrzebuję prosty przykład formularza, w którym co minutę będzie się wykonywał ten fragment:

	      int k = 0;
	      do {
	        trans.execute();

	        res = (ReadInputDiscretesResponse) trans.getResponse();
	        //ReadCoilsResponse res = (ReadCoilsResponse) trans.getResponse();
	       
	        System.out.println("Response: " + res.getHexMessage() );
//	        System.out.println("Wynik: " + wynik );
	        System.out.println("Digital Inputs Status=" + res.getDiscretes().toString()); 

i wynik res.getDiscretes().toString() wyświetlał w jakimś polu na formularzu.
Załączam bibliotekę.
Mogę prosić o pomoc?
Z góry dziękuję