新闻中心

EEPW首页 > 牛人业话 > 产品尽量通用,帮助摆脱重复劳动

产品尽量通用,帮助摆脱重复劳动

作者:马步时间:2019-09-02来源:电子产品世界收藏

网上有个调侃公司中那些倚老卖老、工作中偷奸耍滑的老油子的段子说:你哪里有十年工作经验,您呐不过是把一年的工作经验用了十年而已!

本文引用地址:http://www.amcfsurvey.com/article/201909/404357.htm

短短两句俏皮话儿,一个不思进取,长年在一个岗位上厚着脸皮吃老本的混子形象跃然纸上。可谓调侃辛辣,一针见血,很是让孜孜不倦地钻研苦干、打怪升级涨经验的我辈过瘾。

但是且慢,其实,不少老实巴交的工程师并非那么滑头,不求上进,只想长岁数不长经验,实在是因为很多时候,甘做革命螺丝钉的他们把大把的精力浪费在了重复劳动上而已。

1567401526922054.jpg

1

工程师的成长要讲一命二运三风水。

倘若生于“必有余庆”的积善之家,祖上积德,摊上一个好上司,碰到一个好搭档,又赶上一个好平台,自然如鱼得水,大鹏展翅,想不上进都难。

但要是运气差,被上司看不惯,只给些不露脸的脏活累活干,自然也得不到机会实干和锻炼。或者经常被无脑的搭档拖累得翻车,一起陪着背锅,也只能无奈地把岁月蹉跎。再或者平台确实太差,任你底子再好也蹦跶不了几下。

1567401552925037.jpg

我司是一个从事产品开发和技术服务业务的单位,平台一般般,但也不算烂,工程师为主,人际关系简单。只要埋头苦干,或者经常厚着脸皮跑到领导那里点赞,一般都可以得到锻炼提升的机会,慢慢混成数量有限的骨干。

长期工作下来,同事之间自然也划开了明确的界限。有卖力工作的真骨干,有跟领导打得火热的假骨干,也有一些人,既水平有限,又不得领导待见,只能在大大小小的机会和待遇面前靠边站。

我司的齐工,就是这么一位边缘人。

他呢,底子有点差,面皮又有点薄,得不到机会锻炼,于是只好打打杂儿,久而久之,成了我们这里的“勤杂工”。

他有时在产品研发中担任个可有可无的角色,搞搞底层驱动,给真假骨干们打打下手。有时完全被无视,只好替人跑跑腿,买个件,焊个板子,接接线拧拧螺丝来打发时间。有时也会被领导“委以重任”,给某个快要量产的产品做个测试工装。

总之,他就这样日复一日地看着白天黑夜交错,蹉跎着岁月,蹉跎着自我。不过,齐工虽说不招领导待见,我们这些劳苦大众倒是很喜欢他。也是,人畜无害,还能帮你干点活,谁不喜欢呢?

1567401572577611.jpg

齐工在我们这里待了七八年了,却和我打交道不多,直到有一次给我快要完成开发的产品做测试工装,我俩才有了第一次亲密接触。

2

说起来,齐工是做测试工装的老手了。在调到我所在的项目组帮忙时,他至少做了三四个测试工装了。

我看过他做的那几个工装,尺寸有大有小,电路大同小异,这也难怪,我们这边做的产品本来就差不太多,测试它们的工装自然也大差不差了。

所以,齐工这次出马算是轻车熟路,咔咔一顿复制粘贴,电路板的原理图和PCB就画好了。画好之后,制板之前,他跑到我这里借着工作唠起了闲嗑。

我这人是极好相与的,也喜欢闲扯淡,所以就借着工作跟齐工热火朝天地聊了起来。当齐工跟我说起这次做测试工装的板子纯属浪费时间、蹉跎生命的重复劳动,导致自己没有时间真正地提升自我时,我这操闲心的毛病又起来了,就自告奋勇地向他献了一计。

说到这儿,先跟大家科普一下“测试工装”是干嘛的。

1567401598948727.gif

在电子产品的批量生产过程中,为了验证所生产的产品没有出现焊错件、漏焊、非正常短路、元器件残次等质量问题,并满足大批量生产过程中在生产线上的节奏,需要做一个能够测试所生产产品的工装,对它进行进行一些功能测试,必要时还要进行力所能及的性能测试,以确保产品的质量。所以,测试工装是一种重要的生产管理工具,它能够高效率并全面地判断所生产产品的质量。

前面说过,我司做的产品大同小异,它们的输入输出接口也很相似,可以涵盖在开关、脉冲、通信端口及功率驱动的范围内,不同产品功能有些不同,导致测试工装的软件必然有些不同,但是其输入输出接口的性质一样,这导致测试工装的硬件必然大同小异。

这样,就像齐工所抱怨的那样,测试工装的电路板长得像是异父异母的亲兄弟一样,必然存在一定程度上的重复开发问题。

这里面就大有文章可做。我跟他分析了做一款通用测试工装的可能性和大致方案。

3

最初,我想得比较简单,既然公司产品差不多,就索性做一个大而全的测试工装电路板,在电路板上支持各种接口,并且尽量增加各路信号的通道数。无论哪个产品,最终都用这个测试工装的电路板来测,测试简单的产品时,接线少一些,工装软件也简单一些,测试复杂的产品时,无非是接线多一些,工装软件也复杂一些而已。

可是,我向齐工和盘托出这个想法后,他就把脑袋摇成了一个拨浪鼓。原来,他之前向领导建议过这个方案,却被无情地怼了回来。

“做那么大的板子,有那么多无用的通道,编程时不得多累心呀?测试不同的产品时,不是还得在工装上编写不同的软件?而且接线方式那么灵活,是不是很容易搞乱?”他带着沮丧的语气向我复述了领导怼他的“灵魂三问”。

他眼神迷离,神情沮丧,再牛逼的肖邦,也弹不出他那种忧伤。

1567401621998356.jpg

看着齐工一副垂头丧气的模样,我悲心大动。帮人帮到底,送佛送到西。于是乎,我一边揣摩着领导的话中背后的含义,一边构思着更进一步通用的方案。

“既然电路板通用满足不了领导的胃口,那就索性让电路板上的程序也通用!”我咬着后槽牙,向齐工道出了自己的想法。

在这里,需要给各位看官说明的是,一个完整的测试工装包括上位机和下位机两个部分。上面一直跟大家掰扯的这个电路板及其板上的嵌入式软件只是个下位机,在PC机上还有个上位机软件,做些测试数据管理、测试流程调度、数据监控和存储、测试结果显示、生产日期记录、版本号管理、序列号追踪等一些必须在电脑上完成的工作。

让下位机的板子和程序都通用,言外之意就是让上位机承担起具体功能测试的发起和结果判断,下位机只做为信号的“管道”,不承担任何功能逻辑的解析。

它的工作是根据上位机的指令,在输出接口上给定相应的输出,这是对被测对象的“激励”,同时将输入接口上的状态数据实时发送到上位机上,这是被测对象的“响应”。

只要下位机配备足够多的信号管道,完成与与被测单元的硬件连接,并做好上位机和被测对象之间的“传令官”,完全可以做到与具体应用无关。

和具体应用无关,岂不就是“通用”吗?

4

齐工的眼睛慢慢放出光来,俄顷又发出疑惑的表情来,“下位机这个信号管道怎么管理呢?它是个什么形式呢?”

好问题,下位机要连接不同的被测对象,可是被测对象的输入输出接口有区别,齐工的问题实际上是:怎么以“信号管道”的概念来无差异化管理这些接口呢?

答案是:实现多种性质的信号通道,并给它分配编号,以“信号性质+编号”的形式建立起信号通道列表,然后上下位机要维护相同的列表。

下位机是信号通道的平台载体,在PC机的控制下实现对各个输出方向的信号通道的操作,周期性地反馈各个输入方向的信号通道的状态。这些信号通道和被测对象的接线方式由测试人员在上位机上设定(当然,怎么设定就得怎么接线哦),具体的内容解析则由上位机进行解释。

举个例子吧,在测试工装上实现30路数字输入端口,信号性质是“数字输入”,编号从1-30,在工装上以固定周期(比如50毫秒)定时采集这些端口,通过一个报文以固定周期发送到上位机上,上位机就可以根据这些端口状态,判断具体的测试条目有没有通过了。

上位机和下位机可以用“信号性质”做报文ID,比如“数字输入”用1表示,“数字输出”用2表示,上面那个例子中,报文ID=1,数据场用4个字节,以30个bit对应30路数字输入端口的状态,这样,报文的格式就是:

报文头+1(信号性质:数字输入)+4(报文内容长度)+报文内容(30路数字输入端口状态)+校验和

上位机根据报文ID,便可以依次提取出这30路输入状态,再根据之前设定好的接线方式,就可以确定被测对象的哪个具体的输出信号是个啥状态了。

我鼓着腮帮子讲得天花乱坠,齐工的眼睛间或一轮,不时地对我放出崇拜的光来。“我去跟领导汇报汇报?”齐工跟我反复讨论了技术细节后,信心再度膨胀起来。

我重重地点了点头,同时嘱咐他,一定要给领导说一句提纲挈领的话:产品尽量通用,可以帮助摆脱重复劳动!



关键词:

评论


相关推荐

技术专区

关闭