Comments (9)
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.
from modbusmechanic.
from modbusmechanic.
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.
from modbusmechanic.
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.
from modbusmechanic.
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.
This will be closed in the next day or so unless the problem still can be recreated in tests.
from modbusmechanic.
Related Issues (20)
- Can't download HOT 1
- Linux - show only active ports HOT 2
- USB serial ports Linux HOT 7
- Status update in slave simulator HOT 2
- Feature Request: Write single register (0x06) HOT 3
- java.jang.UnsatisfiedLinkError in macOS Monterey (Apple Silicon) HOT 5
- Not work RTU mode when press "Transmit packet" button HOT 3
- Display error message when serial port fails to open on RTU scanner function HOT 3
- Just information how to use HOT 1
- TimeoutException when using Slave ID other than 1 HOT 6
- Add signed int data types HOT 8
- Function Code 16 (0x10) Preset Multiple Registers mislabeled HOT 3
- RTU Slave Simulator doesn't update watch window HOT 2
- (Preset) Write Single Register (6) incorrect value transmission HOT 3
- [RTU] Allow for higher baud HOT 2
- java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 HOT 4
- Lower Baud Rates as low as 110 [Feature Request] HOT 1
- Using hide zero option also hides negative Float entries HOT 3
- RTU slave simulator device not known and exception HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from modbusmechanic.