改动两个字,省跑几百里

来源: VCPP 2019-11-26 09:19:28 [] [博客] [旧帖] [给我悄悄话] 本文已被阅读: 次 (3353 bytes)
本文内容已被 [ VCPP ] 在 2019-11-26 11:01:57 编辑过。如有问题,请报告版主或论坛管理删除.

上周五,一家大型管道公司的控制中心把我请去,分析一下有个管道测控器无法与之通信的原因。

来到测试室,搜集了一堆通讯数据,我也懵圈了:测控器在遥远的管道线上,给它发指令,它不回复。偏偏用另一家公司的软件,它回复就很正常,不用说,显然是我们自家的软件出了问题。类似的控制器还有好几百个,目前只发现这个出问题,中间有一个类似路由器的部件,它的固件可能有问题,他们已经安排了人,让他长途开车去现场,把旧的换下来。按计划前一天就该完成,偏偏那人有事耽搁了。这回把我找来,算是双管齐下,看看软件这边有什么解决办法。

折腾整整一个下午,没有头绪。

回到家里,晚上继续分析,把另外那个软件发的数据一个字一个字检查了一遍,跟我们的一对比,总算看出了差异:其实就少了4个字节。这个跟一个用户输入设置有关。

第二天周六,又是一行一行看CODE,昏天黑地。最后看明白了:在原先用户输入的“2,0”两个数字前面,应该加上:1,1,这样改之后,跟另外那个软件所发出的指令相比,还是少了最后的两个字节,不过这已经最接近的了。自己写了一个测试程序,确认了结果,然后给管道公司的人写了邮件,请他们试试,看结果如何。

周一早上,终于看到对方发来的邮件:成功了!现在马上通知那位技术员,不用开长途去换部件了。而且,以后要是碰到类似情况,也可以先试一试这个解决办法。

我自己这边的项目主管也发了邮件,只有寥寥两行字:“很高兴拦路虎终于破解了!没想到这么简单”。简单?我的个天,说得轻巧!我可花了两天的功夫,看了一千多行CODE,再加分析,测试。还有那两百多个字节的通讯数据,原来是照片(他们的机器上不准插U盘,文件无法拷贝),我是用手工,一个一个敲进电脑的,于是才得出那个简单的“1逗号1逗号”。

 

 


更多我的博客文章>>>

 

 

所有跟帖: 

你就没有一台逻辑分析仪? -coolwin- 给 coolwin 发送悄悄话 coolwin 的博客首页 (0 bytes) () 11/26/2019 postreply 16:33:16

有也用不上。已经用Wireshark抓到数据,如果没有好的数据作对比,也很难找到原因。 -VCPP- 给 VCPP 发送悄悄话 VCPP 的博客首页 (0 bytes) () 11/29/2019 postreply 07:04:45

请您先登陆,再发跟帖!

发现Adblock插件

如要继续浏览
请支持本站 请务必在本站关闭/移除任何Adblock

关闭Adblock后 请点击

请参考如何关闭Adblock/Adblock plus

安装Adblock plus用户请点击浏览器图标
选择“Disable on www.wenxuecity.com”

安装Adblock用户请点击图标
选择“don't run on pages on this domain”