Java源码示例:net.wimpi.modbus.procimg.DigitalOut

示例1
@Parameters
public static Collection<Object[]> parameters() {
    List<Object[]> allParameters = new ArrayList<>();
    List<Object[]> baseParameters = Arrays.asList(new Object[][] {
            { false, ModbusBindingProvider.TYPE_COIL, SimpleDigitalOut.class, "addDigitalOut", DigitalOut.class },
            { true, ModbusBindingProvider.TYPE_COIL, SimpleDigitalOut.class, "addDigitalOut", DigitalOut.class },
            { false, ModbusBindingProvider.TYPE_DISCRETE, SimpleDigitalIn.class, "addDigitalIn", DigitalIn.class },
            { true, ModbusBindingProvider.TYPE_DISCRETE, SimpleDigitalIn.class, "addDigitalIn",
                    DigitalIn.class } });
    for (ServerType serverType : TEST_SERVERS) {
        for (Object[] params : baseParameters) {
            ArrayList<Object> paramsWithServer = new ArrayList<>();
            paramsWithServer.add(serverType);
            paramsWithServer.addAll(Arrays.asList(params));
            allParameters.add(paramsWithServer.toArray());
        }
    }

    return allParameters;
}
 
示例2
public UnityModbusResponse createResponse() {
	UnityReadCoilsResponse response = null;
	DigitalOut[] douts = null;

	// 1. get process image
	ProcessImage procimg = m_umc.getProcessImage();
	// 2. get coil range
	try {
		douts = procimg.getDigitalOutRange(this.getReference(),
				this.getBitCount());
	} catch (IllegalAddressException iaex) {
		return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
	}
	response = new UnityReadCoilsResponse(douts.length, m_umc);

	// transfer header data
	if (!isHeadless()) {
		response.setTransactionID(this.getTransactionID());
		response.setProtocolID(this.getProtocolID());
	} else {
		response.setHeadless();
	}
	response.setUnitID(this.getUnitID());
	response.setFunctionCode(this.getFunctionCode());

	for (int i = 0; i < douts.length; i++) {
		response.setCoilStatus(i, douts[i].isSet());
	}
	return response;
}
 
示例3
public UnityModbusResponse createResponse() {
	UnityWriteCoilResponse response = null;
	DigitalOut dout = null;

	// 1. get process image
	ProcessImage procimg = m_umc.getProcessImage();
	// 2. get coil
	try {
		dout = procimg.getDigitalOut(this.getReference());
		// 3. set coil
		dout.set(this.getCoil());
		// if(Modbus.debug)
		// System.out.println("set coil ref="+this.getReference()+" state="
		// + this.getCoil());
	} catch (IllegalAddressException iaex) {
		return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
	}
	response = new UnityWriteCoilResponse(this.getReference(), dout.isSet(), m_umc);
	// transfer header data
	if (!isHeadless()) {
		response.setTransactionID(this.getTransactionID());
		response.setProtocolID(this.getProtocolID());
	} else {
		response.setHeadless();
	}
	response.setUnitID(this.getUnitID());
	response.setFunctionCode(this.getFunctionCode());
	return response;
}
 
示例4
public UnityModbusResponse createResponse() {
	UnityWriteMultipleCoilsResponse response = null;
	DigitalOut douts[] = null;

	// 1. get process image
	ProcessImage procimg = m_umc.getProcessImage();
	// 2. get coil range
	try {
		douts = procimg.getDigitalOutRange(m_Reference, m_Coils.size());
		// 3. set coils
		for (int i = 0; i < douts.length; i++) {
			douts[i].set(m_Coils.getBit(i));
		}
	} catch (IllegalAddressException iaex) {
		return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
	}
	response = new UnityWriteMultipleCoilsResponse(m_Reference, m_Coils.size(), m_umc);

	// transfer header data
	if (!isHeadless()) {
		response.setTransactionID(this.getTransactionID());
		response.setProtocolID(this.getProtocolID());
	} else {
		response.setHeadless();
	}
	response.setUnitID(this.getUnitID());
	response.setFunctionCode(this.getFunctionCode());

	return response;
}
 
示例5
public ModbusResponse createResponse() {
	WriteMultipleCoilsResponse response = null;
	DigitalOut douts[] = null;

	// 1. get process image
	ProcessImage procimg = ModbusCoupler.getReference().getProcessImage();
	// 2. get coil range
	try {
		douts = procimg.getDigitalOutRange(m_Reference, m_Coils.size());
		// 3. set coils
		for (int i = 0; i < douts.length; i++) {
			douts[i].set(m_Coils.getBit(i));
		}
	} catch (IllegalAddressException iaex) {
		return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
	}
	response = new WriteMultipleCoilsResponse(m_Reference, m_Coils.size());

	// transfer header data
	if (!isHeadless()) {
		response.setTransactionID(this.getTransactionID());
		response.setProtocolID(this.getProtocolID());
	} else {
		response.setHeadless();
	}
	response.setUnitID(this.getUnitID());
	response.setFunctionCode(this.getFunctionCode());

	return response;
}
 
示例6
public ModbusResponse createResponse() {
	WriteCoilResponse response = null;
	DigitalOut dout = null;

	// 1. get process image
	ProcessImage procimg = ModbusCoupler.getReference().getProcessImage();
	// 2. get coil
	try {
		dout = procimg.getDigitalOut(this.getReference());
		// 3. set coil
		dout.set(this.getCoil());
		// if(Modbus.debug)
		// System.out.println("set coil ref="+this.getReference()+" state="
		// + this.getCoil());
	} catch (IllegalAddressException iaex) {
		return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
	}
	response = new WriteCoilResponse(this.getReference(), dout.isSet());
	// transfer header data
	if (!isHeadless()) {
		response.setTransactionID(this.getTransactionID());
		response.setProtocolID(this.getProtocolID());
	} else {
		response.setHeadless();
	}
	response.setUnitID(this.getUnitID());
	response.setFunctionCode(this.getFunctionCode());
	return response;
}
 
示例7
public ModbusResponse createResponse() {
	ReadCoilsResponse response = null;
	DigitalOut[] douts = null;

	// 1. get process image
	ProcessImage procimg = ModbusCoupler.getReference().getProcessImage();
	// 2. get coil range
	try {
		douts = procimg.getDigitalOutRange(this.getReference(),
				this.getBitCount());
	} catch (IllegalAddressException iaex) {
		return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
	}
	response = new ReadCoilsResponse(douts.length);

	// transfer header data
	if (!isHeadless()) {
		response.setTransactionID(this.getTransactionID());
		response.setProtocolID(this.getProtocolID());
	} else {
		response.setHeadless();
	}
	response.setUnitID(this.getUnitID());
	response.setFunctionCode(this.getFunctionCode());
	response.setReference(m_Reference);

	for (int i = 0; i < douts.length; i++) {
		response.setCoilStatus(i, douts[i].isSet());
	}
	return response;
}
 
示例8
@Override
public ModbusResponse createResponse() {
    WriteMultipleCoilsResponse response = null;
    DigitalOut douts[] = null;

    // 1. get process image
    ProcessImage procimg = ModbusCoupler.getReference().getProcessImage();
    // 2. get coil range
    try {
        douts = procimg.getDigitalOutRange(m_Reference, m_Coils.size());
        // 3. set coils
        for (int i = 0; i < douts.length; i++) {
            douts[i].set(m_Coils.getBit(i));
        }
    } catch (IllegalAddressException iaex) {
        return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
    }
    response = new WriteMultipleCoilsResponse(m_Reference, m_Coils.size());

    // transfer header data
    if (!isHeadless()) {
        response.setTransactionID(this.getTransactionID());
        response.setProtocolID(this.getProtocolID());
    } else {
        response.setHeadless();
    }
    response.setUnitID(this.getUnitID());
    response.setFunctionCode(this.getFunctionCode());

    return response;
}
 
示例9
@Override
public ModbusResponse createResponse() {
    WriteCoilResponse response = null;
    DigitalOut dout = null;

    // 1. get process image
    ProcessImage procimg = ModbusCoupler.getReference().getProcessImage();
    // 2. get coil
    try {
        dout = procimg.getDigitalOut(this.getReference());
        // 3. set coil
        dout.set(this.getCoil());
        // if(Modbus.debug) System.out.println("set coil ref="+this.getReference()+" state=" + this.getCoil());
    } catch (IllegalAddressException iaex) {
        return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
    }
    response = new WriteCoilResponse(this.getReference(), dout.isSet());
    // transfer header data
    if (!isHeadless()) {
        response.setTransactionID(this.getTransactionID());
        response.setProtocolID(this.getProtocolID());
    } else {
        response.setHeadless();
    }
    response.setUnitID(this.getUnitID());
    response.setFunctionCode(this.getFunctionCode());
    return response;
}
 
示例10
@Override
public ModbusResponse createResponse() {
    ReadCoilsResponse response = null;
    DigitalOut[] douts = null;

    // 1. get process image
    ProcessImage procimg = ModbusCoupler.getReference().getProcessImage();
    // 2. get coil range
    try {
        douts = procimg.getDigitalOutRange(this.getReference(), this.getBitCount());
    } catch (IllegalAddressException iaex) {
        return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
    }
    response = new ReadCoilsResponse(douts.length);

    // transfer header data
    if (!isHeadless()) {
        response.setTransactionID(this.getTransactionID());
        response.setProtocolID(this.getProtocolID());
    } else {
        response.setHeadless();
    }
    response.setUnitID(this.getUnitID());
    response.setFunctionCode(this.getFunctionCode());

    for (int i = 0; i < douts.length; i++) {
        response.setCoilStatus(i, douts[i].isSet());
    }
    return response;
}
 
示例11
private void initSpi() {
    dins = new DigitalIn[] { new SimpleDigitalIn(discreteInitialValue), new SimpleDigitalIn(discreteInitialValue),
            new SimpleDigitalIn(discreteInitialValue), new SimpleDigitalIn(discreteInitialValue) };
    for (DigitalIn din : dins) {
        spi.addDigitalIn(din);
    }
    douts = new DigitalOut[] { new SimpleDigitalOut(coilInitialValue), new SimpleDigitalOut(coilInitialValue),
            new SimpleDigitalOut(coilInitialValue), new SimpleDigitalOut(coilInitialValue) };
    for (DigitalOut dout : douts) {
        spi.addDigitalOut(dout);
    }
}