Comments (6)
Hi, basically it doesn't. It behaves similarly to libmodbus (stephane/libmodbus@a11805c and stephane/libmodbus#18). We addressed this some time ago with another user in this issue.
I thought about implementing it at the time, but it would make the library more complex both internally and for the user. Also in my experience I never found a device honoring those timings, so having the library not rely on them makes it definitely more robust.
Would you mind explaining me your use case?
from nanomodbus.
Actually, I want to use this library to communicate with PLC devices, I don't have any idea this lack of timing may cause problem or not.
from nanomodbus.
As I see in here, libmodbus library handles those timings.
from nanomodbus.
Sorry, can you point me to the exact line? Because I can't find it in the linked file.
By the way, if those PLC devices do follow the spec about the timings, there are two cases:
- when you receive data from them, there shouldn't be any problems because nanomodbus ignores the the intervals between characters and frames
- when you send data, I think you can get away with waiting before making a request (if you are a client), waiting before responding in a request handler (if you are a server) and spacing the characters in your write() platform function
from nanomodbus.
I guess line 1277.
Could you show me how to implement Write() function? I'll use this library and see there is any problem or not.
from nanomodbus.
Yeah after reading my previous message again I realized that the t1,5
in the spec is not mandatory inter-character spacing but instead a timeout, so you really don't need any particular handling in your write() function.
The only things you should implement are the waits before requests and responses, to simulate inter-frame spacing
from nanomodbus.
Related Issues (20)
- return type for nmbs_create HOT 1
- cast missing in recv_res_header HOT 1
- Access to "Unit Identifier" byte in NMBS_TRANSPORT_TCP mode is impossible HOT 4
- Not compiling with SDCC HOT 14
- Stack smashing protect failure HOT 3
- nanoMODBUS Server Support for Multiple Clients HOT 1
- Out of bounds access in Arduino server example HOT 1
- Add nmbs_read_single_register HOT 2
- NMBS_ERROR_TRANSPORT after disconnect HOT 4
- Possible buffer overflow using nmbs_read_holding_registers() HOT 1
- Hardfault in library (Guessing Memory address fault) HOT 2
- Doubts regarding the TCP connection in library HOT 1
- Using the library in STM32 project HOT 5
- Timeout Issue HOT 2
- Configuration define error HOT 1
- RTU Connection Setup HOT 1
- Recover from link drop HOT 2
- Modbus TCP client over Wifi for Raspberry Pi Pico W (RP2040) HOT 3
- How are non-contiguous registers managed if read with FC03? HOT 3
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 nanomodbus.