Inverter ABB UNO DM 6 TL PLUS - MODBUS TCP

Hi all
I’d like to put my data on PV OUTPUT but I have problems to retrieve data from my new ABB.
I’m looking for the instruction to get data from this ABB inverter, I see that is a little bit new and there aren’t informations about it on the net.
This inverter doesn’t have the rs485 port so the only way to get data I think is to use the modbus tcp that it has.
Aurora Manager Lite not has this functionality and I don’t know if there is another way to get data.
Anyone can help me.
Thanks

Hi there,

I found this about your inverter https://new.abb.com/power-converters-inverters/solar/string/single-phase/uno-dm-6.0-tl-plus. They say it has an integrated webserver and possibly you can get something out of it. Also, manual says that version X has the COM-Kit board with RS485 (I suppose by your question that this is not the case), the E version has Ethernet and RS485 (again may be not the case). However, at page 116 you can read:

Modbus TCP
In the Modbus TCP sub-menu it’s possible to enable exchanging of
data with third party monitoring and control systems over wireless
channel in compliance with Sunspec register map, by setting “ON” the
“Modbus TCP Server” parameter.

Hence, you configure your wifi (I guess you already have it done), than activate ModbusTCP. Now you need any application that can read Modbus (there some for Windows but if you are going to monitor the inverter I suggest a $40 raspberrypi with Linux and modbus python script or shell script). As per manual, they follow “Sunspec register map”. Googled it and found: https://sunspec.org/modbus/ which lead me here https://sunspec.org/sunspec-python-library/ and ultimately here: https://github.com/sunspec/pysunspec

Features
Provides access to SunSpec Modbus RTU and TCP devices
High level object model allowing easy device scripting
Minimal dependencies for core package allowing it to run in more constrained Python environments
Runs on Windows, Mac, and Linux.

Now have proper library to monitor you ABB over Modbus TCP wireless, fantastic!

If you encounter any difficulties let us know.

Thanks jrbenito!
I see all the informations so now I need only to study how to implement the protocol and after generate the correct output for pvoutput…
If you find something useful please tell me.

Hi,

I suggest you first try enable Modbus TCP in the inverter config as suggested by manual. After that, use a modbus software (any would do the job - like http://www.modbusdriver.com/modpoll.html). If you can communicate with the inverter and see the registers I can help you with getting data from inverter and sending to PVoutput. Sending part is done in project I keep for Growatt inverters, getting data through modbus is similar too but first need to know if communications are ok. (take look: https://github.com/jrbenito/canadianSolar-pvoutput).

BRs

Hi
that’s great, the test gone well.
Cattura

But I see all registers to 0… I hope the problem is only that I don’t know what register to invoke…

Great news!

By your picture I see you are using -t4:float. This tells modpoll to poll for “holding registers” that are normally related to configurations (like ip address, max voltage, max power etc). You are interested in “input registers” hence, use -t3 instead of -t4. Based on documentation I downloaded from Sunspec website, registers you are interested in are 101 ~ 199 (100 series are inverter regisers, 200 series are meter registers and so on).

Try read with -t3 and -r 101 -c 50 and send outputs

BRs

Thanks for the help
Here the response… but i think that is not the correct register.


What do you think about it?

@massimilianocc

Sorry for late reply, I was in a business trip last week and I am still suffering jetlag effect.

Try to play with -r parameter, start from 1 and increase each by 50 it time (-r 1 -c 50, then -r 50 -c 50, then -r 100 -c 50) and see if you get some readings. Also, please use -t3 without the float option (or change it to int if you get 0.000 readings). Let me know.

BR

thanks for all no prolem :wink:
At the end i find the fields that I need and are at addresses starting from 40080
The only way to access them is to use t4 and not t3…
Now can you help me to get output for pvoutput?

I will upload a python test code for you, if it works as command line tool we are good to go. Please, post the output of registers you found, I will need them.

Ok for the moment we can take this basic inputs

40085 Watts (W) supported R P_AC to grid
40081 Phase Voltage AN (PhVphA) supported R V_AC
40188 ActWh AC lifetime active (real) energy output

this last register is in acc64 format and I can’t read with modpoll utility
37

when you read this value what you get back? If I understood the 64-bit description, you have to get registers 400188, 400189, 400190 and 400191 to compose the value by shifting it into a 64-bit integer variable. Could you please send the output of modpoll reading values of those registers? (those first two you are interested and if possible reading 400188~40191 as integers)

Thanks

Here all registers about the 122 model


Cattura2

converting values from 4188 to 40191 from hex to int64 is the actual total production of the inverter :wink:

Perfect, let me adapt my code to this and come back.

That’s great

Dear @massimilianocc

Please, give a try to this code: https://github.com/jrbenito/canadianSolar-pvoutput/tree/abb-support-test

Notes:

It is just a test version, I hard-coded the inverter address as 192.168.1.60 (based on your screenshot above), change it if necessary. Configuration file will be required with proper pvouput system id and API key, on inverter section, provide any value to the port since I hard-coded IP it will not be used but will be required by config validation code. Value of address is the unit address of your inverter, based on your screen shot it shall be 1 (0x01). OWM key section is optional.

Please provide me errors so I can correct it for you.

BRs,
Benito

Thanks for all I will try in the next days.

@massimilianocc

dit this work out ?
i have a ABB UNO DM 4.0 wich also communicates at modbus tcp but i cannot getr it to work.

I also must say im pretty in experienced with this language.

i was trying to get this to work on a windows machine. and then install it on the RPI. to get it to talk with PVoutput.

@jrbenito

i look at your tips to get started.
I have had the same issues as the OP regarding to modbus and modpoll.
I tried to use your growatt code (don’t know how exactly)
but the main problem is that i cannot get python to talk with the device.

ik keep getting errors on test device.

i followed next steps
-checked if modpoll is able to pull some data.

-installed the library according the Github python synspec page

-did a unittest but it cant reach the device should this be modified somewhere.
basic ip is 192.168.178.27

see link Python Sunspec error

hope you can help me get started :slight_smile:

Thanks alot.

Arthur

@30degrsouth,

Sorry for not reply to you early. In last year I’ve been busy, changed job and country of residence so really out of everything. My own system was not reporting until 3 days ago.

Are you still unable to get anything from your ABB?

BRs,
Jose

hello
I had a problem last week in my inverter for a PWROFF error I tried to repair is I installed software from another inverter in it. now my inverter is stuck with a devcom message. it is please you can help me to return my last software version. it’s please you can help me