How do I know which request (or address) did timeout in the TimeOut event when registers are polled?
What is the best way to handle a timeout ? Because now a timeout on one address slows down everything.
Support in winter sleep ??
Hello
We are still alive :-)
The timeout is handled by following internal code:
procedure TnrModbus.DoTimeoutError;
begin
inherited DoTimeoutError;
if stackRequests.Count > 0
then ConnectedDeviceRemove(TnrModbusPacket(stackRequests[0]).Address);
PopNextRequest;
end;
But unfortunately stackRequests items are not PUBLIC for access from external.
We will resolve this issue asap.
By the way .NET version of nrComm already provides necessary functionality:
ModBus.GetCurrentRequest()
We will repeat this method in VCL release soon.
Sorry.
Roman Novgorodov
DeepSoftware llc