How is data acquisition from solar systems done by TrackSo
Being a very new technology for solar PV, it is important to understand how IoT works. Many of our customers have the doubt about how TrackSo does data acquisition from the solar inverters and other devices in the system. You might wonder if the data logger or the platform manipulates the data coming from these devices and hence leading to some mismatch or wrong values. I am writing this article to clarify these doubts and explain how TrackSo receives data and stores is securely on the platform.
Almost all the solar inverters that exists in the market have an open source data communication protocol called MODBUS. This protocol is used by any 3rd party to communicate with the the inverter over a serial connection and request for the data. In the MODBUS architecture, the device that requests data is called a MASTER and the device that provides data is called a SLAVE. Hence, inverter are SLAVE devices and TrackSo IoT data logger is MASTER device.
Now to understand how MODBUS protocol stores data, we will use key-value pair terminology. A key is a unique number like an address of a house. A value can be anything like ‘number of people living in the house’. So, if I request the number of people living in any particular house, I will have to provide the address of that house. Similarly in inverters, there are unique addresses on which different values like voltage, current, power, energy etc. values are stored. Hence, the MASTER device will send a request to a SLAVE device giving it the unique address and the SLAVE device will respond with the data stored in that unique address to the MASTER. It that simple!
Now let’s go a bit more into details. These address do not always store the exact value that is understandable by humans. For example, if the frequency measured in the inverter is 50.76 Hz, the value stored in address let’s say 3041 can be 5076 or 50760 etc. This is because, the registers do not store decimal values. Or sometimes, the final value is so big that it cannot be stored in just one address. It can be a combination of 2 address. For these values to be acceptable by humans, they are multiplied by a multiplication factor. This factor is a unique value for each brand and model of inverter and also for each address. Hence, in the previous example, if the final value should be 50.76, but the address provided a value which is 5076, then the inverter manual will tell us that the multiplication factor for this address is 0.01
Now, TrackSo provides you with two types of data.
- Raw Data
- Processed Data
Raw Data
Raw Data is the data that is the human-readable value coming directly from the inverter or any other device from the solar system. Since we receive the non-understandable values from the SLAVE, we multiply the values with the multiplication factor before showing it in the RAW DATA table or in Units Table. Other than that, there is no calculation or process that is done by TrackSo platform or the data logger on the data received from the inverter. We show you what we receive.
Processed data
Now, the Raw Data can only provide us with the data for the individual SLAVE devices like inverter, meter, string monitoring, sensors etc. But, in order to get a site level summary of your solar PV site, we do summary calculations on the raw data. Consider you have a site with 10 inverters. Raw Data will give you all the parameters data for individual inverters. But to get the combined values of the all the 10 inverters, let’s say, energy, TrackSo platform sums up the latest value of all the energy parameter from all the inverters every half hour to show you the processed data. This data is stored in a Unit which is of DERIVED category.
Any mismatch or data that occurs on the platform is primarily because of the two reasons:
- The raw data received by the platform has some issues. Sometimes, inverter sends garbage values while starting up or shutting down in the evening. Sometimes, the sensors fluctuate under extreme conditions.
- If the data in the DERIVED unit is not matching with the combined sum of the individual inverter unit, that can be because the DERIVED data is calculated within the last 30 minutes, but the RAW DATA is received every 10 minutes. Hence, for individual inverters, you might be seeing the relatively newer data point and for the DERIVED unit, it might a summary which was calculated a few minutes back.
Hence, please be assured that unless requested by the customer, we do not process any data which is not relevant to you. What you see on the screen is a result of a direct request by the MASTER device to your SLAVE device.
Below are some good reads to learn mode about Modbus
- What is Modbus?- https://realpars.com/modbus/
- How does Modbus Communication Protocol work?- https://realpars.com/modbus-protocol/