Commit 2650274c authored by wanghao's avatar wanghao

1 批量读取 设备层状态

parent 8c80e1ab
...@@ -404,19 +404,26 @@ public class Modbus4jUtils { ...@@ -404,19 +404,26 @@ public class Modbus4jUtils {
*/ */
public static Map<Integer, Object> batchReadAgingCabinetStatus(ModbusMaster master, List<Integer> registerOffsets) throws ModbusInitException, ModbusTransportException, ErrorResponseException { public static Map<Integer, Object> batchReadAgingCabinetStatus(ModbusMaster master, List<Integer> registerOffsets) throws ModbusInitException, ModbusTransportException, ErrorResponseException {
BatchRead<Integer> batch = new BatchRead<Integer>(); // 把设备集成到一个交换机上后 这个批量读取 不管用了。。
for (Integer registerOffset : registerOffsets) { // BatchRead<Integer> batch = new BatchRead<Integer>();
batch.addLocator(registerOffset, BaseLocator.inputStatus(1, registerOffset)); // for (Integer registerOffset : registerOffsets) {
} // batch.addLocator(registerOffset, BaseLocator.inputStatus(1, registerOffset));
// }
// 非连续地址也支持 //
batch.setContiguousRequests(true); // // 非连续地址也支持
// batch.setContiguousRequests(true);
BatchResults<Integer> send = master.send(batch);
// //
// BatchResults<Integer> send = master.send(batch);
// Map<Integer, Object> result = new HashMap<>();
// for (Integer registerOffset : registerOffsets) {
// result.put(registerOffset, send.getValue(registerOffset));
// }
// return result;
Map<Integer, Object> result = new HashMap<>(); Map<Integer, Object> result = new HashMap<>();
for (Integer registerOffset : registerOffsets) { for (Integer registerOffset : registerOffsets) {
result.put(registerOffset, send.getValue(registerOffset)); Boolean aBoolean = Modbus4jUtils.readCoilStatus(master, 1, registerOffset);
result.put(registerOffset, aBoolean);
} }
return result; return result;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment