Giter Club home page Giter Club logo

Comments (9)

SciFiDryer avatar SciFiDryer commented on July 19, 2024

This is a new and experimental feature so your testing and feedback are helpful. That said, is this a RTU device attached to a TCP bridge? I noticed when scanning RTU devices that the scan can get "ahead" of the device's responses. What I see in the scan results when this happens is the register values are shifted anywhere from 20 to 30 lower from what the scan reads. For instance register 1020 is actually 1000. I haven't been able to replicate this (yet) on TCP though. Do you know if the register order might still be correct?

from modbusmechanic.

sbadger avatar sbadger commented on July 19, 2024

from modbusmechanic.

sbadger avatar sbadger commented on July 19, 2024

from modbusmechanic.

SciFiDryer avatar SciFiDryer commented on July 19, 2024

I think I see what is happening. The TCP scanner is also getting ahead of the device's ability to respond. Transaction numbers are not tagged, which is confusing the scanner. This should be fixed in bfcf0c0 which tags transaction IDs on TCP frames.

The screenshots did not come through, but if you start the scan at register 840 instead of 0 do you get consistent results for that first register or first few registers?

from modbusmechanic.

sbadger avatar sbadger commented on July 19, 2024

from modbusmechanic.

SciFiDryer avatar SciFiDryer commented on July 19, 2024

I realized the other thing that might be going on is a buffer issue. Since this library blocks on a read, if the device doesn't respond fast enough there could be a FIFO situation happening on the buffer where the previous responses are accumulating but never read out. In 73416f1 I have added a user configurable timeout and set the default to 100ms, up from the current hard coded value of 50ms. The timeout should be higher than the devices ping. These changes will be available in the next release and between the two should resolve the issue.

from modbusmechanic.

sbadger avatar sbadger commented on July 19, 2024

from modbusmechanic.

SciFiDryer avatar SciFiDryer commented on July 19, 2024

Binaries for version 2.8 have just been posted. If the registers are still out of order after playing around with the timeout let me know.

from modbusmechanic.

SciFiDryer avatar SciFiDryer commented on July 19, 2024

This will be closed in the next day or so unless the problem still can be recreated in tests.

from modbusmechanic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.