Commit 2650274c authored by wanghao's avatar wanghao

1 批量读取 设备层状态

parent 8c80e1ab
......@@ -404,19 +404,26 @@ public class Modbus4jUtils {
*/
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) {
batch.addLocator(registerOffset, BaseLocator.inputStatus(1, registerOffset));
}
// 非连续地址也支持
batch.setContiguousRequests(true);
BatchResults<Integer> send = master.send(batch);
// 把设备集成到一个交换机上后 这个批量读取 不管用了。。
// BatchRead<Integer> batch = new BatchRead<Integer>();
// for (Integer registerOffset : registerOffsets) {
// batch.addLocator(registerOffset, BaseLocator.inputStatus(1, registerOffset));
// }
//
// // 非连续地址也支持
// batch.setContiguousRequests(true);
//
// 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<>();
for (Integer registerOffset : registerOffsets) {
result.put(registerOffset, send.getValue(registerOffset));
Boolean aBoolean = Modbus4jUtils.readCoilStatus(master, 1, registerOffset);
result.put(registerOffset, aBoolean);
}
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