Oh, ist das zufällig das hier?
https://github.com/coassoftwaresystems/delphi-modbus
Kann ich nur empfehlen.
Ich hatte mit Vorzeichen-Werten bei Modbus relativ selten zu tun, und wenn, dann bin ich tatsächlich immer hingegangen und habe es hart auf SmallInt gecastet:
Delphi-Quellcode:
type
TRegisterValue = Word;
TRegisterIndex = Word;
const
registerIndex: TRegisterIndex = 4711;
var
myRegisterValue: TRegisterValue;
myActualValue: SmallInt;
begin
myRegisterValue := myConnection.readRegister(registerIndex);
myActualValue := SmallInt(myRegisterValue);
(...)
end;
Aber kann ja jeder machen wie er mag 😊