恭喜,你发布的帖子
发布于 2022-07-17 09:34:05
2楼
一些电能表通讯数据采用3个字表示。中低字为一个双整数或者浮点数,高字表示由中低字进位的数据。
拿中低字是双整数为例,正整数最大值是2147483647(10位数),也就是16#7FFF FFFF。因为这里要表示正整数,达到16#7FFF FFFF后如果发生进位,就进位至最高字。
按照你的情况,最高字转换成十进制整数,再×1000000000(10位)+中低字转换(SMART需要交换高低字)的十进制数值,就是你的电能数值(WH).
如果这个数值是要在触摸屏或者提供上位机,仍然按照一个字(正整数)+一个双字(正整数)处理,并告诉双字表示十进制的低10位(是否交换高低字要考虑),另外一个字表示11位起始的数值。
以上所说的是我遇到的就事论事,仅供参考。
请填写推广理由:
分享
只看
楼主