A better Modbus stack

Started by tallgirl, July 18, 2012, 07:31:39 AM

Previous topic - Next topic

tallgirl

Greets,

Long time, no chat.

I have decided to release the Java Modbus stack I use in the next version of my software.  I don't know how many different message types Andrew has programmed into the Classic firmware, but perhaps if he has source code to something with just about every standard message type imaginable he'll make the Classic easier to talk to ;)

The project is hosted on SourceForge.  You can find it at https://sourceforge.net/p/j2mod/wiki/Home/

boB

File transfer too ??  (well, real small files of course)

boB
K7IQ 🌛  He/She/Me

tallgirl

#2
boB,

Yes, there are read and write file record commands in Modbus.  There are up to 65,535 files, each containing up to 10,000 records, each containing up to 125 (I think it is -- the limit is controlled by the Modbus protocol) registers, for a total of 163MB.  Small enough for you? 8)  See this document, page 32 --

http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf

I've not had a chance to validate the READ and WRITE FILE RECORD messages, and they are some of the message formats that I want to make sure work properly before I switch the state from "Beta" to "Production" on SourceForge.

I currently simulate the "Log" features of the Brand "O" charge controllers and battery monitors that have them, as well as a "Log" record I made up for the Brand "O" inverters.  My plan is to use READ FILE RECORD to access those logs.

boB

#3

Hey... How about a python modbus stack ???

I think that python might even know what an unsigned number is ?

There has been an open source java modbus  out there for a while now called JaMod.

Don't know if you've played with that or not.

boB


PS...  WELL, seek and ye shall find  !!!!

https://github.com/bashwork/pymodbus



K7IQ 🌛  He/She/Me

tallgirl

boB,

The Modbus support on my software was based on jamod up through version 2.04 (which will likely be migrated as well), but the functionality was questionable and it lacked a LOT of features.  I'm going after some industrial (SCADA) sales where better Modbus was required, so I had to get a better Modbus library.  And wrote it myself.

I'd love to do more software in PHP and Python and ... but there's no point in doing that when I've got upwards of 150KLOC of Java already.