基于配置系统的硬件初始化机制(15.8.10)

发现的问题

在软件初始化过程中卡死在Instrument Booting(仪器初始化)过程,经排查发现设置液面感应电容只回复了BB和CC而未回复33或55.导致上位机卡死.经确认液面感应板与驱动板线路虚焊导致通讯失败.

有关故障识别的问题
通讯过程直接下发下位机时序属于定制功能,下位机并不受上位机软件管理,因此除了固定的字节数组外其他信息一无所知,每个指令的执行超时时间并不知道.因此在现有模式下让上位机识别下位机超时并不合理.
此外,由于现有的中位机和驱动板是按照配置模式设计,不具备通讯检查的功能.因此让板卡定制程序也不科学(毕竟不知道到底有没有液面感应版,需要配置).
另外,有人提出了心跳包的方案对硬件及底层软件的改动也比较大.并不划算的方案.

提出硬件自检的方案
常规的仪器设备自身的一些常规错误应当自己检查,比如通讯,供电等.作为基础检查是必不可少的.因此应当系统开始时进行自检检查更加合理.结合时序配置方案,可以将板卡的自检作为下位机时序,通过命令调用执行,单次检查避免了心跳包的改动,出现错误可以按照原有协议向上位机返回错误代码.

需要改动的内容
由于现有方案是由上位机软件主导初始化,因此需要增加指令使上位机调用启动自检.
中位机和驱动板需要增加新的功能以执行自检命令(通讯测试),及错误代码反馈.
在错误代码的配置文件中增加错误代码.供上位机关联识别报警.

posted @ 2017-08-25 13:35  sunlyk  阅读(240)  评论(0编辑  收藏  举报