Different Registers Showing Same Value Until Comm Restart

Forum Home Forums Communicating with Devices Modbus Different Registers Showing Same Value Until Comm Restart

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #2056
    DragonFire
    Participant

    Exactly as my title states. I have multiple similar devices that I am pulling data from but all of them seem to suffer an issue where over time two registers that show different information, all of a sudden start to show the same data. See my picture below of my table:

    If I restart the Communicator, it fixes the problem temporarily until it decides to revert back to this duplicate state. It’s the same two sets of registers on all my devices that do it. Any ideas why this is going on? Let me know ow if some additional info is needed. Thank you.

    #2060
    Mikhail
    Moderator

    Hi,
    Let’s compare the packets sent to and received from the devices. You can copy the communication log from C:\SCADA\ScadaComm\Log\lineXXX.log

    #2061
    Mikhail
    Moderator

    Also open the Server app, go to Files > Hourly Data, and compare the values in the archive. Are they equal starting from some moment? Provide screenshots, please.

    #2065
    DragonFire
    Participant

    I found the error, “Incorrect PDU length” which then causes the Communicator to try to collect that element group again I am assuming. If that’s the case, the error propigates to other element groups down the line based on this screenshot:

    As you can see in the blue highlighted area, when it gets to the element group “Kilowatts”, it errors out, tries again, succeeds the second time then moves to the element group “Power Factor”. Once there however, looking at the modbus hexadecimal data, the Send bits are different between “Kilowatts” and “Power Factor” but all Receive bits are the exact same. Do you have any ideas to why “Power Factor” element group is sending the same bits as “Kilowatt”?

    Hope this was good detailed information. Thanks.

    #2068
    Mikhail
    Moderator

    I can see that the equal response comes back twice from the device. If requested number of register differs (the last 2 bytes), it causes PDU length error. If it’s equal, Communicator can’t detect an error. You can get the meaning of bytes by http://modbus.rapidscada.net/

    Do you have any idea, why the device responses twice?

    #2069
    Mikhail
    Moderator

    Try increasing Delay parameter for the device in Communicator up to 1000 ms.

    #2074
    DragonFire
    Participant

    Sorry for the overdue reply. Your suggestion of increasing the delay and timeout parameters worked out great. Solved my issues with PDU errors. Thanks again for the assistance and a big thanks for making this nice little SCADA application freely available!

    #2075
    Mikhail
    Moderator

    Many thanks for the feedback 🙂

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.