sehr verehrte Spezialisten,
beim Basteln am zillionsten Modbus-Slave fehlt mir eine Fehlermeldung.
Im Modbus Application Protocol heißt es
1 | ILLEGAL_DATA_VALUE
|
2 | A value contained in the query data field is not an allowable value
|
3 | for server (or slave). This indicates a fault in the structure of
|
4 | the remainder of a complex request, such as that the implied length
|
5 | is incorrect. It specifically does NOT mean that a data item submitted
|
6 | for storage in a register has a value outside the expectation of the
|
7 | application program, since the MODBUS protocol is unaware of the
|
8 | significance of any particular value of any particular register.
|
Wenn ich den Namen "DATA" wörtlich nehme, fehlt mir eine exception für
den Fall, dass der Request die falsche Länge hat. Aber die Definition
sagt das Gegenteil und deshalb fehlt eine exception für (besser: gegen)
falsche Daten. SLAVE_DEVICE_FAILURE wäre eine Notlösung, aber das ist
unfair, der Slave hat ja nichts falsch gemacht und es ist eben gerade
nichts kaputt.
Wie ist das gemeint? Was antwortet ihr in so einem Fall?