Search in sources :

Example 6 with SerialParameters

use of net.wimpi.modbus.util.SerialParameters in project openhab1-addons by openhab.

the class ModbusSlaveEndpointTestCase method testEqualsSameSerial.

@Test
public void testEqualsSameSerial() {
    ModbusSerialSlaveEndpoint e1 = new ModbusSerialSlaveEndpoint(new SerialParameters());
    ModbusSerialSlaveEndpoint e2 = new ModbusSerialSlaveEndpoint(new SerialParameters());
    Assert.assertEquals(e1, e2);
}
Also used : ModbusSerialSlaveEndpoint(org.openhab.binding.modbus.internal.pooling.ModbusSerialSlaveEndpoint) SerialParameters(net.wimpi.modbus.util.SerialParameters) Test(org.junit.Test)

Example 7 with SerialParameters

use of net.wimpi.modbus.util.SerialParameters in project openhab1-addons by openhab.

the class ModbusSlaveEndpointTestCase method testEqualsSameSerial2.

@Test
public void testEqualsSameSerial2() {
    ModbusSerialSlaveEndpoint e1 = new ModbusSerialSlaveEndpoint(new SerialParameters("port1", 9600, SerialPort.FLOWCONTROL_NONE, SerialPort.FLOWCONTROL_NONE, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE, Modbus.DEFAULT_SERIAL_ENCODING, true, 500));
    ModbusSerialSlaveEndpoint e2 = new ModbusSerialSlaveEndpoint(new SerialParameters("port1", 9600, SerialPort.FLOWCONTROL_NONE, SerialPort.FLOWCONTROL_NONE, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE, Modbus.DEFAULT_SERIAL_ENCODING, true, 500));
    Assert.assertEquals(e1, e2);
}
Also used : ModbusSerialSlaveEndpoint(org.openhab.binding.modbus.internal.pooling.ModbusSerialSlaveEndpoint) SerialParameters(net.wimpi.modbus.util.SerialParameters) Test(org.junit.Test)

Example 8 with SerialParameters

use of net.wimpi.modbus.util.SerialParameters in project openhab1-addons by openhab.

the class SerialAITest method main.

public static void main(String[] args) {
    SerialConnection con = null;
    ModbusSerialTransaction trans = null;
    ReadInputRegistersRequest req = null;
    ReadInputRegistersResponse res = null;
    String portname = null;
    int unitid = 0;
    int ref = 0;
    int count = 0;
    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 = Integer.parseInt(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 = new SerialParameters();
        params.setPortName(portname);
        params.setBaudRate(115200);
        params.setDatabits(8);
        params.setParity("None");
        params.setStopbits(1);
        params.setEncoding("ascii");
        params.setEcho(false);
        params.setReceiveTimeoutMillis(500);
        if (Modbus.debug) {
            System.out.println("Encoding [" + params.getEncoding() + "]");
        }
        // 4. Open the connection
        con = new SerialConnection(params);
        con.open();
        // 5. Prepare a request
        req = new ReadInputRegistersRequest(ref, count);
        req.setUnitID(unitid);
        req.setHeadless();
        if (Modbus.debug) {
            System.out.println("Request: " + req.getHexMessage());
        }
        // 6. Prepare the transaction
        trans = new ModbusSerialTransaction(con);
        trans.setRequest(req);
        // 7. Execute the transaction repeat times
        int k = 0;
        do {
            trans.execute();
            res = (ReadInputRegistersResponse) trans.getResponse();
            if (Modbus.debug) {
                System.out.println("Response: " + res.getHexMessage());
            }
            for (int n = 0; n < res.getWordCount(); n++) {
                System.out.println("Word " + n + "=" + res.getRegisterValue(n));
            }
            k++;
        } while (k < repeat);
        // 8. Close the connection
        con.close();
    } catch (Exception ex) {
        ex.printStackTrace();
        // Close the connection
        con.close();
    }
}
Also used : ReadInputRegistersRequest(net.wimpi.modbus.msg.ReadInputRegistersRequest) SerialConnection(net.wimpi.modbus.net.SerialConnection) ModbusSerialTransaction(net.wimpi.modbus.io.ModbusSerialTransaction) ReadInputRegistersResponse(net.wimpi.modbus.msg.ReadInputRegistersResponse) SerialParameters(net.wimpi.modbus.util.SerialParameters)

Example 9 with SerialParameters

use of net.wimpi.modbus.util.SerialParameters in project openhab1-addons by openhab.

the class SerialDITest method main.

public static void main(String[] args) {
    SerialConnection con = null;
    ModbusSerialTransaction trans = null;
    ReadInputDiscretesRequest req = null;
    ReadInputDiscretesResponse res = null;
    String portname = null;
    int unitid = 0;
    int ref = 0;
    int count = 0;
    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 = Integer.parseInt(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 = new SerialParameters();
        params.setPortName(portname);
        params.setBaudRate(115200);
        params.setDatabits(7);
        params.setParity("None");
        params.setStopbits(2);
        // params.setEcho(true);
        if (Modbus.debug) {
            System.out.println("Encoding [" + params.getEncoding() + "]");
        }
        // 4. Open the connection
        con = new SerialConnection(params);
        con.open();
        // 5. Prepare a request
        req = new ReadInputDiscretesRequest(ref, count);
        req.setUnitID(unitid);
        req.setHeadless();
        if (Modbus.debug) {
            System.out.println("Request: " + req.getHexMessage());
        }
        // 6. Prepare the transaction
        trans = new ModbusSerialTransaction(con);
        trans.setRequest(req);
        // 7. Execute the transaction repeat times
        int k = 0;
        do {
            trans.execute();
            res = (ReadInputDiscretesResponse) trans.getResponse();
            if (Modbus.debug) {
                System.out.println("Response: " + res.getHexMessage());
            }
            BitVector inputs = res.getDiscretes();
            byte[] ret = new byte[inputs.size()];
            for (int i = 0; i < count; i++) {
                System.out.println("Bit " + i + " = " + inputs.getBit(i));
            }
            k++;
        } while (k < repeat);
        // 8. Close the connection
        con.close();
    } catch (Exception ex) {
        ex.printStackTrace();
        // Close the connection
        con.close();
    }
}
Also used : ReadInputDiscretesResponse(net.wimpi.modbus.msg.ReadInputDiscretesResponse) BitVector(net.wimpi.modbus.util.BitVector) ReadInputDiscretesRequest(net.wimpi.modbus.msg.ReadInputDiscretesRequest) SerialConnection(net.wimpi.modbus.net.SerialConnection) ModbusSerialTransaction(net.wimpi.modbus.io.ModbusSerialTransaction) SerialParameters(net.wimpi.modbus.util.SerialParameters)

Example 10 with SerialParameters

use of net.wimpi.modbus.util.SerialParameters in project openhab1-addons by openhab.

the class SerialSlaveTest method main.

public static void main(String[] args) {
    ModbusSerialListener listener = null;
    SimpleProcessImage spi = new SimpleProcessImage();
    String portname = args[0];
    if (Modbus.debug) {
        System.out.println("jModbus ModbusSerial Slave");
    }
    try {
        // 1. Prepare a process image
        spi = new SimpleProcessImage();
        spi.addDigitalOut(new SimpleDigitalOut(true));
        spi.addDigitalOut(new SimpleDigitalOut(false));
        spi.addDigitalIn(new SimpleDigitalIn(false));
        spi.addDigitalIn(new SimpleDigitalIn(true));
        spi.addDigitalIn(new SimpleDigitalIn(false));
        spi.addDigitalIn(new SimpleDigitalIn(true));
        spi.addRegister(new SimpleRegister(251));
        spi.addInputRegister(new SimpleInputRegister(45));
        // 2. Create the coupler and set the slave identity
        ModbusCoupler.getReference().setProcessImage(spi);
        ModbusCoupler.getReference().setMaster(false);
        ModbusCoupler.getReference().setUnitID(2);
        // 3. Set up serial parameters
        SerialParameters params = new SerialParameters();
        params.setPortName(portname);
        params.setBaudRate(115200);
        params.setDatabits(8);
        params.setParity("None");
        params.setStopbits(1);
        params.setEncoding("ascii");
        params.setEcho(false);
        params.setReceiveTimeoutMillis(100);
        if (Modbus.debug) {
            System.out.println("Encoding [" + params.getEncoding() + "]");
        }
        // 4. Set up serial listener
        listener = new ModbusSerialListener(params);
        listener.setListening(true);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
Also used : SimpleDigitalIn(net.wimpi.modbus.procimg.SimpleDigitalIn) SimpleDigitalOut(net.wimpi.modbus.procimg.SimpleDigitalOut) SimpleInputRegister(net.wimpi.modbus.procimg.SimpleInputRegister) SimpleProcessImage(net.wimpi.modbus.procimg.SimpleProcessImage) SimpleRegister(net.wimpi.modbus.procimg.SimpleRegister) ModbusSerialListener(net.wimpi.modbus.net.ModbusSerialListener) SerialParameters(net.wimpi.modbus.util.SerialParameters)

Aggregations

SerialParameters (net.wimpi.modbus.util.SerialParameters)10 Test (org.junit.Test)5 ModbusSerialSlaveEndpoint (org.openhab.binding.modbus.internal.pooling.ModbusSerialSlaveEndpoint)5 ModbusSerialTransaction (net.wimpi.modbus.io.ModbusSerialTransaction)2 SerialConnection (net.wimpi.modbus.net.SerialConnection)2 BitVector (net.wimpi.modbus.util.BitVector)2 HashMap (java.util.HashMap)1 NoSuchElementException (java.util.NoSuchElementException)1 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)1 Matcher (java.util.regex.Matcher)1 ModbusException (net.wimpi.modbus.ModbusException)1 ModbusSerialMaster (net.wimpi.modbus.facade.ModbusSerialMaster)1 ReadInputDiscretesRequest (net.wimpi.modbus.msg.ReadInputDiscretesRequest)1 ReadInputDiscretesResponse (net.wimpi.modbus.msg.ReadInputDiscretesResponse)1 ReadInputRegistersRequest (net.wimpi.modbus.msg.ReadInputRegistersRequest)1 ReadInputRegistersResponse (net.wimpi.modbus.msg.ReadInputRegistersResponse)1 ModbusSerialListener (net.wimpi.modbus.net.ModbusSerialListener)1 InputRegister (net.wimpi.modbus.procimg.InputRegister)1 Register (net.wimpi.modbus.procimg.Register)1 SimpleDigitalIn (net.wimpi.modbus.procimg.SimpleDigitalIn)1