Metering & Power Quality
Schneider Electric support forum about Power Meters (ION, PowerTag, PowerLogic) and Power Quality from design, implementation to troubleshooting and more.
Link copied. Please paste this link to share this article on your social media post.
I have seen in a PM8000 a Modbus read irregularity. If a single register read in the address range of 3000 - 3015 (appx.) is made it will return with exception 03, illegal data. If the same registers are read for a length > 1, then the reads are successful.
I believe this has the latest firmware but cannot confirm.
Thanks.
Link copied. Please paste this link to share this article on your social media post.
The PM8000 follows the =S= invariant which does not permit users to read partial Modbus values (i.e. values stored in multiple adjacent register locations using formats greater than 16 bit such as FLOAT32, UINT32, etc.).
The register range you are requesting with the PDM enabled consists entirely of FLOAT32 values and are on even register boundaries (ex. Current Ph A is located starting at 3000 and is stored in 3000 and 3001). Requesting only a single register or even requesting 2 registers but starting at 3001 would return an illegal data Modbus exception.
Link copied. Please paste this link to share this article on your social media post.
Thx for the info Robert. I am surprised to hear that - 16 bits is 16 bits. I would think one could read it at will. It should be up to the user to parse the info returned.
Are you aware of any other meters that exhibit this behavior?
Link copied. Please paste this link to share this article on your social media post.
Almost all new power meters (PM5xxx, PM2xxxx, PM3xxxx, etc) follow this new invariant. It would make zero sense to read a portion of a FLOAT32 as there is no easy means to decode those 16 bits into anything meaningful. 32 or 64 bit UINT values *could* yield some information (specifically if you read the lower portion of the value) but you would still be unable to use that information with confidence (ex. a lower order of zero could mean 0 or 65536).
It is specifically up to the Modbus Master to correctly read the correct # of registers such that the device's register content could not be improperly interpreted.
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.