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