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.
I’m new the mod-bus world, I’m trying to integrate my jace 8000 to a pm8000 threw mod-bus, I brought in the string points just fine, when trying to bring in my numeric points such phase A to neutral, it’s doesn’t match what my display reads I've exhausted my efforts re bringing these points in and making sure I'm following the mod-bus point map I know my data types are correct and my bits are correct any idea what else I could be doing wrong?
Link copied. Please paste this link to share this article on your social media post.
Hello @Bumpiestmeat005 ,
In the modbus map file, there should be a another tab for the data types, TIMESTAMPED_FLOAT32 = FLOAT32_TS.
6-word value encoded as follows:
-words 1-2 - a FLOAT32 value
-words 3-6 - a DATETIME value
The first 2 are the value of the maximum, the next 4 are the time of the max value. I believe you may need to request all 6 registers even if you are only interested in the value.
Regards,
Charles
Link copied. Please paste this link to share this article on your social media post.
It sounds like you have a successful connection but there are other items that need to be checked in your Jace configuration as below:
1- Register Offset: Try subtracting 1 from the register address (e.g., if the map says 3000 and 3001, try 2999 and 3000).
2- Data Type: Ensure the points are set to Float32.
3- Word Swap: Check the 'Byte Order' in your Modbus driver settings. The correct type is 'Big Endian' means 3000 and 3001 or 2999 and 3000:
Best Regards,
-Mehran
L3 Expert Advanced metering
Link copied. Please paste this link to share this article on your social media post.
Hello @Bumpiestmeat005 ,
First item is the Modbus address vs Modbus register. Some Modbus clients use 0 index, some clients use 1 index. This can sometimes result in off by one as mentioned by Mehran. A common register I recommend people to read is frequency (3110) as this is a fairly stable measurement that does not have other values close to the expected values in the register above or below.
Why this can be helpful is, sometime people get off by one and word order both mixed. When this happens you might read the low word of current A but the high word of current B. Because Current A and B are so close together you may not be able to tell that the double mistake is happening.
Regards,
Charles
Link copied. Please paste this link to share this article on your social media post.
Thank you for your fast response, subtracting 1 off of the register address and changing my modbus driver settings worked, now that I have got this far I have one other question im trying to bring in point 29958 active power peak demand this point now has 6 modbus registers and is a float32 time stamp point, how do I bring that in?
Link copied. Please paste this link to share this article on your social media post.
Hello @Bumpiestmeat005 ,
In the modbus map file, there should be a another tab for the data types, TIMESTAMPED_FLOAT32 = FLOAT32_TS.
6-word value encoded as follows:
-words 1-2 - a FLOAT32 value
-words 3-6 - a DATETIME value
The first 2 are the value of the maximum, the next 4 are the time of the max value. I believe you may need to request all 6 registers even if you are only interested in the value.
Regards,
Charles
Link copied. Please paste this link to share this article on your social media post.
To further clarify what Charles explained, the TIMESTAMPED_FLOAT32 point is a hybrid data type. It uses 6 registers total:
Registers 1-2: The value itself (encoded as a Float32).
Registers 3-6: The timestamp (encoded as 4 words/INT16s per IEC 870-5-4). Since DateTime coding format using 4 words as per IEC 870-5-4, it is a structured set of four INT16 (16-bit) registers.
Therefore if I read the total 6 words using Float32, it will not return the time data:
However, when I read the first two words as Float32 and, in a separate read, the next four words as INT, I can see the timestamp values.
Best Regards,
-Mehran
L3 Expert Advanced metering
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.