大功率高频焊接机量产将近200台了,这个过程差不多花了半年,在这个过程中发现的软件bug一一的解决,软件功能也越来越多,越来越复杂,复杂的甚至连自己修改、添加一些界面都需要谨慎思考,怕牵扯别的问题,很花时间,若想着把这个项目交出去,解放自己去做更大的事情比如:msPLC,则必须要同事来接手才行。而该同事虽然对高频机的调试生产都非常熟悉,但只懂硬件而不会软件,今后让他维护,无疑是天方夜谭了。
这次的系统重构主要有三个目的:
一、一个产品,尤其是工业类产品,必须要专人长期维护,200台是一个坎,因为量少不良率可以高些,若到了1000台,还是一样的不良率,售后都来不及,这个时候就必须要重构系统提高良率。到了10000台,根据之前的经验又要再一次的重构。
二、一个产品的一些功能,原来的预计往往跟实际不符合,比如短路电流保护功能,从实际情况来看,效果很差,基本上没有起到保护作用,反而添乱,一是因为客户的场合电压差异很大,不同的电压,对应的电流不同,所以导致电流保护的门限很宽,其次电流检测不能太灵敏,若太灵敏,经常保护住导致客户抱怨,最后,电流保护延时比较长,等它保护住的时候,都已经炸机了,最后真正的,都是靠前面的总闸起的作用。所以,短路保护实际中效果很差,还远不如其他的检测,一些特点的信号量检测,反而第一时间保护住了,所以这次重构加强原来设计没有考虑到的地方。
三、重构合理的软件架构,在固有的框架下修改局部非常简单方便,便于同事自己维护,解放自己是这次重构的最大目的。
所以这一个月差不多都在埋头重构高频机系统,因为硬件上比较稳定可靠了,只是增加了功率管的导热性及用温度传感器替代温度开关,软件是这次重构的重点。
一个简单易用的架构对我来说不是一件容易的事情,毕竟自己基于C语言下没有大量接触大型软件,只有MTK手机软件的局部经验。并且明显感觉到MS5这个平台也不够用了,自己以前的代码在界面上过于复杂,于是基于这些,我把自己的想法及代码发给公司具有丰富大型软件经验如WINCE、MTK、LINUX的同事,让他们根据我的实际需求提出他们的建议,同时把高频焊接机的软件看作就是一台PLC,按PLC的架构思维来设计软件,为msPLC的软件架构奠定基础。
“活着”对嵌入式的定义我觉得非常到位:精准控制,这是嵌入式与常规大型软件不同的地方。“TOMSU”建议引入结构体实现界面设计,同时建议把系统分为 底层驱动、业务逻辑及菜单显示三部分,完全独立分开,这个思想很好的符合PLC需求,我采纳了他们的建议。
整个开发是痛苦的,因为完全把自己的软件推倒重来,尤其是三层独立设计,对于一个嵌入式人员来说,思维上就非常痛苦,有很多的不便,因为普通的嵌入式设计,驱动、业务及界面往往是混淆起来的,并且设计过程中对RAM的应用往往特别的节约,尤其是长期做MCU51的,而现在要大量的浪费RAM,尤其是大量采用静态变量来设计。
今天去测试了一下新的软件,效果比较满意,基本达到了预期,争取这个月内把这次重构结束掉,开启新的征途。
用户1269294 2013-4-21 15:53
用户1326533 2013-4-17 13:32
用户1406868 2013-4-15 16:25
用户1406868 2013-4-15 13:28
用户1610239 2013-4-15 09:34
用户1012893 2013-4-15 08:39
用户1320373 2013-4-12 18:38
用户1602177 2013-4-12 16:55