头图

写在前面:

自己的调试过程中的感受是,精准定位到了问题,问题就解决了至少一半!!!

问题回顾:上位机抄读数据时,出现了日期乱码。

调试过程实录:

step1:上位机跟终端电表通信是通过协议进行的,所以断点打在通信入口处。然后一步步仿真测试,排查问题。

step2:选择关键变量
image.png

step3:追踪关键函数
image.png

.

step4:根据经验确定关键变量,包括通用缓冲区和当前捕获的obis值


image.png
image.png

step5:逐步调试,定位问题


image.png
step6:问题定位到字节序反转函数,先整体屏蔽掉,观察反馈结果


image.png
image.png

step7:观察屏蔽后其他变量抄读是否受到影响,结果是受到了影响。

通过抄读功率因子发现,改变了dataLength不行,而到目前为止,只有抄读日期才出现了乱码,所以直接定位到内部的专项函数去修改即可!!!

定位到问题代码位置时,就解决了一半问题。

定位到问题代码后,先把问题区域屏蔽掉,然后仿真看效果是否恢复正常

image.png

阅读函数后,终于发现了问题。

image.png
image.png


热心肠的保温杯
1 声望0 粉丝

许继电气软件开发工程师,专注于智能电网与能源管理