Search in sources :

Example 1 with SimpleProcessImage

use of net.wimpi.modbus.procimg.SimpleProcessImage in project openhab1-addons by openhab.

the class TestCaseSupport method startServer.

private void startServer() throws UnknownHostException, InterruptedException {
    spi = new SimpleProcessImage();
    ModbusCoupler.getReference().setProcessImage(spi);
    ModbusCoupler.getReference().setMaster(false);
    ModbusCoupler.getReference().setUnitID(SLAVE_UNIT_ID);
    if (ServerType.TCP.equals(serverType)) {
        startTCPServer();
    } else if (ServerType.UDP.equals(serverType)) {
        startUDPServer();
    } else if (ServerType.SERIAL.equals(serverType)) {
        startSerialServer();
    } else {
        throw new NotImplementedException();
    }
}
Also used : NotImplementedException(org.apache.commons.lang.NotImplementedException) SimpleProcessImage(net.wimpi.modbus.procimg.SimpleProcessImage)

Example 2 with SimpleProcessImage

use of net.wimpi.modbus.procimg.SimpleProcessImage 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)

Example 3 with SimpleProcessImage

use of net.wimpi.modbus.procimg.SimpleProcessImage in project openhab1-addons by openhab.

the class TCPSlaveTest method main.

public static void main(String[] args) {
    ModbusTCPListener listener = null;
    SimpleProcessImage spi = null;
    int port = Modbus.DEFAULT_PORT;
    try {
        if (args != null && args.length == 1) {
            port = Integer.parseInt(args[0]);
        }
        System.out.println("jModbus Modbus Slave (Server)");
        // 1. prepare a process image
        spi = new SimpleProcessImage();
        spi.addDigitalOut(new SimpleDigitalOut(true));
        spi.addDigitalOut(new SimpleDigitalOut(true));
        spi.addDigitalIn(new SimpleDigitalIn(false));
        spi.addDigitalIn(new SimpleDigitalIn(true));
        spi.addDigitalIn(new SimpleDigitalIn(false));
        spi.addDigitalIn(new SimpleDigitalIn(true));
        // allow checking LSB/MSB order
        spi.addDigitalIn(new SimpleDigitalIn(true));
        spi.addDigitalIn(new SimpleDigitalIn(true));
        spi.addDigitalIn(new SimpleDigitalIn(true));
        spi.addDigitalIn(new SimpleDigitalIn(true));
        spi.addRegister(new SimpleRegister(251));
        spi.addInputRegister(new SimpleInputRegister(45));
        // 2. create the coupler holding the image
        ModbusCoupler.getReference().setProcessImage(spi);
        ModbusCoupler.getReference().setMaster(false);
        ModbusCoupler.getReference().setUnitID(15);
        // 3. create a listener with 3 threads in pool
        if (Modbus.debug) {
            System.out.println("Listening...");
        }
        listener = new ModbusTCPListener(3);
        listener.setPort(port);
        listener.start();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
Also used : SimpleDigitalIn(net.wimpi.modbus.procimg.SimpleDigitalIn) SimpleDigitalOut(net.wimpi.modbus.procimg.SimpleDigitalOut) ModbusTCPListener(net.wimpi.modbus.net.ModbusTCPListener) SimpleInputRegister(net.wimpi.modbus.procimg.SimpleInputRegister) SimpleProcessImage(net.wimpi.modbus.procimg.SimpleProcessImage) SimpleRegister(net.wimpi.modbus.procimg.SimpleRegister)

Example 4 with SimpleProcessImage

use of net.wimpi.modbus.procimg.SimpleProcessImage in project openhab1-addons by openhab.

the class UDPSlaveTest method main.

public static void main(String[] args) {
    ModbusUDPListener listener = null;
    SimpleProcessImage spi = null;
    int port = Modbus.DEFAULT_PORT;
    try {
        if (args != null && args.length == 1) {
            port = Integer.parseInt(args[0]);
        }
        System.out.println("jModbus Modbus/UDP Slave v0.1");
        // 1. Prepare a process image
        spi = new SimpleProcessImage();
        spi.addDigitalOut(new SimpleDigitalOut(true));
        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));
        ModbusCoupler.getReference().setProcessImage(spi);
        ModbusCoupler.getReference().setMaster(false);
        ModbusCoupler.getReference().setUnitID(15);
        // 2. Setup and start listener
        listener = new ModbusUDPListener();
        listener.setPort(port);
        listener.start();
    } 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) ModbusUDPListener(net.wimpi.modbus.net.ModbusUDPListener) SimpleProcessImage(net.wimpi.modbus.procimg.SimpleProcessImage) SimpleRegister(net.wimpi.modbus.procimg.SimpleRegister)

Aggregations

SimpleProcessImage (net.wimpi.modbus.procimg.SimpleProcessImage)4 SimpleDigitalIn (net.wimpi.modbus.procimg.SimpleDigitalIn)3 SimpleDigitalOut (net.wimpi.modbus.procimg.SimpleDigitalOut)3 SimpleInputRegister (net.wimpi.modbus.procimg.SimpleInputRegister)3 SimpleRegister (net.wimpi.modbus.procimg.SimpleRegister)3 ModbusSerialListener (net.wimpi.modbus.net.ModbusSerialListener)1 ModbusTCPListener (net.wimpi.modbus.net.ModbusTCPListener)1 ModbusUDPListener (net.wimpi.modbus.net.ModbusUDPListener)1 SerialParameters (net.wimpi.modbus.util.SerialParameters)1 NotImplementedException (org.apache.commons.lang.NotImplementedException)1