New 003.015.005 firmware for MATE3 - Modbus

Mate3 and Mate3s communications devices for Outback Power
Post Reply
User avatar
intellact
Forum Czar
Posts: 703
Joined: Mon Nov 28, 2005 3:20 am
Location: Ontario, Canada
Contact:

New 003.015.005 firmware for MATE3 - Modbus

Post by intellact » Wed Jul 05, 2017 1:37 pm

Hi all:

As promised, I have finally had an opportunity to run some tests with MATE3 firmware 003.015.005.

The extraneous messages on the network data stream have indeed been removed (I can't believe it took so long). =D> Thank you, OutBack.

That fix may have also corrected the Modbus problem, as I suspected, but there's a catch. :roll: The latest challenge is this...

Modbus data works by block: You read the first one from a given starting address, which tells you its ID and length. You then add the length to the first address, which gives you the address for the next block, and so on. The catch is: How do you know when you have come to the last block?

Up until recently, when you read the next block and the ID was -1, then you knew you had come to the end.

The problem is that it appears OutBack has changed how their Modbus processing works on the MATE3. Now, if you try to read a full block past the last defined data block, you get an error. #-o No, not a unique 'read-past-end-of-data' error, but a simple 'connection is lost' error - at least according to the off-the-shelf Modbus software that I am using. ("A connection attempt failed because the connected party did not respond after a period of time, or established connection failed because connected host has failed to respond".)

I was not getting this error with earlier firmware releases, from which I can only conclude that OutBack changed something, without noting any change in the release notes. ](*,) NOTE: This may not be a firmware 'bug' - it could be considered just an undocumented change in functionality.

After some experimentation, I have found and implemented a workaround in WattPlot to support the new MATE3 Modbus protocol, and have released new production versions of all of the affected WattPlot tools (Monitor, VisualMATE, and NetMATE). \:D/

BOTTOM LINE...

If you have properly installed MATE3 firmware 003.015.005 (see our hints for best results) and are running the latest WattPlot software, you can monitor, control, and program system settings from your PC with no USB Card or internet required.
:cool:
(Oh, and it doesn't have to reboot itself every day. :wink: )

However, if you have your own existing Modbus software that used to work, you may have to modify it.
Andrew Welch, creator of WattPlot

larrywa
Forum Guru
Posts: 354
Joined: Thu Jun 25, 2015 11:25 am
My RE system: FlexPower Two
2 x GVFX3648s,
2 x FM80s,
FNDC w/3 shunts,
Mate3 v3.015.005 (works excellent!)
Hub 10.3,
PV:1000W east@45, 600W west@45, 2400W south@19 deg.
Battery:48v @ 130Ahr Crown batteries, deep cycle <$380 for 6.25kWh

ISY994i HA, Insteon, X10, Philips Hue, MiLight bulbs & RGBW strips
WebControl 8 as weather station stuffing
ISY994 variables via REST interface

Raspberry Pi3 x 2, Pi1 B+

Re: New 003.015.005 firmware for MATE3 - Modbus

Post by larrywa » Fri Sep 22, 2017 3:26 pm

I wrote a Modbus reader to ISY variable bridge software in python3 on a RPi3, completely by the SunSpec docs.

The last block found (terminator) has a zero length parameter. I have never had an error running out of formatted blocks from my Mate3 v3.015.05. I did put a limit of 25 blocks in my code but it has never reported the end message.

It's been a while but IIRC, Mate3 responded exactly to the SunSpec spec format.

User avatar
intellact
Forum Czar
Posts: 703
Joined: Mon Nov 28, 2005 3:20 am
Location: Ontario, Canada
Contact:

Re: New 003.015.005 firmware for MATE3 - Modbus

Post by intellact » Fri Sep 22, 2017 3:59 pm

I'm glad to hear that the new release of the firmware did not suddenly start causing errors for you, Larry. Unfortunately, that is not everyone's experience. It depends on how your software works. I may have made a poor assumption with my initial code, but I can assure you, SOMETHING unexpectedly changed in the firmware. :???:

I used to step through the blocks, reading 125 registers each time. When I got to the last block, I would read 125 registers, note that the Block ID was -1 and the Length was 0, and stop.

Now, that gives me an error. It didn't used to. #-o

The solution (simple enough once you find the problem and run many experiments) is just to read the Block ID and Length as just 2 registers. If they are -1 and 0, then stop - otherwise read the rest of the block. You may feel that this is the way it should have been done in the first place, and I might agree with you, but that was not my point.

I was simply pointing out that yet another aspect of the Modbus interface had changed with NO MENTION of the change in their attached firmware update documents. :mad: I'm getting a bit sick of that.

I have hundreds of clients that paid a license fee for software that works. They don't expect it to stop working when OutBack releases a new version of their firmware. Nor do they like waiting for me to spend hours trying to figure out what OutBack decided to change without telling anyone, so that I can rush a patch out there. ](*,)

My post was to alert other developers that there was a change that might affect them - a notification that OutBack seems to consider unimportant. My purpose is not to complain about the OutBack firmware (on this occasion), but rather the lack of information that comes with changes to it.
Andrew Welch, creator of WattPlot

larrywa
Forum Guru
Posts: 354
Joined: Thu Jun 25, 2015 11:25 am
My RE system: FlexPower Two
2 x GVFX3648s,
2 x FM80s,
FNDC w/3 shunts,
Mate3 v3.015.005 (works excellent!)
Hub 10.3,
PV:1000W east@45, 600W west@45, 2400W south@19 deg.
Battery:48v @ 130Ahr Crown batteries, deep cycle <$380 for 6.25kWh

ISY994i HA, Insteon, X10, Philips Hue, MiLight bulbs & RGBW strips
WebControl 8 as weather station stuffing
ISY994 variables via REST interface

Raspberry Pi3 x 2, Pi1 B+

Re: New 003.015.005 firmware for MATE3 - Modbus

Post by larrywa » Fri Sep 22, 2017 9:05 pm

Thanks for the response.

I hear you. I wasn't doing anything with Modbus until v3.15.5 so I haven't the same experience as you.

Although, maybe? you were using a technique that shouldn't have been done, I sympathise with your complaint(s). In OBs defence they were probably only coreccting a deficiency in their code toward the SunSpec standard and can't be expected to notify evey person that may have used their output.

Here's the problem...
Professional companies typically would call a premature release of software "alpha"or "beta".
Professional companies would maintain and make available to developers a list of revisions, findings, bugs and fixes.
Professional companies take serious input from their developers as they are a huge resource.

OB only displays a little of the third list item. Immature software companies hide behind denial, thinking that if they admit a bug it makes them a crappy company, exposing their faults to the public. If they take input from users it would be an admission they don't know what they are doing. (OB is better on ths aspect)

I have been dealing with an excellent company lately, that created my ISY994 home automation controller. Their bugs are laid out on a silver platter for all to see, they correct them as fast as they can, and they call their releases "alpa" or beta" until they are proven by the regular users to be very bug free.

Only then, do they fix a few last bugs, without adding any new features and call it an official release with a new version number. They also interact with their largest resource, the users, disclosing what number suggestipns are on the list of item to be looked at. I often hear reports of asked for features with "On the List Item # 428"

Sure they take a few nasties that call them names and bitch but it is responded wuth "Contact us for a full refund". Nobody ever takes them up on it nce they think about the quality of support and the options to go elsewhere. That's repport.

If OB would have spent the time to do these support efforts you may have had the same problem but you wouldn't ave been "caught with your pants down" with your customers.

Post Reply