上线已经有一段时间,在处理客户的问题中,也归纳了一些客户会常犯的错误,比如软件方面的OB块、兼容性、中文字符、补丁版本,硬件方面的存储卡类型,机架拨码开关、DP布线、有源背板型号。对于一些常规的问题,按照一步步的检查方式,基本都能找到问题的所在,而对于一些问题,可能有几个地方需要注意,而在检查的过程中,往往会测试了一个,忽略了另一个,导致问题不能快速的解决,前段时间遇到的一个CFC图表不存在的问题处理,也是在检查过程中犯了类似的想当然错误,希望能够和大家分享。
在热线上接到一个case,客户反应CFC不能拷贝了,提示“CFC chart does not exist(anylonger)”,问客户对项目做了啥改动,客户反馈说一直加程序,某突然发现这样了。
一反应应该是项目数据库结构可能损坏,先询问下客户系统安装的要求吧,看看客户有没有按照手册的要求来。兼容性检查,英文系统加中文语言包,项目全英文路径,管理员权限都满足要求;既然都满足要求,咱们先做一次慢速重组,重组完了测试故障现象还是存在,客户软件的版本是PCS7V9.0,推测可能是版本的问题,于是让客户把项目发过来再找虚拟机测试。
项目发了过来,V9.0对应的CFC版本是V9.0,先找了个V9.0 SP1,测试还是不能拷贝,CFC还有补丁,接着用CFC V9.0SP2UPD2,测试还是不能拷贝,分析认为可能和CFC版本没有关系(其实已经开始犯错了),看上去像是数据库某张表损坏,考虑是不是要把case升级一下。
在准备升级的过程中,想再从技术资源网站搜搜有没有类似的问题,找了一圈没发现有参考价值的,突然想起同事发的邮件,Assist上也能找答案,马上去找,还真有不少,找到一个类似的解决方法是项目CFC有空运行组,删除空运行组解决。
联系客户,询问客户是否做过CFC运行组的改动,客户反馈做过,再去测试项目,这时候犯了第二次错误,安装CFC V9.0 SP2UPD2的虚拟机在测其他项目,前期测试认为和CFC版本关系不大,那就在V9.0SP1上试试吧,打开CFC选择删除空运行组,问题依然存在,感觉又没有头绪了。
是不是测试的过程出问题了?再回顾了一下自己的测试过程,发现每次测试只是测试单个问题,没有将所有问题集中测试,抱着试试看的态度,找到空闲的安装CFCV9.0 SP2 UPD2虚拟机,删除CFC中的空运行组,问题解决了!
通过这个问题的处理,发现自己在处理问题的方法上还值得改进,也有几点启发:
1. 多查文档,自己研究值得提倡,向别人学习效率更高。
2. 不要想当然,往往这时候容易犯错。
3. 故障现象要多试,尤其是有多个组合情况时。
希望以后在解决客户的case问题上少犯错误,更快更好的解决问题。
近日,有客户热线咨询:“为什么在没有接线的情况下我勾选了模拟量输出选项中的“断线报警”,模块并没有报警,指示灯都是绿色?”
我:“那您这个模块是新模块初次使用还是已经使用了一段时间?”
客户:“新买的模块,初次使用”
我:“行,那我给您测试下,随后回电”
接着,我在模块AM06上,系统块中模拟量输出页面修改输出类型为“电流”,保存、编译、下载。观察模块的指示灯,果然没有报警显示。
“咦,果然是这种情况,有问题啊,在没接线的情况下是没有报警。那我给个输出值测试下”
直接给AQW32地址输入大值27648,果然模块GIAG灯和通道0指示灯都是红色闪烁,开始报警了。当AQW32是默认值0的时候,勾选“断线”报警也不会报警。
上述情况说明模块报不报警肯定有个阈值,当小于这个阈值的时候,不报警;当大于这个阈值的时候,报警。
通过“缩小法”一步一步去找到这个阈值。先给AQW32赋值13824,结果还是报警;再赋值6912,还是报警;再赋值3456,还是报警;再赋值1728,还是报警;再赋值864,不报警了。那么那个阈值肯定是在864与1728之间。
赋值1296,不报警;阈值在1296与1728之间,赋值1512,报警;阈值在1296与1512之间,赋值1404,报警;阈值在1296与1404之间,赋值1350,不报警;阈值在1350与1404之间,赋值1377,不报警;阈值在1377与1404之间,赋值1390,报警;阈值在1377与1390之间,赋值1383,报警;阈值在1377与1383之间,赋值1380,不报警;阈值在1380与1383之间,直接测试,发现阈值就是1383。
即,当AQW32的值大于等于1383时候,模块会报警;小于1383时候,模块不会报警。按照0-27648对应0-20mA电流来计算,1383对应电流约为1.0mA。那么可以这么说,当模拟量电流输出勾选“断线”的情况下,输出电流小于1.0mA时,不报警;大于等于1.0mA时,模块报警。
这个结论也解答了客户关于新模块,为什么在勾选“断线”的情况下,模块不报警的原因。