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);
}
}