一个人的产线 书架

第 06 章 / 共 15 章

第六章 · 工业设备不是网站

前面五章你一路顺风:把想法写成规格,补了点计算机常识,然后用 AI 搭出了一个能点、能跑、能演示的原型。你大概已经有种错觉——剩下的无非是把这个 demo 做大一点

这一章我要把这个错觉拆掉。不是泼冷水,是让你在掉进坑之前先看见坑在哪。因为工业设备和你熟悉的那种「网站 / App」,不是同一类东西的大小之分,而是两个物种。它们在三件根本的事情上,规则完全不一样。

一句话预告:demo 跑通,不等于产线跑住。demo 是「在我电脑上、在我盯着的时候,它对了一次」;产线跑住是「在没人管的车间里、连续三个月、每 0.5 秒一次、一次都不许出大错」。这两件事之间隔着一条鸿沟,这一章讲清楚这条鸿沟由什么构成。

一、网站活在网线里,设备活在物理世界里

你做过的所有软件,本质上都在一个干净、听话的世界里跑:数据从数据库来,从接口来,是别人已经整理好、喂到你嘴边的数字。你几乎从不需要问「这个数字是真的吗」。

工业设备不是。它的数据来自真实世界的传感器——一个测温度的探头、一个测振动的加速度计、一个拍零件的工业相机。而真实世界,是脏的。

还有一个绕不过去的角色,你迟早要跟它打交道——PLC

PLC(可编程逻辑控制器),你就把它想成车间里那台专门指挥机器干活的工业电脑。你手机上装的是微信、抖音;PLC 上装的是「气缸伸出→夹紧→机械臂转 90 度→松开」这种一步一步的动作指令。工厂里几乎每一台会动的设备背后,都有一个 PLC 在发号施令。它皮实、简单、几十年不宕机,但它只懂自己那套工业语言,你想让它告诉你「现在第几号工位、传感器读数多少」,或者反过来让它听你的算法指挥,得专门去跟它「对话」。这件事有多难,第七章整章都在讲。

所以第一个根本不同是:网站的数据是别人喂给你的、干净的;设备的数据是你自己从物理世界里刨出来的、脏的、会变的。你的 demo 之所以好用,很可能只是因为你喂给它的那几张测试图,恰好是最干净、光照最好的那几张。

二、网站崩了刷新就好,产线崩了要死人

这是第二个、也是最需要你从骨子里改掉的习惯。

做软件的人对「出错」有一种天然的松弛:崩了?刷新一下。数据错了?改完重新提交。服务器挂了?重启,用户顶多骂两句。软件世界里,错误几乎都是可以撤销、可以重来的。

物理世界不能撤销。

请把这句话刻下来:在工业现场,安全永远是第一位的,比功能、比准确率、比工期都高。这不是口号,是设计原则。它意味着你做每一个判断时,都要先问一句「万一它错了,最坏会发生什么」,而不是「它多久能对」。

这带来一个反直觉的结论:一个会「安全地失败」的系统,比一个「大部分时候很准但偶尔疯一次」的系统,靠谱得多。宁可它拿不准的时候老老实实停下来报警、让人来看,也不能让它自信地做一个可能造成事故的动作。你在网站上追求的是「尽量别出错」;在产线上追求的是「出错的时候,错得安全」。这两种心态,做出来的东西完全不同。

后面第十二章讲「让它跑住」,一大半篇幅其实都在讲这件事:怎么让系统在硬件抽风、数据缺失、网络断了的时候,退到一个安全的状态,而不是随便乱来。

三、网站要「快」,设备要「准时」

第三个不同最微妙,很多人一辈子没绕明白:实时性

你可能觉得实时就是「快」。不是。

实时不是「平均很快」,而是「保证在规定时间内,一定给出响应」。快,是偶尔慢一下没关系,平均值好看就行;准时,是一次都不许超时——超一次就出事。这俩是两码事。

打个比方。你刷网页,平时 0.1 秒打开,偶尔卡成 3 秒——你皱个眉,也就过去了。对网站来说,「99% 的请求很快」是一份漂亮的成绩单。

但工业设备的世界是这样的:一个零件在传送带上以固定速度经过相机,它只在这个位置停留 50 毫秒。你的系统必须在这 50 毫秒内拍照、判断、并且告诉后面的气缸「这个是次品,吹掉它」。

看明白了吗?在实时系统里,「平均很快」是没有意义的,「最坏情况有多慢」才是唯一重要的数字。晚 100 毫秒,在网站上是一次卡顿,在产线上就是一个废件、一次撞机。

而这恰恰是普通电脑、普通操作系统不擅长的事(跟你用什么编程语言关系不大——真正偷停你的是操作系统)。你的笔记本能流畅剪视频,是因为它擅长「平均快」——它会在你看不见的地方偷偷停下来收拾垃圾、更新后台、临时去忙别的进程。这些「偷偷停一下」,在剪视频时你根本察觉不到,在产线上却是致命的。让机器做到「每一次都准时」,需要专门的硬件和专门的做法,这就是第十一章「部署到边缘」要解决的核心问题之一。

把三条鸿沟连起来看

现在回头看你那个跑通的 demo。它之所以顺利,是因为它同时享受了三份「豁免」:

  1. 数据是干净的——你喂的是精挑细选的测试样本,没有粉尘、没有电磁干扰、没有老化。
  2. 出错是免费的——它判断错了,你笑一笑改一改,没有工件报废、没有人受伤。
  3. 时间是宽松的——它慢个一两秒,你等得起,没有零件在传送带上等不及。

产线,把这三份豁免全部收回。这就是「demo 跑通」和「产线跑住」之间那道鸿沟的全部内容:脏的物理世界、不可撤销的后果、不许超时的节拍。你后面遇到的几乎每一个「为什么这么麻烦」,都能追溯到这三条里的某一条。

我不是要吓你。恰恰相反——知道难在哪,本身就是最大的省事。大多数人不是被难度打败的,是被「意外」打败的:以为翻过一座小土坡,结果脚下是悬崖。你现在提前看清了这道鸿沟由哪三块石头砌成,接下来的章节,就是一块一块教你怎么过:第七章教你怎么把脏的、真实的数据从传感器和 PLC 里正确地读进来(物理约束);第十一、十二章教你怎么让它在没人管的车间里,安全地、准时地、连续几个月不出岔子(后果与实时)。

从这一章开始,你不再是在搭一个能点的东西。你在造一台要对真实世界负责的机器。心态换过来,路就对了。

一个人的产线
面向对世界有好奇心的人 · 费曼式写法 · 由多个 AI 代理撰写与互相审校