Firmware for CMS2000 (Phoenixtec) solar invertor upgrade

With CMS in administration it is extremely difficult to find the latest firmware for CMS2000, I managed to find a copy from a Whirlpool forum member.

You can download it below;

CMS2000 Re Flash.rar

Below is an excerpt from the included procedure;

CMS 2000 Parameter Change.

  1. Apply DC supply only to the inverter. The unit will sit in ‘Grid Fault’ mode.

  2. Open Sunville Flash Tool ( or similar)


  3. Click Setting & select your com port

    (if you do not know your com port settings. Contact your IT provider)


  4. Click OK

  5. Click ‘load -> Open’ or click the folder icon to select the varied firmware version.


  6. Select the file SV4KA.mot file


  7. Click OK

  8. Click ‘flash’. If the correct coms port is selected the CMS 2000 will display FLASH. This process will take approx 2mins.

  9. Once the firmware is updated, you will get the following message, Click ‘OK’


  10. Close the Flash Tool and open CMS ProControl. Select and enable the corresponding com port. (if you do not know your com port settings. Contact your IT provider)



  11. The serial number on the inverter will display.


  12. Left click once to select the inverter. The bar at the top will go black.


  13. Right click once and select parameter.


  14. Password is: administrator

    The parameters will then be displayed.


  15. Change the Vac-Max (V) to 270 volts, the highest permissible as per AS4777. Click Setting.

  16. Once your settings have changed. You will see the below message. Click OK


  17. Disconnect the DC supply and allow the inverter to power down. Once discharged, turn on the DC and AC supply and connect to the grid. The current settings can be seen by double-clicking on the serial number in CMS ProControl.


  18. Process Complete.

Model Parameters Error

Occasionally we have had the following error. If this occurs, you will not be able to change the parameter settings.


If this occurs, you can download the updated file from.

Once this has been downloaded, you will need to extract the downloaded ModelParameter.txt file

& place it in c:\programfiles(x86)\CMS Pro Control & replace the existing file. Reopen CMS Pro Control & you should not see the error message.

Log solar generated to PVOutput with LabVIEW

Here is the full LabVIEW code to read a CMS2000 inverter solar generation, including power, voltage and temperature, and then logging it to PVOutput.

The data is read from the CMS2000 every 1 second and averaged over 5 minutes, as PVOutput only supports 5 minute intervals. The averaged value gives a better representation of the parameter compared to a single read every 5 minutes.

Logged is power generated, inverter temperature, and DC voltage. PV Bean Counter only supports AC voltage which won’t vary too much, DC voltage is a lot more interesting, DC current can be calculated from the power and voltage values.

Don’t forget to change the API key and system ID strings.

Use the linked images below when dragging into LabVIEW as a snipped, not the thumbs.

Read CMS2000 inverter to PVOutput VI

Read CMS2000 inverter to PVOutput

Read CMS2000 inverter to PVOutput

Connect to CMS2000 solar inverter with LabVIEW and read power

After a few weeks of ‘chasing the sun’, finally got something I am happy with, LabVIEW connects to the CMS2000 via serial interface and reads the parameters.

Programmed as a state-machine, basic error checking and fail safes.

Note, I am using a RS232 to TCP/IP adapter, I am guessing a lot of the peculiarities are due to that.

Don’t use the thumb snippet, but the linked image.

Read CMS 2000 Inverter with LabVIEW

Read CMS2000 invert in LabVIEW VI

Phoenixtec (CMS2000) inverter protocols spreadsheet

Monitor CMS2000 inverter via TCP/IP with USR-TCP232-E4 RS232/IP convertor

After months of waiting on hardware to arrive and playing around with different configurations, I have finally got my CMS2000 inverter to work through TCP/IP with POE.

RS232 to USB converter

The CMS2000 is a 2kW inverter with an RS232 connection for communications. If you simply want to view the data locally via a laptop, you will need a RS232 to USB adapter, specifically the Prolific USB-to-Serial Comm Port. Have a look at my review of RS232 to USB adapters for more info on the suitability of the converter.

RS232 to TCP/IP converter

Now, if you would rather run Ethernet to from the inverter and being able to read the values from any computer in your LAN, it is a little more complicated, but here is how.

The first thing you will need is a RS232 to TCP/IP converter, these can be purchased on eBay for about $25. Make sure you don’t simply get a serial to RJ45 cable, which are commonly used to configure managed switches. The model I received was the USR-TCP232-E45 by Jinan USR IOT Company China. The unit requires 5V power which I will discuss later.

The manual can be a little confusing, there is a test you can do if you have a com port or RS232 to USB adapter, where you basically create a loop and confirm it is all working. To get it talking to the CMS2000, configure the parameters of Port 0 (the RS232 port) as below. The main thing is to set it in TCP Server model. Configure the IP address and subnet as appropriate for your LAN.


The RS232 to TCP/IP converter takes 5V DC, now you can run a separate 5V line to the inverter which isn’t ideal or use a passive injector to inject 5V into the line and split it out at the inverter, this is not IEEE 802.3af compliant though.   If your switch supports PoE you can split the power out directly at the inverter with a TP-LINK PoE splitter model TL-POE10R. This can be purchased for $14, and even includes the power and Ethernet cables needed to connect to the USR-TCP232-E45.


To check the communications the CMS software ProControl can be used to check the communications prior to use with PVBeanCounter. Now, for some reason ProControl can’t connect directly via IP to the USR-TCP232-E45, fortunately I found a free virtual comm port software, which emulates a serial port connected to an IP address, the software is called VSP3 – Virtual Serial Port, developed by the HW group. Fairly easy to configure as below.

Final product