Description
If a ReadRequests contains more than 19 ReadRequestItems, the driver includes only the first 19 items into a telegram sent to the PLC and silently ignores all following items.
When writing more than one Item to a PLC, the S7 driver simulates multiple writes by sending individual writes. I think in case of a similar approch should be considered.
Snippet i used to create the request:
List<ReadRequestItem<?>> reqs = new ArrayList<>(); for (int i = 1; i <= 30; i++) { // just the first byte of each db Address db = plcConnection.parseAddress("DATA_BLOCKS/" + i + "/0"); ReadRequestItem<Byte> item = new ReadRequestItem<>(Byte.class, db); reqs.add(item); } plcReader.read(new PlcReadRequest(reqs));