Calculating CRC for Modbus RTU


Closed Thread
Results 1 to 10 of 10

Hybrid View

  1. #1
    Join Date
    Nov 2005
    Location
    Perth, Australia
    Posts
    429


    Did you find this post helpful? Yes | No

    Default

    do you have the bytes in the correct order?

    if not, try changing it to: FOR X=11 TO 0 STEP -1
    "I think fish is nice, but then I think that rain is wet, so who am I to judge?" - Douglas Adams

  2. #2
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    There are only 11 bytes in the packet.
    Change it to ...

    For X = 0 to 10

    Then you should get $0FD2 for the CRC.
    <br>
    DT

  3. #3
    Join Date
    Sep 2008
    Location
    Maine, USA
    Posts
    81


    Did you find this post helpful? Yes | No

    Default CRC checks out but is rejected

    I changed the loop to 10 and got a CRC of 0F D2,
    but the Modbus Poll simulator still shows a CRC error.

    I am processing the bytes in the CRC calculation code in the same order that I am transmitting them - seem reasonable to me.

  4. #4
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    According to this page ...
    http://www.lammertbies.nl/comm/info/...lculation.html

    0FD2 is the correct CRC for CRC-16 (Modbus) using [0F 03 08 13 24 13 88 13 5B 00 01].
    enterd as hex.

    Could the simulator be using a different CRC polynomial?
    <br>
    DT

  5. #5
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    Also,

    If I enter [0F 03 00 00 00 04] as sent from the host above, it shows 0x2745 for the CRC, which is the same thing the host sent.

    So that has to be the right algorithm.
    <br>
    DT

  6. #6
    Join Date
    Sep 2008
    Location
    Maine, USA
    Posts
    81


    Did you find this post helpful? Yes | No

    Default Data format?

    Quote Originally Posted by Darrel Taylor View Post
    Also,

    If I enter [0F 03 00 00 00 04] as sent from the host above, it shows 0x2745 for the CRC, which is the same thing the host sent.

    So that has to be the right algorithm.
    <br>

    So maybe it's my data formatting - or something???

  7. #7
    Join Date
    Sep 2008
    Location
    Maine, USA
    Posts
    81


    Did you find this post helpful? Yes | No

    Default Success!!!! :)

    Quote Originally Posted by Darrel Taylor View Post
    Also,

    If I enter [0F 03 00 00 00 04] as sent from the host above, it shows 0x2745 for the CRC, which is the same thing the host sent.

    So that has to be the right algorithm.
    <br>
    Hey Darrel,
    You gave me the final clue - it was a byte order issue I needed to reply with the bytes reversed: D2 0F. Your result above clued me in!

    Thanks much - see screen shot showing no errors.

    Guy
    Attached Images Attached Images  

  8. #8
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    He He,

    You gotta watch out for those "Little Endians" ...
    They'll shoot you in the butt with an arrow if your not looking.

    Glad I could help,
    DT

  9. #9
    Join Date
    Sep 2008
    Location
    Maine, USA
    Posts
    81


    Did you find this post helpful? Yes | No

    Default My simulator setup

    FYI - here's a screen shot of my Modbus Poll simulator screen and setup:



    Hope the image shows OK
    Attached Images Attached Images  

Similar Threads

  1. Dallas CRC8 Routines
    By Tom Estes in forum Code Examples
    Replies: 23
    Last Post: - 8th May 2018, 19:07
  2. CRC Calculations
    By timmers in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 16th June 2009, 18:10
  3. Sensirion CRC
    By Tom Estes in forum Code Examples
    Replies: 3
    Last Post: - 9th November 2007, 16:09
  4. Problems with CRC8 Calc in 1Wire
    By JohnB in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 16th March 2007, 23:01
  5. crc16 help
    By beto in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 4th January 2006, 22:21

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts