2019年的时候应曾经的朋友邀请帮助调试了SDC625(业内的人自然懂得就不多介绍了)的源码,目的就是找出DDL的解析过程,以便开发一款HART手操器APP。当时的调试过程很多已经淡忘了,简单写一点东西做一个记录。
1.SDC625的源码在官网的售价高达5万美金;
2.SDC625的源码是VS2005开发的,不过编译似乎存在各种问题,废了好大劲才把它转换到了VS2017下完美编译运行;
3.开始调试前要先连接上一个HART设备,确认连接正常,并可以读取到相关的参数信息;
4.经调试发现串口通信是通过进程“Communications\bin\HModemSvr.exe”来实现的,通过对此进程抓包可以捕获所有的串口通信数据。此进程是一个COM对象,需要通过“RegisterThese.bat”对此进程及其相关库进行注册。
5.具体的调试过程已经记不住了,而且具体的DDL解析算法也不方便公开,不过多年的开发调试习惯让我记录下了调试过程:
6.DD解析算法,都做了如下详细记录:
7.DD解析调试过程:
8.调试过程持续了挺长一段时间,期间断断续续的,为了能够在出差在外期间也能调试,而且不必带着设备到处跑,于是改造了一款串口调试工具,用于模拟HART设备的初始化,当SDC625与其建立连接时它会自动回复数据,通过初始化,这样就可以进行到DD解析的步骤进行调试了。
9.SDC625的部分数据界面
10.知道DD具体如何解析后,结合HART协议,是想用C#开发、Java开发,还是想做成APP,又或者放到云端?你可以随心所欲!
11.最后,目前先将其转化成了一款安卓版本的HART手操器,等有时间放出来给大家看一下。