miles (Customer) asked a question.

Maximum response delay of GS drives

What is the maximum delay between receipt of a message and sending a response for GS Drives?

 

The GS3 manual contains this note:

> The receiving device must have time to process the receipt of a message and formulate a reply. The amount of time that the receiving device needs will vary greatly depending upon the hardware platform and other processes that the device is running. For the previous example message, the GS Drive responds in 4ms when the drive is stopped and will respond in 5ms when the drive is running. This may vary somewhat depending upon the specific parameter values and the size of the request.

 

I assumed this meant 5ms maximum for any message, although I now see there are some caveats depending on the particular request. So what's a safe timeout value to use? 6ms? 10ms?

 

I'm finding delays as high as 5.3ms, so 5ms is definitely not a safe maximum.

 

5-3ms-response 

 


  • ADC Community_03 (AutomationDirect)

    It’s going to depend some on the master and how it measures a timeout: receiving entire response packet and calculating a good CRC or just receiving the first byte.

     

    If you are running at a lower baud rate, it could take 100’s of milliseconds to receive an entire large response packet on a read.

     

    I think most masters use a 500ms timeout default value. This is what I would use.

     

    But to the original question, a large write may take a bit in the drive. I would assume a 20ms worst case response starting at the time the last packet is received by the drive.

     

    I would not expect great accuracy on timeout settings for serial comms. Serial comms are costly on resources of embedded devices and they don't regularly use a high speed timer for this.

    Expand Post
    Selected as Best
  • ADC Community_03 (AutomationDirect)

    It’s going to depend some on the master and how it measures a timeout: receiving entire response packet and calculating a good CRC or just receiving the first byte.

     

    If you are running at a lower baud rate, it could take 100’s of milliseconds to receive an entire large response packet on a read.

     

    I think most masters use a 500ms timeout default value. This is what I would use.

     

    But to the original question, a large write may take a bit in the drive. I would assume a 20ms worst case response starting at the time the last packet is received by the drive.

     

    I would not expect great accuracy on timeout settings for serial comms. Serial comms are costly on resources of embedded devices and they don't regularly use a high speed timer for this.

    Expand Post
    Selected as Best
    • miles (Customer)

      > If you are running at a lower baud rate, it could take 100’s of milliseconds to receive an entire large response packet on a read.

       

      My timing measurement is from the end of the last request byte to the start of the response, so that should be independent of baud rate.

       

      Is there an absolute maximum rating for how long this internal processing should take for any modbus packet?

       

      -------------

       

      Edit, I didn't see the "expand post" button of your original message when writing my response.

       

      So I'll assume 20 ms maximum, but perhaps as high as 500ms.

       

      Thanks for the info.

       

      Expand Post