Ask our Experts
Didn't find what you are looking for? Ask our experts!
New Community Ranking System
Our Community ranking system has recently been updated. You may notice changes in user rankings and receive system messages or notifications. If you have questions about how the new ranking works, please refer to the announcement post for more details (click here).
Schneider Electric support forum about Power Meters (ION, PowerTag, PowerLogic) and Power Quality from design, implementation to troubleshooting and more.
Search in
Please select a country to continue with beta search.
Link copied. Please paste this link to share this article on your social media post.
Hello everyone, I need to read parameter 3150 PFtot or the total power factor via Modbus communication from a PM8240, but it always returns 0. The meter reading is correct, however, the values in register 3150 are both 0. I changed the configuration to IEC and it still didn't work. Is there any way to read the total power factor via Modbus?
Link copied. Please paste this link to share this article on your social media post.
Hi @NelsonS7
The PFtot value is a Float32, so you must poll it as a 32‑bit floating‑point value with word‑swapped order (Float32 Swapped).
Please note that, some Modbus clients use 0‑based addressing, causing reads from register 3150 to return 0. If reading 3150 gives 0, try 3149 instead (0‑based vs. 1‑based offset). If your system uses the “4x” format, make sure you are actually polling 43150.
You can also, try reading Register 3110 (Frequency). If you correctly see 50.0 or 60.0, your Float and addressing settings are correct. If 3110 also returns 0, the issue is with your data type (Integer vs. Float32) or an addressing offset.
Best Regards,
-Mehran
L3 Expert Advanced metering
Link copied. Please paste this link to share this article on your social media post.
Hi @NelsonS7
The PFtot value is a Float32, so you must poll it as a 32‑bit floating‑point value with word‑swapped order (Float32 Swapped).
Please note that, some Modbus clients use 0‑based addressing, causing reads from register 3150 to return 0. If reading 3150 gives 0, try 3149 instead (0‑based vs. 1‑based offset). If your system uses the “4x” format, make sure you are actually polling 43150.
You can also, try reading Register 3110 (Frequency). If you correctly see 50.0 or 60.0, your Float and addressing settings are correct. If 3110 also returns 0, the issue is with your data type (Integer vs. Float32) or an addressing offset.
Best Regards,
-Mehran
L3 Expert Advanced metering
Link copied. Please paste this link to share this article on your social media post.
Thank you for your support! You can read the data with record 3149! Thank you so much!
You’ve reached the end of your document
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.