IEC 62056-21协议电表返回日期时间字段解码方法咨询
IEC 62056-21协议电表14位时间返回值解析规则
已验证的时间段规则
14位返回值的前6位为倒序时分秒,格式为ssmmhh:
- 第1-2位:秒数值
- 第3-4位:分钟数值
- 第5-6位:小时数值
对应样例验证: - 样例1前6位
220806→ 秒22、分08、时06 → 匹配06:08:22 - 样例2前6位
080008→ 秒08、分00、时08 → 匹配08:00:08
剩余8位日期段解析规则
8位日期段按[日偏移值][月标志位][预留位][年份后缀]四部分拆分,每部分占2位:
各字段说明
- 年份后缀:最后2位,直接取十进制值加2000得到公历年,两个样例该字段均为
21,对应2021年 - 预留位:倒数3-4位,固定为
00,属于厂商自定义预留字段,无实际日期意义 - 月标志位:中间2位,含十六进制字符(A=10、B=11、C=12、D=13),提取数值核心位后得到公历月份,两个样例该字段分别为
B0/D0,提取后均对应10月 - 日偏移值:前2位,十六进制转十进制后得到当月日期,两个样例该字段分别为
70/71,偏移差1,对应30日/31日的1天差值
样例验证
- 样例1日期段
70B00021→ 日30、月10、年2021 → 匹配2021-10-30 - 样例2日期段
71D00021→ 日31、月10、年2021 → 匹配2021-10-31
补充说明
部分厂商的IEC 62056-21实现会对月标志位做自定义的夏令时、星期标志封装,如果需要100%精准解析所有场景,可以补充更多不同月份、年份的样例进一步定位位段边界,现有规则已经可以覆盖常规日期解析需求。
内容的提问来源于stack exchange,提问作者New2Node
相关产品推荐
相关产品推荐

