Modbus/TCP Status

Started by tallgirl, October 12, 2011, 09:13:17 PM

Previous topic - Next topic

tallgirl

Greets,

Now that the sun is racing towards Antarctica as fast as can be (okay, it's actually slowing down, but still moving pretty fast), I'm going to have time again to add Modbus support for the Classic to my already wonderful software ;)

What's the current status and who has one I can talk dirty to?

And at some point I'm going to need to find a Magnum inverter in Central Texas I can have a long and dirty conversation with as well.

Halfcrazy

TallGirl
The Modbus protocol is on the main webpage under firmware http://www.midnitesolar.com/pdfs/classic_register_map_Rev-A-May21-2011.pdf

As far as talking dirty to one I will PM you some stuff.
Changing the way wind turbines operate one smoke filled box at a time

tallgirl

Ryan,

You realize how that looks?  You're going to let me talk dirty to a Classic in private  :o

I have the register map already, and I think I have device recognition code that =should= work.  I just been unable to get a Classic to respond by either Modbus/RTU or Modbus/TCP.

I'll try your system shortly.  Then I'll try it again after you make the change I suggested may be needed ;)

laszlo

And what are you going to do with a Magnum?

Quote from: tallgirl on October 12, 2011, 09:13:17 PM
Greets,

Now that the sun is racing towards Antarctica as fast as can be (okay, it's actually slowing down, but still moving pretty fast), I'm going to have time again to add Modbus support for the Classic to my already wonderful software ;)

What's the current status and who has one I can talk dirty to?

And at some point I'm going to need to find a Magnum inverter in Central Texas I can have a long and dirty conversation with as well.
4.6KW offgrid PV system, Classic 200, MX60, dual Magnum PAE 4448 inverters, Midnite combiner and disconnect boxes, e-panel,  WBJr, and 8 MN SPDs

boB


We have two (or more) customers that I know of that are communicating with Classics over modbus now.
Just to let you know.

Laszlo, Magnum's don't talk nerdy like we do though.  They talk some kind of baby talk which you can check out in one of their
online documents.  Hopefully, someday soon they will graduate up to something nerdy.

TG, are you familiar with the "Nerd Girls"  over at Tufts University ?  Check 'em out.  They're pretty neat.

boB
K7IQ 🌛  He/She/Me

tallgirl

Quote from: laszlo on October 14, 2011, 08:49:23 PM
And what are you going to do with a Magnum?

If you can get me access to the data stream, I'll make it do tricks.

tallgirl

Quote from: boB on October 14, 2011, 11:33:41 PM

We have two (or more) customers that I know of that are communicating with Classics over modbus now.
Just to let you know.

I understand that you have some customers who are doing some kind of communications with the Classic, but whether or not it's Modbus/TCP remains to be seen on my end.  The device driver I have starts off by trying to read (FC3 -- read holding registers) the two serial number registers at 4104 and 4105 (and I'm assuming that's decimal, since the register numbers all seem to be decimal).  Setting the unit number to 255 (0xFF) and sending

00 00 00 00 00 06 FF 03 10 08 00 02

as the packet (transaction 0, Modbus/TCP, 6 bytes, unit 255, read holding registers, address 4104, 2 registers) results in a timeout, with no message coming back.

boB

Quote from: tallgirl on October 17, 2011, 09:52:33 PM
Quote from: boB on October 14, 2011, 11:33:41 PM

We have two (or more) customers that I know of that are communicating with Classics over modbus now.
Just to let you know.

I understand that you have some customers who are doing some kind of communications with the Classic, but whether or not it's Modbus/TCP remains to be seen on my end.  The device driver I have starts off by trying to read (FC3 -- read holding registers) the two serial number registers at 4104 and 4105 (and I'm assuming that's decimal, since the register numbers all seem to be decimal).  Setting the unit number to 255 (0xFF) and sending

00 00 00 00 00 06 FF 03 10 08 00 02

as the packet (transaction 0, Modbus/TCP, 6 bytes, unit 255, read holding registers, address 4104, 2 registers) results in a timeout, with no message coming back.


The default address of a classic is 10  (decimal).  I think Andrew was talking about something other than this when he said 0xff or 255.

We'll get it going.    It looks like you are reading the correct registers to get something back, but the online document shows some other registers to view.  I like to look at registers that move, like, timers myself or voltage.  battery voltage for instance.   But it things are timing out, then nothing is happening of course.

I bet it's that ID of 255 instead of 10.   OK, maybe.

boB

K7IQ 🌛  He/She/Me

laszlo

I have found the Magnum doc on their communications protocol -- http://www.google.com/url?sa=t&rct=j&q=protocol%2B%2BPAE%2Bsite%253Awww.magnumenergy.com&source=web&cd=1&ved=0CB4QFjAA&url=http%3A%2F%2Fwww.magnumenergy.com%2FLiterature%2FApplication%2520Info%2FMagnum%2520Networking%2520Communications%2520Protocol%2520(2009-10-15).pdf&ei=GnGfTqKWDo_8iQLdw4F0&usg=AFQjCNHFkZr_7I0p8SmSMgma30cgywCT-Q


I have a Magnum MS4448-PAE and a Magnum MS-RC remote, so all set up for getting the Magnum serial comms.  Tallgirl, maybe we can encapsulate serial in IP, and let you have it that way?

4.6KW offgrid PV system, Classic 200, MX60, dual Magnum PAE 4448 inverters, Midnite combiner and disconnect boxes, e-panel,  WBJr, and 8 MN SPDs

TonyU

I have been using ModbusTCP for a while now.
A nice program to trouble shoot is Simply ModbusTCP:  http://www.simplymodbus.ca/download.htm
With this program, set:
Mode = TCP
Port = 502 (or whatever port is set in the firmware.  older FW uses port 3900)
slave ID = 10
minus offset = 40001 (for reading holding registers)
function code = 3 (read holding registers)
register size = 16 bit registers

I'm currently working on getting an Allen Bradley PLC to talk to the Classic via ModbusTCP in order to retrieve data and use it in the PLC (kind of like remote I/O).