上周三下午,实验室。一个学生把对称的支架装反了。
螺栓孔对不上。他没停手,硬拧。滑丝的动静挺刺耳。我站在旁边,没吭声。
等他抬头,我说:这个错误,值一节课。
那节本来要讲智能防错系统的绪论。教材上写得挺工整——防错、防呆、源头控制、零缺陷。学生看完点点头,问考不考。这种反应我见得太多了。定义背下来,手上还是会把销子装反。
一、先让他们把零件装错

后来我把开课环节改了。发一套装配件,故意不留任何防错特征,让他们在十五分钟里反复装五次。我在旁边随机抽调一个垫片,或者把某个件掉个头。记录他们多久才发现。
有学生装到第三次才反应过来,说“手感不太对”。
手感。这个东西是人肉防错。靠经验的、靠注意力的、靠今天睡得好不好的。它有用,但不能指望。人只要连续做同一动作超过一定次数,注意力就会往下掉。这不是态度问题,是生理问题。
所以我让他们画一张错误链——从一个念头产生,到变成装配缺陷,中间会经过哪些节点。然后问一句:你打算在哪一环插楔子?
楔子插得越靠前,代价越小。
顺带说一句,错误和缺陷不是一个东西。错误是过程中的动作偏了,缺陷是结果没达标。防错管的是前者,检测管的是后者。学生经常把两者混着说,做出来的方案也就跟着混。有个组记录得挺细,说第四次的时候已经完全不看方向了,全靠肌肉记忆。这句话我抄在本子上了。
二、物理限位,还是加传感器
防错最朴素的做法,是让错误在几何上发生不了。不对称的定位销,装反了根本插不进去。偏心销,孔位不重合。缺口限位,方向错了放不平。这些东西几块钱,不用电,不判断,也不会误报。

但它有个代价:柔性差。换个型号,限位块就得换,工装就得改。单件小批量的活儿,这么做不划算。
于是智能层进来了。接近开关、视觉、称重、射频识别、扭矩-转角监控。举个例子,拧紧枪。拧到位和滑牙,扭矩曲线的形态不一样——前者扭矩平稳爬升,后者中途就开始泄。这个判断由控制器做,人不用盯着。它不是报警,是判定。区别挺大。

取舍在哪儿?
越靠物理,越可靠;越靠软件,越灵活。
怎么选,看三件事:批量有多大,换型有多频繁,错了之后后果有多严重。涉及人身安全的,我基本会让学生先做物理的,再叠一层电子的。反过来做,我一般不批。
三、三个反复出现的坑

第一个坑:把防错做成报警。
报警是什么?是告诉人“出事了,你来处理”。可人本来就是你要防的那个变量。用变量去兜底,逻辑上就拧着。报警可以有,但它是兜底的最后一道,不该是唯一一道。
第二个坑:不去验证防错装置本身。
装置也会坏。坏了以后往哪边倒,这是设计的时候就得定的。有的传感器一掉线,控制系统默认放行——这是要命的。行里的说法叫失效安全,也就是坏的时候要往安全的那一侧坏。
第三个坑:忽略误报的代价。
这个坑最隐蔽,也最现实。上学期有个小组做垫片漏装的视觉检测。思路没错,但车间窗户一开,侧光一进来,误判率就上去了。产线停了几次之后,操作工直接把镜头掰偏了——他们的办法比你的设计快。
学生的补救办法是先调阈值,调松了,漏检又出来了。最后加了个机械探针做初筛,探针碰到垫片才触发相机做二次确认。绕了一圈,回到物理。
我挺喜欢这个返工的过程。它比讲十遍理论管用。
四、我现在给学生的四句话
不写清单了,就问四句。
错误链画出来了吗?每一环是人在挡还是装置在挡?
装置失效的时候,系统往哪边倒?
换型之后,这套防错还成立吗?
拿一个故意做坏的件,能不能验证它还在工作?——这条我叫它防错验证件,每天开班测一次,测不过就不许开工。听着笨,但管用。

说到底,防错这件事的内核是承认人会犯错。承认自己会走神,会手快,会在第三个小时觉得“应该没错”。
这个词不太好听。学生更爱听“智能”。我理解。智能上镜,谦逊不上镜。
下周我打算带他们去车间转一圈。不去看那些大屏,就看看工位上那些黄颜色的、丑丑的、被油污糊住的限位块。
那些东西,比很多图纸都诚实。