Wieso mühselig selber HEX-Strings zusammenbasteln, wenn es fertige APIs gibt? Mach dir doch nicht unnötig das Leben schwer. Immerhin hast du inzwischen eine Antwort bekommen, also funktioniert der Modbus-Slave.
Gruß, Jens
EDIT: Und ja, die Antwort bedeutet Modbus Exception Code 2:
Versuch mal Folgendes:
1) 2 Adressen auf einmal abfragen, der Messwert steht in 2 Registern.
2) Frag mal Adressen 1 & 2 ab, die Dokus haben gerne mal die Register-Typ mit in die Adresse reinverheiratet
3) Es gibt leider keine eineindeutige Festlegung bei Start des Adress-Bereichs. Auf HEX-Ebene wird eigentlich bei Adresse 0 gestartet, manche Dokus haben aber mit Adresse 1 begonnen. Es könnte also sein, dass 30001 & 30002 auf Protokoll-Ebene 30000 & 30001 (bzw. 0 & 1) bedeuten.
EDIT 2:
Das Auslesen des ersten Kanals könnte mit der ersten API aus meiner Link-Liste z.B. so aussehen: