我是做嵌入式开发的,就给大家分享一个我见过的有点糟糕的计量设备。一个同事找我,说他们公司的一个产品需要升级,增加很多功能,需要我帮忙,到公司做新产品前就见到了公司现有的老
我是做嵌入式开发的,就给大家分享一个我见过的有点糟糕的计量设备。一个同事找我,说他们公司的一个产品需要升级,增加很多功能,需要我帮忙,到公司做新产品前就见到了公司现有的老产品,是一个计量设备,充分了解了以后感觉是设计十分另类的,大概总结一下这个产品设计不合理的地方。
一、硬件方面
1、接线端子:采用了一个非常小的接线端子,他的禁锢螺丝非常小,一般的小螺丝刀是不能用的,公司的售后生产人员都是买的标准小一字螺丝刀,然后去砂轮机上磨成小一号的,才能使用,由于螺丝刀磨过,很不耐用,用不了3个月就不行了。
2、保护电路:一个稳压管发热烫手,电路中的5V电源采用了一个5.1V的稳压管进行保护,我们都知道元件参数都是有误差的,如果5V电源输出电压超过5.1V或者稳压管的稳压参数偏低,都会导致稳压管发热烫手。
3、RS485电路无隔离:导致干扰信号经常干扰CPU,后果就是CPU工作不稳定,偶尔出现死机、复位、计费错误、数据丢失,严重的还出现过参数回复出厂设置。
4、配件工作不稳定:整机上有个读卡模块,读M1卡的,偶尔出现不读卡问题,后来发现读卡模块的5V电源如果不稳定出现跌落,低于4.7V后模块就会出现死机的情况。
5、断码屏乱码:机器受到干扰后经常出现显示乱码,这个显示屏是用于客户计费结算的,出现乱码的后果大家肯定都清楚。
二、软件方面
1、代码流程混乱:当我看到设备源码的时候是头大的,源码中大量使用while(1),程序出了这个小循环就进入下一个小循环,这种程序万一受到干扰,程序PC指针受到影响就会进入死机状态,必须重启或复位。
2、通信无校验:该设备带的有一个RS485接口仪表,用的是modobus协议,代码中接收仪表数据没有校验,就是说如果通信受到干扰,导致数据错误,CPU就会把错误的数据当成对的,后果是十分严重的。
我相信大家应该不会犯这样的错误,如果有一定要马上改正,后果严重!
后来设计新产品后这个老产品就被全部淘汰了,不然售后解决不完的现场问题,接不完的客户投诉。
欢迎大家留言、评论、转发点赞!