Ho provato così:
codice:
function TModBusConnection.ReadRegister(Adress: Cardinal;
var Value: Single): Cardinal;
var
PointerToDWordBuffer: TpDWordBuffer;
PointerToSingleBuffer: TpSingleBuffer;
DWordValue: LongWord;
begin
f_Adress := Adress;
f_Quantity := 2;
f_FunctionCode := mbfREADREGISTER;
result := Execute;
if result = 0 then begin
PointerToDWordBuffer := @f_ReadBuffer;
DWordValue := MBTSwapDWord(PointerToDWordBuffer[0]);
PointerToSingleBuffer := @DWordValue;
Value := PointerToSingleBuffer^[0];
end;
end;
non da errore ma il numero restituito è sbagliato
:master: