先让机器开口,再谈让机器聪明
我们花了六章聊「怎么把想法变成能跑的东西」。但工业智能装备有个前提,网站和 App 都没有:你得先从一堆铁疙瘩里,把数据弄出来。
算法再神、模型再大,喂给它的都是数据。没有数据,AI 就是一个饿着肚子的天才,什么也算不出来。而拿到数据这件事,恰恰是不写代码的产品经理最陌生、也最容易被人忽悠的一环。这一章,我们就把「和硬件对话」这件神秘的事,拆成你听得懂的话。
一句话预告:这一章你会得到一张「数据从哪来、经过谁、最后到你手里」的地图,还有一个可能会颠覆你认知的结论——现场数据天生是脏的,不是别人没弄好,是物理世界本来就这样。
数据的第一站:传感器
传感器,就是机器的「感觉器官」。你的皮肤能感觉到烫,是因为皮肤把「温度高」这个物理现象,变成了神经信号送进大脑。传感器干的是一模一样的事:它把温度、振动、电流、压力这些看不见摸不着的物理量,翻译成电信号,再变成一个数字。
比如一个测温传感器,贴在电机上。电机 60 度,它就吐出一个数——可能是 60,也可能是 600(放大了 10 倍存的),也可能是一串电压值需要你换算。记住这个「可能」,后面要考。
类比:传感器像个只会说方言的乡下亲戚。他确实知道现场情况,但他说出来的话(原始信号),你得有人帮你翻译成普通话(有意义的数字)。
数据的中转站:PLC
传感器测到的数,很少直接跑到你的电脑里。产线上还有个「工头」,叫 PLC(可编程逻辑控制器)。你就把它理解成一台专门指挥机器干活的工业电脑——传送带什么时候转、气缸什么时候推、报警灯什么时候亮,都是它在发号施令。
因为它管着这些机器,所以现场的很多数据,都先汇总到它这里。你想拿温度、想拿电机转速,八成得去问 PLC 要,而不是直接问传感器。
寄存器:PLC 里的一排小格子
PLC 怎么存这些数?靠 寄存器。你可以把 PLC 的内存想象成一面墙,墙上有几千个编了号的小格子。第 40001 号格子存温度,第 40002 号格子存转速,第 40010 号格子存「设备是否报警」……每个格子存一个数。
关键来了:格子上没写标签。你光知道有一面墙没用,你必须知道「第 40001 号格子存的是温度,单位是 0.1 度」,才能正确读到、并算出真实值。这张「几号格子对应什么」的对照表,行话叫 点表(或地址表)。
这里是全章最容易踩坑的地方,请划重点:点表不在任何代码里,不在任何 AI 的脑子里。它在设备电气工程师的手上,或者在一份 Excel 里。你不去问、不去要,谁也变不出来。第 40005 号格子到底是「电流」还是「电压」,AI 猜不到,只有现场的人知道。
它们怎么说话:Modbus 和 OPC UA
你想读 PLC 的格子,得按人家的规矩来。设备之间说话,有约定好的「语言规矩」,叫协议。工业现场最常遇到两种。
Modbus:又老又简单,1979 年就有了,像一门古老的通用方言。它的规矩糙但直接——「请给我第 40001 号格子的值」,PLC 回一个数,完事。缺点是它只管传数字,不告诉你这数字是什么意思、什么单位,全靠你手里那张点表。
OPC UA:新一代的规范普通话。它不光传数字,还能自带说明书——「这个值叫『1 号电机温度』,单位摄氏度,此刻 60.3」。信息更全、更规范,也更安全,但相应地也更重、更复杂。
类比成两种打电话的规矩。Modbus 像老式对讲机:按下说话、松开听,内容全是暗号,得两边事先对好「1 代表开、0 代表关」。OPC UA 像现代视频通话:不但能通话,还自动显示对方名字、头像、在线状态。老设备多用前者,新设备、大项目倾向后者。
翻译官和二传手:边缘网关
现在问题来了。一条产线上,A 设备说 Modbus,B 设备说 OPC UA,C 设备是另一个厂家的私有协议。你的程序要是挨个去对接,会被这些五花八门的规矩逼疯。
于是有了 边缘网关——一个放在设备旁边的小盒子(「边缘」就是指靠近设备的现场那一端,相对于远处的云端)。它干三件事:把各种协议的数据都收上来、翻译成统一格式、再往上送给你的程序或云端。
类比:边缘网关像个能听懂各地方言、又会说普通话的现场翻译。设备们叽叽喳喳各说各话,网关统一听、统一翻,最后用一种你能听懂的话打包递给你。有了它,你的程序只用学一种语言。
一张完整的心智图
把上面串起来,数据从现场到你手里,走的是这么一条路:
- 传感器:把物理量(温度、振动)变成信号和数字。
- PLC:把这些数存进一个个编号的寄存器格子里。
- 协议(Modbus / OPC UA):约定好用什么规矩去读这些格子。
- 边缘网关:把不同协议的数据收齐、翻译、打包。
- 你的程序:终于拿到了一份能算的数据。
记住这条链子。后面每一章讲算法、讲检测,源头都是它。
全章最重要的一句:现场数据天生是脏的
如果你之前的经验来自互联网产品,你会默认「数据库里的数据是干净整齐的」。工业现场彻底颠覆这个假设。从物理世界采来的数据,天生就是脏的。不是谁偷懒,是物理世界本来就不干净。具体脏在哪:
- 缺值:网线抖一下、网关重启一下,这一秒的数据就没了。一天下来一堆窟窿。
- 跳变:温度好端端 60 度,突然冒出个 6000 度再回来。不是电机成了太阳,是信号受了干扰。
- 时间戳对不齐:温度每秒采一次,振动每毫秒采一次,两个设备的表还差了 3 秒。你想把它们对齐分析,先得对表。
- 单位不统一:这个传感器给的是摄氏度,那个给的是华氏度;这个存的是真实值,那个放大了 10 倍。
- 传感器漂移:传感器用久了会「跑偏」,明明 60 度,它长期报 63 度,而且这个偏差还慢慢变大。
为什么反复强调这个?因为它决定了一件事,我们在算法章会一次次回到它:数据质量比模型更重要。喂给再聪明的模型一堆脏数据,得到的也只是「精致的胡说八道」。工业智能装备里,八成的坑不在算法,在数据。
类比:物理世界像一个总在下雨刮风的露天菜市场,不是无菌实验室。你采回来的菜(数据)沾着泥、带着虫眼、缺斤短两,这很正常。做菜前先择菜、洗菜(清洗数据),是绕不过去的活。
AI 在这一步,帮什么、不帮什么
这是本书的老规矩,每章都要划清 AI 的边界。
AI 能帮你的
- 写通信代码:「帮我写一段 Python,用 Modbus 读 PLC 第 40001 号寄存器」——这种活 AI 很擅长,它见过成千上万个类似例子。
- 解析协议:你把一段读回来的原始数据(一串看不懂的字节)丢给它,让它解释每一位是什么意思,它能帮你拆。
- 清洗数据:把上面那些脏——缺值、跳变、对齐——描述给它,让它写处理代码,它能给出一套像样的方案。
AI 帮不了你的
- 它不知道你现场第几号寄存器存的是什么。这是全章的题眼。点表在电气工程师手里,AI 没有透视眼,它只能等你把点表告诉它。你不问、它就只能猜,而猜错的代价可能是把「电压」当成「温度」去分析,整个项目从根上就歪了。
- 它不知道你现场那个传感器有没有漂移、漂了多少——那要靠现场标定,靠人拿标准仪器去对。
- 它不知道你两台设备的时钟差几秒——那要你去现场量。
所以这一步你真正的工作,不是写代码(那交给 AI),而是去要那张点表、去问清楚每个数的单位和含义、去搞明白数据是怎么采上来的。带着这些「现场真相」回来,AI 才能帮你把剩下的活干利索。你负责问对问题,AI 负责写对代码。
这一章你要带走的
- 数据通路是一条链:传感器 → PLC(寄存器)→ 协议 → 边缘网关 → 你的程序,缺一环都拿不到数据。
- PLC 的寄存器是编号的格子,你必须有点表才知道哪个格子是什么——这东西 AI 变不出来,只能去现场要。
- Modbus 老而简单、OPC UA 新而规范,是设备说话的两种「规矩」;边缘网关是那个把方言翻成普通话的中间人。
- 记住那句最重要的:现场数据天生是脏的,数据质量比模型更重要。下一章讲算法,我们就从「祛魅」开始,先把「AI 有多神」这个滤镜摘掉。