Comments (6)
Modbus dosnt work like BACnet. Ive worked with it a lot so im happy to help out
This is the most active library
https://github.com/infiniteautomation/modbus4j
from iot-engine.
Project to be created in edge.connector.modbus.
Will be held up by bonescript API refactor as it will read/write points to API via event bus. this communication is still TBD.
from iot-engine.
https://stackoverflow.com/questions/4689381/need-modbus-java-library
from iot-engine.
https://www.schneider-electric.com.au/en/faqs/FA168406/
from iot-engine.
Hey guys, first of all I have to say I'm very happy to work on this because its a learning experience. I also appreciate the supportive work environment, and you guys have made it clear that I can always come to you with questions if I have any.
Having said that, there are numerous factors that make this (otherwise probably simple) task somewhat difficult. I welcome all those challenges, but would like to communicate for collaborative purposes.
- I have never worked with serial protocols before
modbus4j
has absolutely no documentation, and the "help forum" is dead with one post in the last 6 months- I have no serial port device(s) available that I can use for experimentation and testing.
- neither have I worked on the backend code before
- and had practically no introduction into how the Edge device works, what it really is, does, or its terminology.
None of those things ultimately stop me from working on this task, and I by no means do I want be baby-fed. (Neither am I complaining) Nevertheless, considering the above points the task description is still quite high-level, and it would help me if we could break it down into more concrete steps.
Maybe a good starting question is, what is meant by "Modbus compatible"? I.e. to what extend should modbus be supported, what are the features, protocols, ports that need to be available? What do I have to develop here? Or in formal terms, what are the Acceptance Criteria?
modbus4j
supports ASCII, RTU, TCP, and UDP transports as slave or master
For example, which of those (or all) of those transport methods should be supported? As slave or master, or both? Via ethernet, serial port or both?
I guess I have more questions, but those may be a good starter.
Maybe those questions don't require explanation for others (either because they are smarter, or more eperienced), but I have no documentation available, and no prior experience to go off from, etc. Just put yourself into the situation of trying to put code together from an entirely undocumented library with a technology you never worked before, without equipment to test your code. So I hope my questions kinda make sense.
Anyway, I'm sure once we have overcome this initial hurdle things will accelerate and I can make valuable and continuing contributions in this area of development.
from iot-engine.
As an update, I'm actually really good now, miraculously, since I found a book that explains "everything" (details below), i.e. all my questions and more. Now I have a full understanding of
- the different Modbus variants and formats, e.g. ASCII, RTU, TCP
- different physical transport mechanism, i.e. Ethernet and serial RS232, RS422 or RS485 with its differences and how it works
- the workings of the master-slave relationship in the protocol
- limitations of the protocol
- etc.
That also answers my questions about how to use the undocumented library because I have a clear picture now how communication works and what needs to be sent and expected.
There are not many (if any) books on Modbus. The book I used is actually still actively being written at the moment, so it's a free draft PDF the author made available from here. The author is also selling the draft in book form via his email address (see PDF). I have attached a copy of the draft PDF to this post. I think this will be all that is required for future developers to get started on Modbus. Personally thus far I have only looked at about the first half of the book and skipped many sections that did not seem "relevant" for me, and it was very effective.
Attachment: ModbusManualDraft.pdf
from iot-engine.
Related Issues (20)
- Make default network is WIRE and explicit value in edge-database
- Re-assign referencing resource to another resource
- Add NGINX as Reverse proxy
- Read and write to multiple points HOT 2
- History updates HOT 1
- For beta test version 1 of bios
- Feature Request: History trigger on COV AND on Periodic
- SQL constraint and unique validator
- SQL:: Support Force Deletion Resource
- SQL:: Support transaction
- Add Installer backup API
- CREATE/PATCH Point without specified enum type value
- Deleted point cannot be recreated via API HOT 2
- No response for forced DELETE of point or device HOT 2
- ?_force ineffective for DELETE /network/<id> HOT 1
- Deleting device using ?_force=true causes database error HOT 1
- Deleting entries with _force=true sometimes causes database error HOT 2
- Deleting device/thing does not remove child points HOT 1
- Points are created despite failing validation HOT 1
- Keep BACnet cov watcher work after restart
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 iot-engine.