M
We're developing a modbus device. A customer recently reached out to us and requested that our device NOT return an error if a "read multiple coil/register" request included a register address that didn't exist.
For example, lets say i have coils 1, 2, 3, 8, 9, 10 defined.
The customer wants to send a "read multiple coils" command, with starting address 1, and ending address 10.
The customer wants our device to "skip" the invalid coils (and pad the return data with zeroes where a real coil doesn't exist), and return that the request was valid (ie, let's say that coils 1, 2, 3, 8, 9, 10 all contain the value 1. The customer wants to see: 1,1,1,0,0,0,0,1,1,1).
When I read the spec, it seemed to me that it should generate an error, but the customer insists that other companies are doing this.
Does anyone know which is correct?
For example, lets say i have coils 1, 2, 3, 8, 9, 10 defined.
The customer wants to send a "read multiple coils" command, with starting address 1, and ending address 10.
The customer wants our device to "skip" the invalid coils (and pad the return data with zeroes where a real coil doesn't exist), and return that the request was valid (ie, let's say that coils 1, 2, 3, 8, 9, 10 all contain the value 1. The customer wants to see: 1,1,1,0,0,0,0,1,1,1).
When I read the spec, it seemed to me that it should generate an error, but the customer insists that other companies are doing this.
Does anyone know which is correct?