Giter Site home page Giter Site logo

Modbus module about iot-engine HOT 6 CLOSED

nubeio avatar nubeio commented on July 28, 2024
Modbus module

from iot-engine.

Comments (6)

NubeDev avatar NubeDev commented on July 28, 2024 1

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.

Shiny380 avatar Shiny380 commented on July 28, 2024 1

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.

cooperbrindle avatar cooperbrindle commented on July 28, 2024

https://stackoverflow.com/questions/4689381/need-modbus-java-library

from iot-engine.

cooperbrindle avatar cooperbrindle commented on July 28, 2024

https://www.schneider-electric.com.au/en/faqs/FA168406/

from iot-engine.

otto-dev avatar otto-dev commented on July 28, 2024

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.

otto-dev avatar otto-dev commented on July 28, 2024

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)

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.