精彩小说尽在丛林文学网! 手机版

您的位置 : 丛林文学网 > 末日求生 > 蝼蚁工程师_精选章节

精选章节

更新时间:2026-10-31 22:57:55

1 第四十七天没有水

杨士举蹲在发电机舱的水泥地上,面前是一台1910年设计的柴油机,缸体上铸着“锡柴”两个模糊的字。它的前主人不知道是谁,后主人是营地里一百三十七个活人。此刻它不转了。

舱外有人在喊他的名字,声音从铁皮棚的缝隙里挤进来,像砂纸刮过金属。杨士举没有抬头。他用扳手敲了敲输油管,声音发闷——油路里有气。他拧开排气螺栓,柴油混着气泡滴在他虎口上,凉得不像这个季节该有的温度。

“杨师傅,水没了。”来人掀开帘子,是营地里管分配的刘姐,手里拎着一个五升的塑料桶,桶底晃着不到两指深的浑水。“老周说再不泵水,今天晚饭就得用尿。”

“老周自己怎么不来。”

“他在拆太阳能板。”

杨士举没接话。他把排气螺栓拧回去,站起来踹了一脚启动手柄。柴油机咳嗽了两声,排气管吐出一团黑烟,转速表指针抖了抖,停在六百转。够泵水了。刘姐把桶往地上一搁,转身就跑,边跑边喊“来电了来电了”——营地的人把任何机器转动的声音都叫来电。

他擦了把手,从工具包里摸出半截烟。烟是四十天前在加油站便利店废墟里翻出来的,受潮了,点着以后有股霉味。他抽了两口就掐了,因为发电机舱的通风扇不转,烟散不出去。

真正让他坐下来的,是角落里那块铁疙瘩。

三天前他去东边垮塌的立交桥下面找柴油滤芯,在桥墩和泥土的夹缝里摸到一块不规则的板状物。拽出来一看,不是人类造的东西。表面是暗银色的,不反光,边缘有熔融后再凝固的痕迹——它被什么东西从本体上切下来,或者扯下来,然后掉在那里。板子的一面嵌着十几排针脚一样的接口,间距细得像头发丝。他用指甲刮了刮接口附近的积灰,下面露出一行蚀刻的符号,不是任何人类语言,但排列方式有规律:短、长、短、短、长。

杨士举不是工程师。他的职称证书上写的是“电气维修中级”,那是一个在三十八岁那年考下来的东西,挂靠在物业公司名下,每个月多拿四百块。他修过最多的是配电柜跳闸和居民楼水泵的接触器,最接近“高科技”的经验,是在一个冷链物流园里维护过三个冬天的温控系统。那些温控器用的是一套老掉牙的工业总线,接口序列长得跟这行蚀刻符号有几分说不清的相似。

他把板子翻过来。背面刻着更小的符号,排成三行,中间一行被什么东西烧穿了,糊成一片焦黑。焦黑的边缘有细微的结晶,像是某种液体在高温下瞬间汽化后留下的痕迹。

外星人的东西也会烧。

这个念头像一根针,扎在他脑子里已经三天了。

营地里的人管外星人叫“上面”。上面来的时候没有任何宣言。先是天上的星星暗了一半,然后所有的短波通讯同时被一种脉冲式的噪音覆盖。后来是低轨卫星一颗一颗消失,像有人在天上关灯。再后来,那些梭形的飞行器开始出现在云层下面,不大,翼展可能只有二十米,飞得比直升机安静。它们不扔炸弹。它们扔的是标记器——拳头大的六面体,落地以后往地下钻,钻到管线层就停下来,然后开始发信号。信号覆盖范围内,任何超过一定功率的用电行为都会被记录下来。

老周说这是“圈地”。杨士举觉得更像抄表——外星人在抄人类基础设施的表,抄到哪一片,哪一片的资源就归他们调度。营地在第四十三天被抄了表。那天晚上,三台标记器落在自来水厂的泵房顶上,从那以后,泵房的控制柜就再也推不上去了。

所以他才蹲在柴油机旁边。市政电网在第十二天就断了,营地的电靠这台柴油机,油靠他去废墟里一桶一桶摸。水靠电,饭靠水,一百三十七个人的命悬在一根皮带上。

他把外星板子塞回工具包夹层,站起来的时候膝盖响了一声。刘姐又跑回来了,桶里的水晃到了桶沿。

“泵上来了,”她喘着气说,“但是老周说柴油只够跑四个小时。”

“四个小时够把水塔灌满。”

“老周说水塔漏了。”

杨士举闭上眼睛,用后脑勺撞了一下身后的铁皮墙。砰的一声,不疼。

“带我去看水塔。”

水塔在营地北边,是这座物流园最早的建筑,一九八几年盖的,砖混结构,顶上架着一个锈得看不出原色的铁皮水箱。老周站在梯子中间,手里攥着一把管钳,脸上全是铁锈色的汗。

“焊缝裂了,”老周说,用管钳敲了敲水箱侧壁,声音像敲一面破锣,“补了三次,水一压上来就崩。”

杨士举仰头看了一圈。水箱的支撑腿有一根已经歪了,用钢丝绳临时绑在旁边的避雷针基座上。焊缝在东北角,裂了大概十厘米,水从那里渗出来,沿着铁皮往下流,把下面的砖墙洇湿了一大片。

“把泵停了。”杨士举说。

“停了就没有水压。”

“有压力就补不上。你把水放空。”

老周瞪着他,像瞪一个说要拆房子的人。但杨士举已经在翻工具包了。他掏出来的东西摊在水泥地上:一卷铅皮,半盒自攻螺丝,一管环氧树脂胶,还有一把从冷链仓库摸出来的铜管割刀。铅皮是他从废弃的屋顶防水层上剥下来的,铜管割刀本来是用来切制冷剂管路的。

“你搞什么。”

“做夹具。”杨士举把铅皮剪成一条一掌宽的带子,在割刀的手柄上绕了两圈,掰出一个弧度。“焊缝不能焊,水箱里全是水垢,一焊就着。用铅皮包住裂缝,环氧树脂填缝,外面再箍一道铜管——铜管有韧性,能跟着铁皮一起胀。”

老周沉默了一会儿,把管钳往地上一搁。“铜管哪来的。”

“冷库压缩机上拆的。”

“你拆了冷库的压缩机?”

“冷库已经没电了,老周。压缩机不转的时候,铜管就是一堆铜。”

这句话在营地里是一句正确的废话——没电的时候,所有电动的东西都是零件库。 但老周的表情还是像被人从存折上划掉了一个零。

杨士举没有等他同意。他爬上梯子,用钢丝刷把焊缝两侧的铁锈磨掉,露出底下发黑的金属。环氧树脂挤上去的时候像牙膏,他用刮刀抹平,然后把铅皮带子按上去,手掌压着,数了六十秒。铅皮和铁皮之间没有缝隙了。最后一步是把一段二十厘米长的铜管弯成U形,开口朝外,扣在铅皮上,两端用自攻螺丝打进铁皮。铜管的弹性把铅皮压紧在焊缝上,像一个金属夹板。

“开泵。”他说。

老周启动了柴油机。水从井里抽上来,沿着锈蚀的铸铁管爬上水塔。焊缝处先是渗出一小片水珠,然后水珠停在那里,没有变大。杨士举盯着那片水珠看了整整两分钟,直到刘姐在下边喊“水塔满了”,他才从梯子上下来。

老周给他递了半根烟。就是他自己掐掉的那半根。

“你那个铜管,”老周说,“还能撑几天?”

“铅皮不裂,就能撑。”

“铅皮要是裂了呢?”

杨士举把烟叼在嘴里,没有点。“那我就再找一块铅皮。”

他往发电机舱走,路过工具包的时候摸了一下夹层里那块外星板子。蚀刻的接口序列隔着帆布硌着他的指尖,短、长、短、短、长。

外星人的散热模块烧了。他们的设备也会过热。他们的标记器也需要供电。他们的节点——不管那是什么东西——也需要某个零件转起来,某个零件停下来。

杨士举不关心他们为什么要来,也不关心他们的文明等级在卡尔达肖夫标尺上排第几。他关心的是:烧穿的那一行蚀刻符号旁边,有一组针脚接口的间距,和他二十年前在冷链温控器上见过的工业总线,几乎一样宽。

如果外星人的维护信号也走线缆,那么线缆就有接头。有接头,就能拔下来,再插回去——或者插到别的地方去。

柴油机舱的灯闪了一下,电压不稳。他抬头看了一眼灯泡,钨丝发着暗红色的光,像一根快要烧断的保险丝。

明天,他要去找那个退休的通讯工程师谈谈。

2 接口序列

老郑住在营地最西边的工具棚里,那里原来是物流园的叉车充电间,墙上一排充电桩早就没了电,但插座面板还在。老郑把其中三个插座拆下来,用里面的铜片和弹簧做了个小玩意儿:一个能测直流电压的土表头,刻度是他自己拿针尖划在铝板上的,精度全靠手指头摁表笔的力度。

杨士举掀开帘子进去的时候,老郑正蹲在地上拆一个报废的电动车充电器,把里面的电容一颗一颗剪下来按容量分类,大的放左边,小的放右边,中间那堆是他自己也拿不准的。老郑六十七岁,退休前在省通讯公司干了三十一年线路维护,从载波机时代一直干到光纤入户。他有个毛病:凡是他修不好的东西,他就拆成零件,说“零件没有错,错的是把它们装到一起的人”。

“郑工。”杨士举把那块外星板子搁在他面前的铝板上。

老郑没抬头。“柴油机修好了?”

“修好了。水塔也补了。”

“那你来找我干什么,我又不会修水塔。”

“你帮我看看这个。”

老郑终于抬起眼皮,目光落在那块暗银色的板子上,停了大概三秒。然后他把手里的剪线钳放下,用拇指蹭了蹭板子边缘的熔融痕迹,又翻过来看了看背面的焦黑和结晶。

“哪来的。”

“立交桥底下。压在一堆碎砖下面,像是被什么东西从上面削下来的。”

“你确定不是人做的?”

“人做不出这个表面。”杨士举指了指板子正面的接口阵列,“你看这个间距,零点四毫米,针脚是圆的,不是扁的。咱们的排线接口都是方的,防呆的。这个没有防呆,随便插,插反了也能进去。人类不会这么设计。”

老郑从兜里摸出眼镜戴上。那副眼镜左腿断了,用铜丝缠着挂在耳朵上。他把板子凑到眼前,鼻尖快贴上去了。

“蚀刻符号,”他说,声音低下去,像自言自语,“三行,中间一行烧了。上面一行是……重复的节奏。短长短短短长……这是帧头。下面一行是对应的……地址?还是校验?”

杨士举没有插嘴。老郑在营地里出了名的怪脾气,但他有一个别人没有的本事:他见过太多报废的通讯设备,知道信号从机器里跑出来的时候长什么样。

“你注意到没有,”老郑把板子翻回正面,指着接口阵列,“这些针脚的排列,不是乱排的。你看这一排,十六根针,中间空两根,再八根,再空一根,再四根。这个分组方式——十六、八、四,分组之间有隔离空位。”

“我注意到了。”杨士举从工具包里掏出一张皱巴巴的纸,上面是他前一天晚上用铅笔描下来的接口序列和分组方式。“我修冷库温控器的时候,那上面的RS-485接口也是这么分组的,只是间距没这么细,针脚也没这么密。”

老郑把纸接过去看了很久。棚子里只有柴油机远处传来的低频震动声,还有老郑的呼吸声,带着老年人特有的那种不平稳的节奏。

“你是说,”老郑终于开口,“外星人用跟咱们冷库温控器一个祖宗的总线协议?”

“我不确定。但这个分组方式和差分信号的走线逻辑太像了。而且你看这里——”杨士举指着板子正面靠近边缘的一个针脚,“这根针比旁边的粗一点,单独走线,旁边蚀刻的符号只有一个短横。那是地线。差分总线里,地线单独走,信号线成对走。你数数,这里正好七对信号线,一对地线。”

老郑沉默了大概十秒钟,然后站起来,走到棚子角落的铁皮柜前,拉开最下面一层抽屉,从里面翻出一块巴掌大的绿色电路板。板子上印着“西门子 S7-200”,CPU的位置贴着一张发黄的标签,写着“2013年报废”。

“PLC,”老郑把板子往铝板上一搁,“物流园冷库拆下来的,三台,这是最后一块好的。我拆了两台取零件,这台还能上电,只是输出点烧了两个。你打算干什么?”

“我想监听它。”

“监听谁?”

“外星人的维护信号。”杨士举把板子翻到背面,指着那行没烧穿的蚀刻符号,“这块板子是从某个设备上扯下来的,它上面的接口序列说明那个设备跟某种总线网络连着。我在营地周围转了两天,用万用表的频率档测空气中的电磁信号,测到一组周期性脉冲,频率很低,每十七分钟一次,每次持续不到两秒。位置在自来水厂方向,但信号源离水厂大概还有一公里。”

“电磁信号,”老郑眯起眼睛,“你是说他们在用无线电?”

“不是无线电,是感应场。”杨士举把万用表的表笔在铝板上画了个圈,“我测到的信号强度随着位置变化有规律,越靠近城市管网系统的检修井口越强。他们走的是地下。可能是用管网里的金属结构当波导,也可能是沿着线缆走差分信号。不管哪种,只要有信号就有接口,有接口就有插拔。”

老郑把PLC板子翻过来看了看底部的端子排。“你要我用这个PLC去抓外星人的信号?”

“我要你用这个PLC做一个脉冲捕捉器。信号来了,它记下时间戳和脉冲宽度;信号走了,它把记录存下来。咱们不跟它通讯,只听。”

老郑把眼镜摘下来,用衣角擦了擦镜片,又戴回去。

“你知道这个东西最大的问题在哪吗?”他用镊子尖敲了敲PLC板子上那块已经有点鼓包的电解电容,“这东西用的是二十四伏直流输入,需要外部电源。咱们营地柴油机带的那台发电机输出是三百八十伏交流,你要么找一个二十四伏的开关电源,要么自己绕变压器。另外,PLC的输入点响应速度是毫秒级的,外星人的脉冲如果是微秒级,它抓不到。”

杨士举从工具包里又掏出一个东西:一块从电动车充电器里拆出来的开关电源板,上面贴着“输出24V 5A”的标签,电容已经换过了,用的是他从三台报废充电器里凑出来的低ESR电容。

“开关电源我有了,”他说,“至于响应速度——你做不了微秒捕捉,那就做包络检测。信号来了,PLC只记‘有’,信号走了记‘无’,中间的时间用它的高速计数器测。精度不一定够,但至少能测出信号出现的周期和持续时长。”

老郑盯着他看了几秒。

“你不是修电气的吗,怎么懂这些?”

“修冷库的时候,温控器要跟上位机通讯,通讯断了就得查总线。查多了就懂了——差分信号只要没被噪声淹掉,总能从线头上量出来。 ”

老郑哼了一声,没再说什么。他从工具柜里翻出一把电烙铁,一个旧示波器探头,还有一卷屏蔽线。两个人蹲在铝板前面,开始把PLC的输入端子跟开关电源的直流输出接在一起。老郑的手很稳,焊点又小又圆。杨士举负责把屏蔽线的一端焊在PLC的输入点上,另一端拖出去,绕在棚子后面那根废弃的排水管上。排水管是铸铁的,跟市政管网连通,如果外星人的信号真的走管网,那这根管子就是一个天然的天线。

接通电源的时候,PLC上的“RUN”灯亮了一下,然后灭了。

“炸了?”杨士举问。

“没炸。输入点烧了两个,我跳过它们,把信号接到剩下的点上。上电自检没过,但计数器还能跑。”老郑把编程电缆插上,用一台电池供电的旧笔记本打开STEP 7 Micro/WIN——软件是二十年前的版本,装在一张只有2GB容量的SD卡里。他花了二十分钟写了一段十几行的梯形图:输入点每来一个上升沿,计数器加一;高电平持续期间,内部定时器计时;低电平来了,把计数值和定时值一起存进V区的保持寄存器,然后清零重来。

“这玩意儿的内存能存多少条记录?”杨士举问。

“V区一共两千字节。每条记录占四个字节,能存五百条。”老郑敲了敲回车键,程序下载进去了,“五百条够抓两天的信号。如果真是十七分钟一次,两天是……一百七十次左右。绰绰有余。”

他们等了四十七分钟。

第一个信号来的时候,PLC上的输入指示灯闪了一下,快得像一根针掉在地上。杨士举盯着笔记本屏幕上的V区数据,第一条记录:周期计数器=1023,脉冲宽度=47。

“脉冲宽度四十七个定时器单位,”老郑念出来,“定时器精度是十毫秒,所以是……四百七十毫秒?”

“太长了,”杨士举摇头,“我万用表上看到的是不到两秒的持续。四百七十毫秒只是其中一段。你把阈值调低,让PLC只记超过阈值的部分,别把整个包络都算进去。”

老郑改了定时器的预设值,重新下载。第二个信号来的时候,记录变成了:脉冲宽度=12。一百二十毫秒。

“这个才是核心脉冲。”杨士举用铅笔在纸上画了个波形,一个长脉冲后面跟着三个短脉冲,短脉冲之间的间隔相等。“你看,一长三短,然后停。这就是一个指令帧。长脉冲是帧头,三个短脉冲是数据。内容我们不知道,但帧结构我们有了。”

老郑又加了一段程序:每捕捉到一个完整的帧,就把帧内短脉冲的间隔时间也存下来。第三条记录来了,间隔时间:二十毫秒、二十毫秒、四十毫秒。

“三短脉冲,间隔是二十、二十、四十。”杨士举把这三个数字圈起来。“如果这是二进制编码,二十是零,四十是一,那这个帧就是……零零一。或者反过来,一一零。不管哪种,它是一个地址。”

老郑抬起头。“什么地址?”

“节点的地址。或者指令的类型。我们还不知道。但下一次信号来的时候,我们比对一下——如果每次都是同样的三个间隔,那它就是固定内容,可能是心跳包。如果间隔有变化,那它是数据,说明外星人在发指令。”

他们又等了三个周期。第四个信号:间隔 二十、四十、二十。第五个:四十、二十、二十。第六个:二十、二十、二十。

“有变化,”老郑把六条记录并排放在纸上,眯着眼看,“前三个一样,后三个不一样。而且第四个和第五个的第三个间隔变成了四十。第六个又变成全部二十。”

“第六个可能是应答。”杨士举用手指点着那六行数字,“你看,第一个到第五个,脉冲宽度都是十二左右,间隔在变。第六个的脉冲宽度变成了十八,间隔全是二十。宽度变了,说明发信号的设备换了——可能是节点在回复上一级的指令。”

老郑把铅笔搁下,往后靠在铁皮柜上,长长地吐了一口气。

“我干了三十一年线路维护,退休以后以为这辈子不用再看帧结构了。”他指了指屏幕上那行V区数据,“结果蹲在铁皮棚子里看外星人的帧。”

“能看出什么?”

“能看出很多东西。”老郑坐直了,把纸翻到背面,开始画时间轴,“你看,信号每十七分钟一次,每次一个帧,偶尔有一串帧。如果这是维护轮询——主站轮流问每个节点‘你还好吗’,节点回答‘我正常’或者‘我需要补给’——那第六帧的脉冲宽度变化就说得通:前五帧是主站在轮询五个不同的节点,第六帧是其中一个节点在回答。”

杨士举盯着时间轴看了半分钟。

“如果其中有一个节点回答的是‘我需要补给’,”他说得很慢,“那它的回答里应该有一个区别于其他节点的特征码。”

“对。但我们得先抓够数据,把每个节点的回答都录下来,比对特征码。”

“要多久?”

老郑算了算。“按现在的记录速度,两天能存五百条。但如果我们要覆盖五个节点加一个主站,至少得抓六个完整周期,也就是一百零二分钟。两天足够了,还能留余量。”

杨士举站起来,走到棚子门口。外面的天正在暗下去,远处自来水厂方向传来节点的低频嗡鸣——那种声音他听了快五十天了,一直以为是某种引擎,现在他知道那可能是冷却系统在运转。散热泵、压缩机、或者别的什么需要持续转动的部件。转着的东西会磨损,会过热,需要补给。

“郑工,”他背对着老郑说,“如果有一个节点,它的回答里带着‘我需要补给’的特征码,而且补给周期是固定的——你觉得那个周期会是多长?”

老郑在背后沉默了一会儿。

“液氦,”老郑的声音从棚子里传出来,“如果他们的散热系统用的是液氦,那补给周期不会太长。液氦在常压下存放,每天要蒸发掉百分之一到二。一个中等大小的冷却回路,撑死了六到七天就得补一次。”

杨士举转过身。

“六到七天。”

“前提是他们用液氦。也可能是液氮,那周期更短,三四天。或者他们用某种我们不知道的工质。”老郑把PLC的编程电缆拔下来,开始收拾工具,“但不管什么工质,冷却剂会挥发,补给有周期,周期有规律。 只要它是机器,它就有维护窗口。”

杨士举走回铝板前面,把那块外星板子拿起来,对着棚子顶上那盏昏暗的灯泡照了照。板子边缘的熔融痕迹在灯光下显出细密的结晶纹路,像冬天窗户上的霜。

“我们不用炸它,”他说,“我们只要在它该补给的时候,让补给送不到。”

老郑手上的动作停了。

“你想打补给线?”

“我想知道补给线什么时候来,走哪条路,用什么装。知道了这些,我们就知道那六天里,哪一天动手最划算。”

老郑把最后一颗电容收进铁盒里,盖上盖子。

“你这个人,”他说,“修柴油机修水塔的时候看着挺老实,一说到搞破坏就精神了。”

“我不是搞破坏。”杨士举把外星板子塞回工具包,“我是在修东西。修一个不该出现在这里的东西,让它停下来。”

他掀开帘子往外走,老郑在后面喊了一句:“明天把万用表留给我,我要校准PLC的时钟,不然时间戳对不上。”

“明天早上给你送过来。”杨士举头也没回。

走到半路,他停下来,从兜里掏出那张画着帧格式的纸,借着营地门口那盏太阳能灯的余光又看了一遍。六个周期,六条记录。下一次信号来的时候,他们会有第七、第八、第九条。数据越多,规律越清楚。

规律越清楚,那条补给线就越好找。

他把纸折起来塞回兜里。身后传来老郑在棚子里关灯的声音,然后是什么东西碰倒了的响声,老郑骂了一句脏话。杨士举笑了一下,继续往前走。

远处节点的嗡鸣变了调子,比平时高了一点,持续了大概三秒,又落回去。他不知道那是什么意思。也许什么都不是。也许是一次内部自检。也许是一个信号:某个零件的寿命又少了三天。

他记住了那个音调变化出现的时间,晚上回去要记在纸上。

维修工的笔记本上,每一行都是机器的病历。

3 冷链仓库

老郑花了整整一个上午校准PLC的时钟,用的是一台从报废电动车上拆下来的仪表盘石英钟。他把石英钟的晶振频率跟PLC的内部时钟做比对,发现PLC每天慢四十七秒。这个误差在工业控制里不算离谱,但对杨士举来说很要命——如果时间戳不准,补给窗口就推算不准。

校准完以后,老郑把过去五天抓到的信号记录导出来,按时间排序,做成一张表。三百四十一条记录,六十八个完整轮询周期,五个节点地址,一个主站。每个周期里,主站依次呼叫五个节点,节点依次应答。大部分应答是短的、规律的、脉冲宽度稳定的——老郑管这个叫“正常心跳”。

但有一个节点的应答不一样。

“你看这里,”老郑用铅笔尖点着纸上的一列数字,“地址码是长短短长,对应的是自来水厂方向那个节点。它的应答帧里,每隔大概一百一十分钟,会出现一个额外的宽脉冲。脉冲宽度是正常心跳的三倍,间隔位置在帧尾。其他四个节点的应答里没有这个东西。”

“什么意思?”

“意思就是它在说一句别人不说的话。”老郑在宽脉冲下面画了两道线,“如果正常心跳是‘我没事’,那这个宽脉冲就是‘我有事’。而且它有规律——每十七个轮询周期出现一次。十七乘以十七分钟,等于两百八十九分钟,四个小时四十九分钟。”

杨士举掏出手机,打开备忘录——手机没有信号,但记事本还能用。他算了算日子。

“按这个节奏,它下一次报‘我有事’是什么时候?”

“今天晚上九点四十分左右。”老郑把铅笔搁下,“但我要提醒你,这只是它报告的周期。实际补给什么时候来、从哪来、怎么来,我们不知道。它报四次‘我有事’,外面才可能来一次车。这个延迟有多长,我们算不出来。”

杨士举没有立刻接话。他坐在叉车充电间的铁皮凳上,看着墙上那排被老郑拆得只剩铜片的插座面板。脑子里在算另一笔账:营地的大米还剩四袋,每袋二十五公斤,一百三十七个人按每天两顿稀饭算,能撑十二天。罐头早就没了。盐还有,酱油没了。刘姐昨天说,老周开始往稀饭里搁野菜,是从物流园围墙根底下薅的,吃了以后有三个人拉肚子。

“粮食不够了。”他说。

老郑抬起头看他。

“我知道。”老郑说,“但你刚才想说的是——冷链仓库。”

“物流园东边三公里,那个冻品批发市场。冷库容量大概两千吨,主要存冻肉和海鲜。停电以后冷库的温度在慢慢回升,但那个库的保温层厚,墙体是聚氨酯夹芯板,一百五十毫米厚。如果门没被打开过,里面到现在可能还有相当一部分东西没化。”

“那个仓库被上面标记了。”老郑说这话的时候声音压得很低,像怕被什么东西听见。“我上周路过东边,看到仓库屋顶上蹲着一个巡逻单元,六条腿的那种,趴在上面不动,但隔一会儿会转一下头。它的扫描范围覆盖整个仓库外围。”

“我知道。”杨士举从工具包里掏出那个用外星传感器外壳做的嗅探器——就是第二章末尾他用导热合金和传感器模块拼出来的那个东西,巴掌大,上面焊了一个小表头,指针能根据接收到的信号强度偏转。“我去测过三次。巡逻单元每天扫描仓库的周期是固定的:每四十分钟一轮,每轮扫描持续六分钟,扫描方向从东往西,覆盖仓库的东墙、北墙和屋顶。西墙和南墙是它的盲区——因为那两面贴着隔壁的造纸厂厂房,厂房比仓库高,挡住了扫描波束。”

老郑把眼镜摘下来,用拇指和食指捏了捏鼻梁。

“你想从西墙进去。”

“西墙有一扇装卸货的门,卷帘式的,电机早就没电了,但门是半开的——上次有人从里面撬过,没撬开,但卷帘被顶起来大概半米。人蹲着能钻进去。”

“进去以后呢?你打算搬多少?一百三十七个人,你一个人扛得动几箱冻肉?”

“我不搬冻肉。”杨士举把嗅探器收起来,“我要去拿液氮。”

老郑愣了一下。

“冷库的速冻间里有一台液氮速冻机。我修过那台机器,三年前,它的冷凝器堵了。那台机器旁边有一个立式液氮罐,容积大概两百升,带自增压装置。停电以后自增压不工作了,但罐体是真空绝热的,液氮的蒸发率很低。如果罐子没被人动过,里面至少还有一半。”

“你要液氮干什么?”

“液氮在常压下的温度是零下196度。外星节点的散热系统需要液氦——液氦是零下269度。差七十三度,但对一个临时热交换器来说,零下196度已经足够把散热回路的温度拉下来。只要拉下来,节点就会以为冷却正常,不会立刻上报异常。”

老郑慢慢把眼镜戴回去。

“你要去骗一个外星节点。”

“我要去让它以为自己的散热系统在工作。”杨士举站起来,“骗它四到六个小时,等它下一次报‘我有事’的时候,主站会认为它已经补过了,不会派补给。补给推迟一个周期,我们就有更多时间。”

“推迟一个周期才多长时间?”

“如果补给周期是六到七天,推迟一个周期就是再多等六到七天。这六到七天里,我们可以做很多事。至少能把粮食问题解决。”

老郑沉默了很久。棚子外面有人在喊刘姐的名字,说柴油机又咳嗽了。老郑没有动,杨士举也没有动。

“你一个人干不了。”老郑终于开口,“液氮罐两百升,满罐的时候连罐带液超过三百公斤。你有本事把它从速冻间拖到门口,但你没本事把它从门口弄上平板车再推三公里。”

“所以我需要老周。”

“老周连压缩机都不让你拆。”

“老周不知道我要拆什么。”杨士举弯腰把工具包的拉链拉好,“我告诉他去搬冻肉。他扛冻肉的时候不会问我液氮的事。”

老郑看了他一眼,那种眼神说不清是佩服还是担心。

“你这个人,”老郑说,“修东西的时候老实,动脑子的时候不老实。”

“修东西靠的是手,搞物资靠的是嘴。”杨士举把工具包甩到肩上,“分工不同。”

下午四点,杨士举去找老周。老周正在物流园的食堂后厨修灶台,鼓风机不转了,他用一把螺丝刀和一根铁丝在捅风叶。杨士举靠在门框上看了一会儿,等老周把鼓风机捅转了才开口。

“老周,晚上跟我去趟东边。”

老周没回头。“东边哪。”

“冻品市场。”

老周手上的动作停了。他转过身来,脸上带着那种“你是不是疯了”的表情。

“那边有上面。”

“西墙是盲区。我测过了。”

“你测过了。”老周把螺丝刀往灶台上一扔,“你拿什么测的?你那个破表头?你知道上面那玩意儿扫过来的时候什么感觉吗?被它标记过的设施会断电——你又不是没经历过。自来水厂就是被标记以后断的电。”

“自来水厂是因为有人在里面开了泵。你不开大功率设备,它不会标记你。”

“你怎么知道?”

“因为我看了它的帧结构。”杨士举从兜里掏出那张画着波形的纸,摊在灶台上,“巡逻单元上报给节点的数据里有字段是能耗。超过阈值才触发标记。冷库现在没电,它的能耗是零。巡逻单元扫描到零能耗,只会记录‘设施无人使用’。它不会标记一个它认为没人用的地方。”

老周盯着那张纸看了好一会儿。他不识字,但杨士举画的那个波形图他看得懂——一长三短,下面标着“巡逻单元上报帧”。

“就算你说的对,”老周的声音低了一点,“你进去以后呢?你打算搬多少冻肉?一箱两箱顶什么用?”

“我要搬的是液氮罐。速冻间里那个。”

老周的脸一下子变了。

“那个罐子三百多公斤!你让我扛?”

“用平板车。物流园里有的是平板车,轮子没坏,轴承上点油就能推。”

“推到哪?三公里!中间要过两条马路!上面那些梭子飞来飞去,你推个三百公斤的罐子在马路上走,你觉得它们看不见?”

“它们看得见。但它们不关心。”杨士举把纸折起来,“梭子在高空,它们的传感器分辨率看不清地面上一辆平板车上装的是什么。只要我们不发热、不发光、不发出大功率电磁信号,在它们眼里就是三个热源在移动。三个热源跟三个行人没有区别。”

老周把螺丝刀捡起来,在手里攥了攥。

“你确定?”

“我确定两件事。第一,巡逻单元的扫描波束是锥形的,覆盖角度大概一百二十度,从屋顶往下扫。它扫不到西墙根底下。第二,冻品市场的西墙外面有一排废弃的货车挂车,车斗正好贴着墙。我们从挂车车斗底下钻过去,巡逻单元的扫描波束被车斗挡住,看不到人。”

老周盯着他。

“你什么时候变得这么会算了?”

“我一直会算。只是以前算的是配电柜的额定电流,现在算的是怎么活着。”

老周把螺丝刀插回腰上的工具袋里,叹了口气。

“几点?”

“巡逻单元每四十分钟一轮,每轮六分钟。下一轮扫描结束是五点二十六分。我们从西门出去,绕造纸厂北墙到冻品市场西墙,大概需要四十分钟。六点十分左右能到。正好赶上巡逻单元刚扫完东墙,我们有三十四分钟的窗口。”

“三十四分钟够干什么?”

“够我改一台压缩机。”

六点零八分,两个人蹲在冻品市场西墙外的挂车车斗底下。

老周推着一辆平板车,车上搁着一个从物流园修车铺里翻出来的旧电焊机——杨士举要用的。杨士举背着他的工具包,手里攥着嗅探器,表头指针偏在左侧,信号很弱。

“巡逻单元刚过,”他低声说,“现在开始算时间。三十四分钟。”

老周把平板车从车斗底下推出来,轮子吱呀了一声,在空荡荡的厂区里显得很响。杨士举皱了皱眉,但没有别的办法。两个人贴着墙根走到那扇半开的卷帘门前。杨士举蹲下来,从门缝底下往里看。冷库里一片漆黑,但能感觉到一股凉气从里面渗出来,带着冻肉特有的那种腥味。

“门没锁。”他把卷帘门往上抬了抬,抬到半米高,侧身钻了进去,然后从里面把卷帘门又往上推了一点,让老周能推着平板车进来。

冷库的速冻间在仓库最里面,要穿过一条三十米长的穿堂。穿堂两侧是货架,上面堆着纸箱,大部分已经软塌塌的了,渗出的水在水泥地上积了一层薄冰。杨士举踩着薄冰往里走,脚下咯吱响。

速冻间的门是厚重的推拉门,轨道上结了霜,推起来很费劲。老周在后面用肩膀顶,两个人推了三下才推开一条缝,侧身挤进去。

速冻间里的温度明显更低,哈气在面前凝成白雾。角落里立着那个液氮罐,银灰色的圆柱体,表面挂着均匀的霜层——说明真空夹套是好的。杨士举用手背碰了碰罐体,冰得发疼。他看了看罐体上的液位计,指针在三分之一的位置。

“大概六七十升。”他小声说,“比我预想的少,但够用。”

老周盯着那个罐子看了看,又看了看杨士举。

“你拿它干什么?”

“当冷却剂。”

“给谁冷却?”

“给一台不该转的机器。”

老周没再问。他走到速冻间的另一头,那里堆着几箱冻肉,外包装上印着“冷鲜猪前腿肉”。他搬了一箱搁在平板车上。

“你说搬冻肉,我搬冻肉。”老周说,“但你得告诉我,你到底要干什么。”

杨士举蹲在速冻机旁边,把电焊机的电缆从工具包里掏出来,一头接在速冻机的压缩机接线端子上,另一头拖到液氮罐旁边。

“这台速冻机的压缩机还能转,”他说,一边用扳手拆压缩机旁边的铜管接头,“它的电机没烧,只是没电。我有电——电焊机改的。我把压缩机转起来,用液氮做冷媒,把冷库的残余冷量抽到隔壁那个配电间里去。”

“隔壁配电间是干什么的?”

“隔壁配电间是冻品市场自己的配电房,里面有一套UPS蓄电池组。蓄电池组的温度传感器接在配电柜的模拟量输入模块上。如果配电间温度过高,模块会报警,上报给主站。如果温度正常,它什么都不会说。”

老周慢慢把第二箱冻肉搁在平板车上。

“你要骗那个配电间的温度传感器。”

“我要让它认为配电间的温度在正常范围内。实际上我要把配电间的温度拉到零下——这样巡逻单元下次扫描的时候,红外传感器会看到配电间是一个低温区,跟它记忆里的‘正常’一致。”

“你刚才说它扫不到西墙。”

“它扫得到配电间。配电间在仓库中间,不在西墙盲区里。所以配电间的温度必须正常——至少在巡逻单元看来正常。”

老周把第三箱冻肉搁在平板车上,直起腰,看着杨士举蹲在地上拧铜管接头。

“你为了骗一个温度传感器,搞这么大阵仗。”

“我不是为了骗温度传感器。”杨士举把铜管接好,用扳手拧紧最后一个螺母,“我是为了争取一个补给窗口。补给窗口晚来一次,我们就多六七天。六七天够我们把粮食问题解决,够老郑把信号表做完,够我们想下一步。”

老周沉默了一会儿。

“下一步是什么?”

“下一步是让补给线彻底停一次。”

老周没接话。他走到速冻间门口,往外看了看。穿堂尽头的卷帘门还开着半米,外面暮色正在暗下来。

“时间。”杨士举喊了一句。

“过了十二分钟。”

“够。把电焊机接上。”

老周把电焊机的电源线拖到速冻间外面,找到配电柜里一个还能用的断路器——断电以后断路器是断开的,但线还在。他把电焊机的输入线接在断路器的出线端上,然后走回速冻间,冲杨士举点了点头。

杨士举合上电焊机的开关。电焊机发出嗡嗡的声音,电流表指针跳到一百五十安培。压缩机启动的时候整个速冻间的地面都震了一下,铜管里传来液体流动的声音——液氮从罐子里被抽出来,经过压缩机加压,流进他自己弯管做的那个临时蒸发器里。蒸发器是铜管绕在配电间墙壁上的一圈一圈,冷量从铜管散出去,配电间的温度开始往下走。

温度计是老郑给的,一个从冷库温控器上拆下来的探头,表头是杨士举自己画的刻度。五分钟以后,指针从十五度掉到零下三度。十分钟以后,掉到零下十二度。

“够了。”杨士举把电焊机关掉。压缩机停了。配电间的温度开始缓慢回升,但铜管里还存着大量液氮,蒸发过程会持续吸热。按老郑的估算,铜管里的液氮全部蒸发大概需要四到六个小时。这四到六个小时里,配电间的温度会维持在零下十度到零下十五度之间。

正好是冻品市场停电前的正常温度。

老周把平板车推到速冻间门口。杨士举检查了一遍液氮罐的阀门,确认关紧了,然后帮着老周把罐子搬上平板车。罐子很沉,两个人抬得吃力,罐底磕在平板车边沿上,发出一声闷响。

杨士举的心脏停跳了半拍。

他掏出嗅探器,表头指针猛地偏到右侧,又慢慢回到左侧。巡逻单元的扫描波束正在从仓库东侧往西扫——他蹲在速冻间门口,盯着表头看了二十秒,指针没有再次偏转。

“它扫过了,”他喘了口气,“没停。”

“没停是什么意思?”

“意思是它没看到异常。”

两个人把液氮罐和冻肉箱在平板车上码好,用一块从货架上扯下来的编织布盖住。老周在前面拉车,杨士举在后面推,从西墙卷帘门底下钻出去,沿着挂车车斗的阴影往造纸厂方向走。天已经全黑了,物流园的方向传来柴油机的闷响和狗叫声——营地里养了两条狗,平时不叫,叫起来就是有情况。

杨士举一边推车一边回头看冻品市场。仓库的屋顶上,巡逻单元的轮廓在夜色里几乎看不见,只有一条缝隙似的暗红色指示灯在慢慢转——那是它的扫描指示灯,每四十分钟转一轮。下一轮扫描在两分钟后开始。到那时候,巡逻单元会记录下配电间的温度:零下十二度,正常。它不会知道,这个“正常”是有人用一台报废电焊机和半罐液氮伪造出来的。

但杨士举知道另一件事:巡逻单元的本地缓存里,会记下这次扫描的温度曲线——从零下十二度到零下十五度再回到零下十二度,一个平滑的、自然的波动。它会把这份数据存下来,等下一次跟节点通讯的时候上传。节点会存档,不会报警。

除非有人下次扫描的时候发现曲线跟这份对不上。

“老周,”杨士举在后面推着车,声音压得很低,“回去以后跟刘姐说,冻肉先紧着拉肚子的人吃。其他人还是稀饭。”

“你呢?”

“我不吃冻肉。”

“为什么?”

“因为我今晚要跟老郑把补给窗口的推算做完。吃冻肉犯困。”

老周在黑暗里笑了一声。

“你这个人,修东西的时候吃稀饭,搞破坏的时候也吃稀饭。你到底是省粮食还是真不饿?”

杨士举想了想。

“都有。”

平板车的轮子碾过路面上的碎石子,吱呀吱呀地响。远处物流园的围墙轮廓在夜色里渐渐清晰起来,柴油机的排气管冒着淡灰色的烟。狗不叫了。

杨士举回头看了一眼冻品市场方向。那条暗红色的指示灯还在转,一圈一圈,像一只不需要睡觉的眼睛。

它在看着冻库。冻库的温度正常。它很满意。

但杨士举知道,巡逻单元的本地缓存是有限的。老郑说过,任何机器的存储都会满,满了就要覆盖,覆盖的时候会丢掉一部分旧数据。他不知道巡逻单元什么时候满、什么时候覆盖、覆盖的时候会不会保留温度曲线的历史基线。

如果它保留了——下次扫描发现曲线跟前一次对不上,它会上报。

如果它没保留——下次扫描只跟当前温度比对,那他伪造的“正常”还能撑很久。

“老周,”他忽然开口,“你回去以后,让刘姐把冻肉箱子上印的日期都记下来。”

“记日期干什么?”

“因为下次我们可能没这么好运。巡逻单元会学习。它第一次被骗,第二次就会查得更细。我们要在它学会之前,把所有能用的窗口都用掉。”

老周没有回头,但拉车的脚步慢了一点。

“你到底是在修东西,还是在打仗?”

“在修东西。”杨士举把平板车往上一抬,越过一道减速带,“只不过这次修的是一个不该出现在这里的系统。修好之前,得先让它以为自己在正常工作。”

平板车碾过最后一段碎石路,物流园的围墙门在面前打开了。刘姐迎出来,看到车上的冻肉箱,眼睛亮了一下。老周开始跟她讲搬货的事,杨士举把液氮罐从车上卸下来,推到老郑的棚子后面,用一块防水布盖好。

老郑从棚子里探出头来。

“成了?”

“成了。”

“配电间的温度?”

“零下十二度。铜管里的液氮还能蒸发四到六个小时。巡逻单元下一轮扫描的时候,会看到正常值。”

老郑点了点头,又缩回棚子里去了。杨士举站在棚子门口,听着里面老郑翻纸的声音。

“郑工。”

“嗯。”

“巡逻单元的缓存有多久覆盖一次?”

棚子里安静了两秒。

“看它的存储介质。如果是闪存,写满才覆盖。如果是磁带,循环覆盖。但不管哪种,覆盖周期不会超过七天。”老郑的声音从里面传出来,“你担心它记住温度曲线?”

“我担心它下次扫描的时候发现配电间温度比上次低了。”

“那你就得在它下次扫描之前,让配电间的温度回到正常。液氮蒸发完以后温度会自己回升,大概四到六个小时。现在是七点二十分。巡逻单元下一轮扫描是七点四十六分,再下一轮是八点二十六分,再下一轮是九点零六分。你必须在九点之前让温度回到零度以上——或者让传感器以为温度回到零度以上。”

杨士举闭上眼睛想了想。

“传感器探头在配电柜里。探头是热敏电阻,引线接到模拟量模块上。如果我在探头引线上并联一个电阻,把总阻值拉下来,模块读到的温度就会偏高。”

“对。你手头有电阻吗?”

“有。老周修灶台那台鼓风机的调速电阻,拆下来调一调阻值就能用。”

老郑从棚子里递出一把尖嘴钳。

“去调吧。调完了把探头焊回去,别让人看出来。”

杨士举接过尖嘴钳,往食堂后厨走。经过营地门口的时候,他抬头看了一眼天。三架梭形飞行器还在高空,排成一个松散的三角形,机腹的暗红色指示灯有节奏地闪着。他不知道那是什么意思——也许什么都没意思。也许它们只是在巡逻,像巡逻单元一样,一圈一圈地转,等着某个地方的某个传感器报出一个不该出现的数字。

他在心里记了一笔:巡逻单元,冻品市场,下次扫描七点四十六分。温度伪造窗口,四到六小时。电阻并联方案,待验证。

然后他钻进后厨的棚子,开始调电阻。

4 液氮和电容

杨士举花了一个半小时调电阻。

鼓风机的调速电阻是一个绕在陶瓷管上的镍铬丝线圈,阻值大概二十欧姆。他用万用表量了热敏电阻在零度时的标称值——大概三十五千欧。要并联出一个能让模块读数偏高的阻值,他得并一个大概十千欧的电阻上去。没有现成的十千欧电阻,他就从报废的电动车充电器里拆了五个两瓦的金属膜电阻,两个两万两千欧的串联再跟一个四万七千欧的并联,算下来大概九千八百欧。焊在探头引线上,用热缩管裹好,塞回配电柜的线槽里。

老郑在棚子里等着他。桌上摊着过去六天的信号记录,每一行都是手写的,字小得像蚂蚁。

“巡逻单元下一轮扫描是七点四十六分,”老郑头也没抬,“你那个电阻焊上去以后,模块读数是多少?”

“零上六度。”

“冻品市场停电前的正常温度是零到零下五度。六度偏高,但在容差范围内。模块不会报警。”

杨士举在铁皮凳上坐下来。后厨那边传来老周跟刘姐分冻肉的声音,有人在笑,有人在说“这块肥的给我”。营地里难得有这种动静。

“郑工,液氮罐里的液位还有多少?”

“我量了。六十三升。按你那个临时蒸发器的铜管容积算,全部蒸发大概需要五个小时。现在是七点五十分,巡逻单元已经扫过一轮了,配电间温度读数正常。液氮罐那边我在铜管出口加了一个手动阀门,你随时可以开。”

“先不急。”杨士举把工具包搁在膝盖上,拉开最下面一层拉链,从里面掏出五个黑乎乎的东西,一字排开摆在老郑的铝板上。

老郑低头看了看。“电动车电容?”

“对。五个,都是电动自行车控制器里拆出来的。标称四百七十微法,四百伏。我量过了,容量没怎么掉,还能用。”

老郑拿起一个翻来覆去看了看。“你要做脉冲放电?”

“我要做一组脉冲放电。”杨士举把五个电容排成一排,“这五个并联起来是两千三百五十微法,四百伏。按能量公式算,充满电以后能存大概一百八十八焦耳。”

老郑把电容放下,从棚子角落翻出一个旧笔记本,翻到一页空白,开始写。

“一百八十八焦耳,”他一边写一边念,“在四百伏下放电,持续时间取决于回路电阻。如果你用粗铜线直接短接,放电时间大概在毫秒级,峰值电流能到几千安培。但你要打的是什么?”

“节点散热回路的维护接口。”

老郑的笔停了。

“你要把一百八十八焦耳的脉冲打进外星人的维护接口?”

“我要把冷却泵的驱动电路烧掉。”杨士举从兜里掏出那张画着外星接口序列的纸,“第一章里我描下来的那个序列,就是维护接口的物理位置。散热回路从地下管廊走,在市政泵站里有一个接入点。泵站里那根主管道的法兰上,外挂着一个银色的盒子——我上次去侦察的时候看到了,上面有跟这块板子一样的针脚接口。”

“那个盒子是干什么的?”

“我判断是冷却回路的本地控制器。它接收节点的指令,控制冷却液的流量和压力。如果我把脉冲打进它的接口,驱动电路会过载。过载以后它会自我保护——切断输出,进入故障状态。”

“然后节点会知道。”

“节点会知道冷却泵停了。但它不会立刻知道是人为的。驱动电路过载有太多种可能:电容老化、浪涌、接触不良。外星人的自动化诊断系统会先尝试重启,重启失败以后会生成一条故障记录,等下一次跟主站通讯的时候上报。从故障到上报,中间有至少一个轮询周期的延迟——十七分钟。”

老郑把笔搁下,看着他。

“你用一百八十八焦耳,换十七分钟。”

“我用一百八十八焦耳,换冷却泵停转。泵停了以后,节点的散热回路温度会在四到六分钟里升到保护阈值。节点会进入热保护降频——就是第七章里我们要做的事。降频以后它的对外通讯会中断,直到冷却恢复。”

“冷却怎么恢复?你把人家泵烧了,人家不得换一个?”

“换泵需要补给。补给走的是那条六到七天来一次的线。我们把它推迟一个周期,它就得多等六到七天。这六到七天里,节点一直处于降频状态——对外通讯间歇性中断,巡逻单元的回传数据积压,整个区域的外星基础设施效率下降百分之三十到四十。”

老郑沉默了一会儿。他拿起一个电容,对着灯泡看了看上面的印字。

“一百八十八焦耳太少了,”他说,“烧不穿驱动电路。你最多打出一个浪涌,让泵抖一下,然后它的保护电路就动作了。保护电路动作以后,你得等它复位——自动复位的话,泵会重新转起来。”

“所以我需要更大的能量。”

“对。你需要至少两千焦耳,才能把驱动电路的功率管烧掉。两千焦耳,四百伏,你需要两万五千微法的电容组。”

杨士举把五个电容收起来。“物流园里有多少辆电动车?”

老郑想了想。“修车铺后面停着一排,大概二十多辆。大部分电池被拆走了,但控制器还在。每个控制器里至少有两个电容。”

“二十辆,四十个电容。并联起来是一万八千八百微法。还差一点。”

“再加上冷库压缩机上的启动电容。那玩意儿大,一个顶你三个。”

杨士举站起来。“我明天去拆。”

老郑伸手按住他的胳膊。

“你先坐下。”

杨士举坐下了。

“你把电容组做出来,”老郑说得很慢,“充满电,接上脉冲放电装置。放电的那一下,能量从哪来?你需要一个充电电源,把两万五千微法充到四百伏。充电功率按一百瓦算,需要……我算一下……”

他拿起笔在本子上画了个公式。

“电容储能公式是二分之一CU平方。两万五千微法,四百伏,能量是两千焦耳。充电功率一百瓦,需要二十秒充满。但你的充电电源是一百瓦吗?”

“我可以从柴油机拉一路出来,接一个升压变压器,再整流。功率能到三百瓦。”

“三百瓦充二十秒,耗电一点七瓦时。不多。但问题是——”老郑把本子转过来,指着上面一行数字,“你的电容组在放电之前必须一直保持充电状态。电容会漏电,两万五千微法的电容组,漏电流大概在毫安级。要保持四百伏,你的充电电源得一直开着。”

杨士举明白了。

“柴油机不能停。”

“柴油机不能停。而且柴油机在给电容组供电的同时,还得给营地泵水、照明、给老郑的PLC供电。柴油机的输出功率是固定的,你多拉一路三百瓦出来,别的地方就少三百瓦。”

“营地的电力储备有多少?”

“柴油存量按现在的消耗速度,还能跑四天。如果你每天多耗一点七瓦时给电容组充电,四天变三天半。”

杨士举闭上眼睛。

“放电一次,全营的电力储备从四天变三天半。”

“对。而且放电以后电容组需要重新充电,又得二十秒。如果你要连续打两次脉冲,间隔不能短于三十秒。三十秒里,节点的保护电路可能已经复位了。”

杨士举把电容收进工具包,拉上拉链。

“所以我只有一次机会。一次放电,两万五千微法,两千焦耳。打进去,泵的驱动电路烧掉。如果烧不掉,节点会记录一次异常浪涌,以后维护接口的防护等级会提高,我们再也打不进去。”

老郑把笔记本合上。

“你赌不赌?”

杨士举没有立刻回答。他站起来,走到棚子门口。营地里有人在生火,火光从食堂后厨的窗户里透出来,照在对面仓库的铁皮墙上。刘姐在喊“排队排队,一人一勺”,老周的声音混在里面,说“先给拉肚子的”。

一百三十七个人。四天柴油。一次脉冲放电的机会。

“郑工,”他背对着老郑说,“你那个PLC,能不能记录放电时刻的节点信号?”

“能。放电的时候我让PLC进入高速采样模式,记录维护接口在放电前后的信号变化。如果泵真的停了,维护接口会发出一条故障帧——脉冲宽度和间隔都跟正常心跳不一样。”

“那就赌。”杨士举转过身,“但我得先解决一个问题。”

“什么问题?”

“我怎么把两万五千微法的电容组运到泵站里去。电容组充满电以后不能颠,不能碰,不能短路。我得做一个箱子,把电容固定住,电极用绝缘板隔开,引线用粗铜缆接到放电端子上。箱子要能一个人扛着走三公里。”

老郑从工具柜里翻出一块厚木板和几根角铁。

“物流园修车铺里有的是木板。你去做箱子,我去拆电容。”

“你拆?”

“我拆。你拆电容的时候毛手毛脚,上次拆充电器把正负极短接了,炸了一个电容,还记得吗?”

杨士举没说话。他确实记得。那次他手背上留了一个疤,到现在还没消。

“行。你拆电容,我做箱子。”

接下来两天,杨士举白天做箱子,晚上跟老郑一起测电容、配阻值、算放电参数。老周负责从修车铺后头把电动车控制器一个个拆下来搬到老郑的棚子里,刘姐负责给加班的人多分一勺冻肉。

第三天下午,电容组装箱完毕。四十三个电容并联成三排,固定在一块钻孔的木板上,电极之间用环氧树脂板隔开。引线是两根拇指粗的铜缆,从箱子里伸出来,末端焊了两个铜鼻子——正好能卡进外星维护接口的针脚间距。箱子外面裹了一层旧棉被,用绳子捆紧,既能防震又能保温。

老郑把充电电路接好,从柴油机拉了一路电出来,经过升压变压器和桥式整流,输出四百伏直流。电容组第一次充电的时候,杨士举站在三米外,手里攥着一根长木棍,准备随时把断路器打下来。

充了二十五秒,电压表指针停在四百一十伏。老郑把断路器断开,用万用表量了量电容组两端的电压,四百零五伏。漏电率不到百分之二。

“能撑四十分钟,”老郑说,“四十分钟内必须放掉,不然电压会掉到三百五十伏以下,能量不够。”

杨士举把箱子扛上肩。四十三个电容加上木板和角铁,总共大概十八公斤,比液氮罐轻多了,但扛着走三公里也不轻松。

“我跟你一起去。”老周从棚子后面走出来,手里拎着一把管钳。

“你不用去。”

“泵站的井盖我一个人掀不开。”

杨士举想了想。泵站的井盖是铸铁的,直径八十厘米,至少一百二十公斤。他一个人确实掀不动。

“行。你掀井盖,我下去接脉冲。你在上面看着信号。”

“看什么信号?”

杨士举把嗅探器递给他。“表头指针偏到右边就是有信号。偏得越狠信号越强。如果指针突然偏到最右边不动了,你就往下扔石头,我立刻撤。”

“为什么?”

“因为那说明巡逻单元改变了扫描频率,正在盯着泵站。那种情况下,脉冲不能打,打了也白打。”

老周把嗅探器揣进兜里,又拎起管钳。

“走。”

泵站在物流园北边两公里,一座半地下的砖混小房子,屋顶上长满了草。井盖在房子后面的水泥地上,周围堆着废弃的编织袋和碎砖头。老周把编织袋扒开,用管钳撬住井盖边缘,腰一挺,井盖挪开了一条缝。杨士举把撬棍塞进去,两个人合力把井盖掀到一边。

井下是铸铁爬梯,锈得厉害,但还能踩。杨士举把电容箱用绳子吊下去,自己跟着爬下去。泵站内部是一个圆形的混凝土井室,直径大概三米,中间一根主管道横穿而过,管径六十厘米,表面包着发黑的保温层。管道法兰上果然挂着那个银色的盒子,巴掌大小,正面是接口阵列,跟第一章描下来的序列一模一样。

杨士举把电容箱搁在管道支架上,解开棉被,露出铜缆末端的两个铜鼻子。他把铜鼻子对准接口阵列的对应针脚——序列是短长短短长,第三排第二和第四根针。对准了,但没有插进去。先量电压。

“老郑,电压多少?”

对讲机里传来老郑的声音:“三百九十八伏。稳的。”

“收到。我插了。”

他把两个铜鼻子推进针脚接口。接触的瞬间,银色盒子上的暗红色指示灯闪了一下,从常亮变成急促闪烁。杨士举数了五秒,确认接触良好,然后从工具包里掏出放电开关——一个从电焊机上拆下来的闸刀,用绝缘胶带缠在木柄上。

“老周,上面怎么样?”

井口传来老周的声音:“表头没动。指针在左边。”

“收到。放电。”

他把闸刀合上。

没有声音。没有火花。电容组通过铜缆向银色盒子的接口注入了一股两千焦耳的脉冲电流。持续时间不到三毫秒。银色盒子上的指示灯从急促闪烁变成了彻底熄灭。然后过了大概两秒,重新亮起来,但颜色从暗红变成了暗黄。

杨士举盯着那个暗黄色的灯看了十秒。它没有变回红色。

“郑工,灯变黄了。”

“黄灯是故障状态。”老郑的声音从对讲机里传出来,带着一种被压住的兴奋,“PLC记录到一条故障帧——脉冲宽度是正常心跳的六倍,间隔乱七八糟。泵停了。”

“能停多久?”

“按我的估算,自动重启最多尝试三次,每次间隔五分钟。三次都失败以后,它会锁死在故障状态,等人工复位。人工复位走补给线,六到七天以后。”

杨士举把铜鼻子从接口上拔下来。电容组的电压掉到了十二伏,能量放光了。他把闸刀断开,用万用表确认没有残余电压,然后把电容箱重新裹好,用绳子吊上井口。

爬上去的时候,老周正蹲在井盖旁边,嗅探器的表头指针在左边微微抖动。

“巡逻单元没来?”

“没来。但刚才指针偏了一下,又回来了。可能是泵站附近有个节点在自检。”

杨士举把井盖合上,用脚踩实。

“走。回去的路上别跑,正常走。”

两个人沿着原路往回走。天快黑了,物流园的柴油机声远远传来,比平时响了一点——可能是老郑在给电容组重新充电。杨士举算了一笔账:充电用了二十五秒,耗电不到两瓦时。两瓦时换一个冷却泵停转六到七天。

这笔账划得来。

但他知道另一笔账正在累积:巡逻单元的本地缓存里,泵站配电间的温度曲线已经存档了。下次扫描如果发现温度跟存档对不上,它会报警。他们伪造的“正常”只能撑到巡逻单元的存储覆盖周期结束——最多七天。

七天之内,他必须让泵站配电间的温度真的回到正常。或者,让巡逻单元的存储提前覆盖。

“老周。”

“嗯。”

“你回去跟刘姐说,明天开始把冻肉全部吃完。”

“全部吃完?一百三十七个人一天吃不完。”

“那就吃两顿。把能吃的都吃掉。吃不完的分给隔壁造纸厂那帮人。”

老周停下脚步看他。

“为什么?”

“因为冻品市场那个冷库的保温层撑不了多久了。一旦温度回升到零度以上,冻肉全部变质,巡逻单元的红外扫描会发现库温异常。到时候它会重新标记那个区域,我们再也进不去。”

老周看了他两秒,然后继续往前走。

“你这个人,”老周说,“搞破坏的时候比修东西的时候大方。”

杨士举扛着电容箱走在后面,没有接话。他在心里记了一笔:冻品市场冷库,库温回升临界点,待估算。巡逻单元存储覆盖周期,最多七天。电容组充电功率,三百瓦。柴油余量,三天半。

三天半。七天。两个数字在脑子里转。

他得在柴油烧完之前,找到下一个柴油来源。或者在七天之内,让巡逻单元的存储覆盖掉泵站的温度基线。

前者靠腿,后者靠脑子。

他两样都有。

5 维修工的直觉

放电后的第二天早上,杨士举蹲在物流园修车铺后面的废车堆里翻柴油。

修车铺后面停着十一辆报废货车和七辆面包车,油箱早就被人抽过了,他用一根软管和一只塑料桶挨个探底,探到第三辆货车的时候,软管吸上来一股混着铁锈的浑浊液体,闻着有柴油味,但掺了水。他把这桶倒进沉淀桶里,搁在太阳底下晒,指望水和油分层。到中午分出来大概三升多柴油,勉强够柴油机多跑半天。

三天半的柴油余量,现在变成了四天。他多找了半天,多挖出半天。

但这不够。远远不够。

老郑在棚子里把PLC的记录导出来,按时间排好,画了一张补给窗口预测表。泵站的故障帧已经发出去了,节点的回复是“收到故障,等待人工复位”。老郑把这条回复的帧结构跟正常心跳对比了一下,发现回复帧里多了一组地址码——指向的不是泵站,而是另一个方向。

“你看这里,”老郑用铅笔尖点着纸上一行数字,“节点回复故障帧的时候,附带了一个转发地址。这个地址的帧结构跟五个节点都不一样,是一个更高层级的设备。我怀疑这是补给调度系统的入口——节点把故障上报给调度系统,调度系统安排补给,补给走那条六到七天一次的线。”

“能定位这个地址的位置吗?”

“能。我用PLC测了信号的到达时间差。这个地址的信号源不在城市管网里,它在天上——低轨道。大概是三百到五百公里高度。外星人的调度系统在卫星上。”

杨士举把铅笔拿过来,在纸上画了个图:地面节点,向上箭头指向卫星,卫星旁边标了个“补给调度”,向下箭头指向地面,末端打了个问号。

“补给从哪来?”

“不知道。可能从卫星上扔下来,可能从地面某个集散点发过来。但不管哪种,补给到达之前,调度系统会先发一条预告帧。预告帧里包含补给类型、到达时间、对接节点地址。如果我们能抓到预告帧,就知道补给什么时候来、走哪条路。”

“预告帧什么时候发?”

“按我的推算,故障上报后四到六小时。泵站的故障帧是昨晚七点二十分发的,现在——”老郑看了一眼石英钟,“上午十点四十分。再过一到三个小时,预告帧就该来了。我把PLC调到高速采样模式,专门盯调度系统的下行频率。”

杨士举站起来。

“抓到预告帧之前,我得先去办一件事。”

“什么事?”

“柴油。四天不够,我要找到至少十天的柴油。”

老郑抬起头看他。“你去哪找?”

“城市管网。”杨士举把工具包甩到肩上,“你昨天说巡逻单元的存储覆盖周期最多七天。七天之内,泵站配电间的温度基线会被覆盖掉。但如果我在第七天之前再打一次脉冲,让节点再报一次故障,巡逻单元就会收到两条故障记录,它的自动诊断系统会把这两条记录合并成一条‘持续性故障’,然后把整个泵站区域从例行扫描列表里移除——因为一个已经确认故障的设施不需要再扫描。”

老郑把铅笔搁下。“你说的是真的?”

“我修了十几年设备,设备的逻辑就是人的逻辑。一台泵坏了,你报修一次,维修工来看;你报修两次,维修工就会把整台泵拆走换新的——在那之前,他不会再来检查这台泵的其他部分,因为他知道这台泵已经坏了,别的地方再坏也无所谓。外星人的自动化诊断系统也一样:一个已经确认故障的节点,会被从例行扫描里摘出去,直到人工复位。”

老郑想了很久。

“所以你打算在七天内再打一次脉冲,让节点报第二次故障,把整个泵站区域从巡逻单元的扫描列表里摘出去。摘出去以后,泵站周围就变成了一个盲区——我们可以从那里进出管廊,不用担心被巡逻单元发现。”

“对。但第二次脉冲需要电容组重新充电,柴油消耗再增加。所以我需要更多的柴油。”

“你去哪找?”

“城市管网的柴油发电机房。”杨士举从兜里掏出一张皱巴巴的城市地图,在铝板上摊开。他用铅笔在地图上画了几个圈,“市政泵站、污水处理厂、地下管廊的通风机房——这些地方都有备用柴油发电机。停电以后,如果没人动过,油箱里的柴油还在。我知道这些机房的位置,因为我修过其中三个。”

老郑凑过来看地图。

“你要去污水处理厂?”

“污水处理厂在城南,离这里大概六公里。它的备用发电机房在地下,油箱容量是两千升。停电以后如果没人动过,里面至少还剩一半。”

“你怎么知道没人动过?”

“因为污水处理厂的外围有两台巡逻单元。”杨士举用铅笔在城南的位置画了个叉,“我前天用嗅探器测过,那个方向的信号强度是营地方向的三倍。两台巡逻单元,交叉扫描,覆盖整个厂区。没人敢去那里偷柴油。”

“那你敢?”

“我不敢从正面进去。”杨士举的铅笔从污水处理厂的位置往西画了一条弯弯曲曲的线,“但我知道一条路。污水处理厂的进水管从城西的旧工业区过来,管径一米二,混凝土管,埋深四米。旧工业区在九十年代就废弃了,地面上的建筑全塌了,但地下管网还在。我从旧工业区的检修井下去,沿着进水管走到污水处理厂的进水格栅间。格栅间跟发电机房在同一栋楼里,中间隔着一道防火门。”

老郑盯着那条弯弯曲曲的线看了好一会儿。

“你走过那条管?”

“没走过。但我修过那段管网的流量计。我知道管径、坡度、检修井的位置、格栅间的布局。管子里没水——停电以后泵停了,进水管是空的。人能走。”

“里面有什么?”

“有梯子、有检修平台、有阀门。可能还有老鼠和积水。但不会有巡逻单元——外星人的扫描波束打不透一米二的混凝土管壁。”

老郑把地图往自己这边拽了拽,仔细看那条线。

“你一个人去?”

“我带老周。他扛柴油桶。”

“你上次带老周去冻品市场,说搬冻肉,结果搬了个液氮罐回来。这次你跟他说搬什么?”

“搬柴油。这次是真的搬柴油。”

老郑哼了一声。

“你打算什么时候去?”

“现在。预告帧来之前我得回来。如果预告帧里说补给明天到,那我们今天就得到污水处理厂把柴油搞到手,明天才有电给电容组充电,后天才能打第二次脉冲。”

老郑把地图折起来递给他。

“你这个人,时间算得比我还紧。”

“时间不算紧一点,命就松了。”

上午十一点,杨士举带着老周从物流园西门出去,沿着旧工业区的边缘往南走。老周推着平板车,车上搁着六个二十五升的塑料桶和一根手动抽油泵。杨士举背着工具包,手里攥着嗅探器。

旧工业区在城西,九十年代倒闭的纺织厂和机械厂连成一片,厂房塌了大半,野草从水泥裂缝里长出来,有一人多高。两个人沿着围墙根走,尽量不踩到碎玻璃。嗅探器的表头指针在左边微微抖动,信号很弱。

“巡逻单元离这里远,”杨士举低声说,“但别大声说话。声音在废墟里传得远。”

老周点了点头,把平板车的轮子抬起来,避免碾到碎砖。

检修井在纺织厂北墙外面,一个铸铁圆盖,上面铸着“市政排水”四个字。杨士举用撬棍把井盖撬开,一股潮湿的霉味从下面涌上来。他蹲在井口往下看,铸铁爬梯锈得只剩半边,但还能踩。井底大概四米深,底下是一条混凝土管,管径一米二,管底有一层浅浅的积水,刚没过鞋底。

“我先下去。你等我说行再下来。”

杨士举踩着爬梯下到井底,打开手电筒往管子里照。管子内壁是水泥抹面,光滑,没有裂缝。积水很浅,流速几乎为零——泵停了以后管网里的水是死水。他往前走了大概十米,回头冲井口喊了一声“行”。

老周把塑料桶和抽油泵用绳子吊下来,然后自己爬下来。两个人弯着腰在管子里走,手电筒的光在混凝土壁上投下晃动的影子。管子里很安静,只有鞋底踩水的啪嗒声。

走了大概二十分钟,管径从一米二缩到八十厘米,杨士举停下来。

“前面是格栅间。管子接到格栅间的进水口,从进水口爬上去就是格栅平台。平台上有一道铁门,铁门后面是走廊,走廊尽头是发电机房。”

“你怎么记得这么清楚?”

“三年前我修过这里的流量计。超声波流量计的探头装在管子外壁上,我在这段管子里爬了四趟。”

格栅间的进水口是一个方形的混凝土开口,从管底往上大概一米五高。杨士举踩着管壁上的凸起爬上去,手电筒往里面照——格栅平台大概三米见方,地上散落着从格栅上掉下来的垃圾,有塑料袋、树枝、一只烂鞋。平台靠墙的位置有一道铁门,门把手锈了,但没锁。

他推开门。走廊里一片漆黑,手电筒的光柱扫过去,照出两侧的水泥墙面和顶上的管道。走廊尽头是一扇防火门,门上的闭门器锈死了,门虚掩着。

杨士举推门进去。发电机房大概四十平方米,中间一台柴油发电机组,机身蒙着一层灰。靠墙一排三个铁皮油箱,每个油箱正面有一个液位计。他走过去用手电筒照了照——第一个油箱液位计指针在四分之一的位置,第二个在三分之一,第三个空了。

“加起来大概八百升。”他小声说。

老周站在门口,看着那三个油箱。

“抽哪个?”

“都抽。先抽第二个,液位高的。抽完了再抽第一个。第三个空的不用管。”

老周把抽油泵的管子插进第二个油箱,开始压手柄。柴油从泵口流出来,灌进塑料桶里。杨士举在旁边数桶数,同时竖着耳朵听外面的动静。

抽到第四桶的时候,他听到了声音。

不是巡逻单元的嗡鸣,也不是节点的低频震动。是脚步声。从走廊的另一头传来,很轻,很慢,走走停停,像有人在摸黑找路。

杨士举一把按住老周的手,压低声音:“别动。”

老周停了手,两个人蹲在油箱后面。杨士举把嗅探器掏出来——表头指针在左边,纹丝不动。不是外星设备。是人。

脚步声越来越近。然后停了。一个男人的声音从走廊里传过来,带着试探的语气:

“谁在里面?”

杨士举没有回答。

“我闻到柴油味了,”那个声音继续说,“你们是物流园那边的人?”

杨士举跟老周对视了一眼。老周用口型说了两个字:“怎么办?”

杨士举站起来,把手电筒往走廊方向照过去。光柱里站着一个瘦高的男人,穿一件沾满油污的蓝色工装,胸口印着“市政排水”四个字,手里拎着一把管钳。

“你是排水公司的?”杨士举问。

“抢修队的。”男人把管钳放低了一点,“你是修柴油机的?”

“修电气的。”

男人沉默了两秒。

“你们在抽三号油箱的油?”

“二号。”

“二号上面有个洞,漏油。你不知道?”

杨士举愣了一下。他确实不知道——他修流量计是三年前的事,那时候二号油箱还没漏。

“漏了多少?”

“停电以后我来看过三次,每次漏大概五升。现在里面应该还有两百升左右。但漏出来的油渗到地面下面了,你抽的时候小心点,别把吸管插到底,下面的油混了泥水。”

杨士举把抽油泵的管子往上提了提。

“你为什么帮我们?”

男人靠在门框上,管钳在手里转了转。

“因为你们是第一个从管子里爬过来的人。”他指了指走廊深处,“我从城北的抢修队过来,带了七个人,本来想从格栅间进发电机房抽油。但格栅间的进水口太窄了,我们有个胖子卡住了,折腾了半天才拽出来。后来我们试了走通风井,也不行。最后只从发电机房里搬了两桶走。”

“两桶也是油。”

“两桶不够七个人用。我们有一台工程皮卡,柴油机,百公里十五升。两桶油够跑一百多公里,出不了城。”

杨士举把抽油泵重新插好,继续压手柄。柴油流进塑料桶的声音在安静的机房里格外清晰。

“你们七个人在哪?”他问。

“旧工业区东边的锅炉房。离这里大概两公里。”

“有武器吗?”

“没有枪。有管钳、撬棍、一把液压剪。还有那台皮卡。”

杨士举把第五桶灌满,停下来擦了把汗。

“我们营地有一百三十七个人。柴油够跑四天。冻肉吃完了,大米还能撑十天。没有抗生素,三个拉肚子的,一个发烧的。”

男人看着他。

“你跟我说这些干什么?”

“因为你们有皮卡,我们有电。皮卡能拉货,电能修泵。我们合起来,能做的事情比分开多。”

男人沉默了一会儿。

“你叫什么?”

“杨士举。物流园维修工。”

“周振国。”男人把管钳换到左手,伸出右手,“抢修队队长。不过我队里的人叫我老周。”

杨士举跟他握了握手。

“我们营地已经有一个老周了。”

“那就叫我周队长。”

老周在后面咳嗽了一声。

“杨士举,”老周说,“你把人家队长拉过来,刘姐那边怎么交代?一百三十七个人,再加七个,粮食更不够了。”

“他们自己有油,能跑运输。我们帮他们修设备,他们帮我们拉物资。粮食的事,人多了才好解决——七个人的皮卡能去更远的地方,去我们走路去不了的地方。”

周队长点了点头。

“你要我们干什么?”

“今天先帮我搬柴油。明天来物流园,我给你们看一样东西。”

“什么东西?”

杨士举把最后一桶柴油灌满,拧上盖子。

“一个能让外星人看不见这片区域的方案。”

两个人从原路返回,周队长从格栅间走通风井上去,回锅炉房叫人。杨士举和老周扛着六桶柴油爬回检修井,推着平板车回到物流园的时候已经是下午三点了。

老郑在棚子门口等着他,手里攥着一张纸。

“预告帧来了,”老郑把纸递给他,“下午一点四十七分收到的。补给类型:冷却剂罐。到达时间:明天下午四点。对接节点:泵站。运输方式:地面车辆,走城东物流大道。”

杨士举把纸看了两遍。

“城东物流大道。”

“对。从城东的集散点出发,走物流大道,到泵站大概四十分钟车程。补给车辆会经过物流园北边的交叉路口。”

杨士举把纸折好,塞进工具包。

“明天下午四点,补给车走物流大道。我们上午给电容组充电,中午出发去泵站,在补给车到达之前打第二次脉冲,把泵站节点打成持续性故障,让巡逻单元把整个泵站区域从扫描列表里摘出去。等补给车到了,发现节点已经故障锁死,它会把冷却剂罐拉回去——或者扔在原地。”

“如果它扔在原地,我们可以去捡。”

“对。但前提是巡逻单元不盯着那个罐子。所以第二次脉冲必须在补给车到达之前打,让节点先锁死,补给车到了以后发现没人接货,掉头就走,巡逻单元也会因为节点故障而降低对泵站区域的关注。”

老郑把地图摊开,在物流大道和泵站之间画了一条线。

“补给车经过物流园北边交叉路口的时间大概是下午四点二十。你们打脉冲的时间不能晚于四点。”

“够。”

杨士举把柴油桶搬到柴油机旁边,拧开油箱盖开始灌油。柴油机的油箱容量是八十升,六桶一百五十升,灌满油箱还剩七十升,够跑五天半。

他把空桶摞好,走到老郑的棚子里,拿起那张补给窗口预测表看了一遍。

补给车,城东物流大道,明天下午四点。冷却剂罐,地面运输。泵站节点故障,巡逻单元降级关注。

他拿起铅笔,在表的最下面写了一行字:

明天下午三点,泵站,第二次脉冲。目标:持续故障。

然后他放下铅笔,靠在铁皮墙上,闭上了眼睛。

脑子里在算另一笔账:周队长的皮卡能拉多少东西,七个人能吃多少饭,物流园里还有多少柴油桶没翻过,城东集散点的巡逻单元密度是多少。

这些账不算清楚,明天打完了脉冲也是白打。

6 另一群蝼蚁

周振国第二天早上七点就到了,比约定时间早了一个小时。

他开的那辆工程皮卡是从城北一家汽修厂里翻出来的,长城风骏,柴油四驱,后斗焊了个铁架子,上面绑着液压剪、千斤顶、两捆钢丝绳和一只塑料工具箱。车斗里还坐着三个人,一个络腮胡的胖子,一个戴眼镜的瘦子,一个剃平头的女人。周振国跳下车,冲杨士举点了点头。

“锅炉房那边留了三个人看家。带了四个过来,够不够?”

“够了。”杨士举把营地的铁皮门拉开,“车停后面仓库里,别停外面。巡逻单元不扫描车辆,但补给车今天下午走物流大道,万一有随车的侦察设备,地面上多一辆车就多一个变量。”

周振国把皮卡倒进仓库,熄了火。胖子跳下车,拍了拍车斗里的液压剪:“这玩意儿剪外星人的管子够不够硬?”

“今天不剪管子。”杨士举带着四个人往老郑的棚子走,“今天做两件事:充电,和商量怎么分油。”

老郑已经把充电电路架好了。柴油机拉出来的那一路电接上升压变压器,再整流成四百伏直流,电容组搁在木箱子里,铜缆末端用绝缘胶带裹着,等着充电。周振国蹲下来看了看那排电容,又看了看老郑画的电路图,吹了声口哨。

“你们拿电动车电容拼了个炮仗?”

“拼了个脉冲放电装置。”杨士举把电压表接上,“两百五十焦耳打进去,能让外星人的冷却泵停转六到七天。今天下午要打第二次,把节点打成持续性故障,让巡逻单元把整个泵站区域从扫描列表里摘出去。”

周振国站起来,看了看棚子里的设备:PLC、示波器探头、嗅探器、写着帧结构的纸。他的表情从好奇变成了认真。

“你们真在跟外星人的机器打信息战。”

“我们在修东西。只不过修的是他们的东西,让它们坏得有规律。”

周振国回头看了他队里的人一眼。胖子在棚子外面转悠,正在看营地里的柴油机。戴眼镜的瘦子蹲在PLC旁边,盯着梯形图界面看了半天。平头女人靠在棚子门框上,手里攥着一把管钳,一直在打量营地里的动静。

“粮食的事,”周振国把声音压低了一点,“你们一百三十七个人,我们七个人,加起来一百四十四。皮卡能跑,能去更远的地方拉物资,但油是你们出的,车是我们的。怎么分?”

“冻肉昨天吃完了,剩下的全分给了隔壁造纸厂。现在营地就剩大米,四袋,每袋二十五公斤。一百四十四个人,按每天两顿稀饭算,能撑九天。”杨士举把数字摆出来,“九天之内,我们必须找到新的粮食来源。皮卡能帮我们做到这个。”

“城东有一个粮油批发市场,”周振国说,“在物流大道北边大概三公里。我上次路过的时候看到仓库外墙塌了一角,里面堆着米面。但那个市场里有一台巡逻单元,蹲在正门,不走。”

“正门不走,说明它的扫描范围覆盖的是正门和主通道。仓库外墙塌的那一角,在哪个方向?”

“东北角。”

“东北角离正门多远?”

“大概一百五十米。”

杨士举蹲下来,用铅笔在水泥地上画了个简图。一个长方形代表粮油市场,正门在南边,东北角画了个叉。

“巡逻单元的扫描波束是锥形的,覆盖角度一百二十度,从正门往北扫。一百五十米距离上,波束宽度大概是一百七十米。如果它扫的是正门方向,东北角刚好在波束边缘外面。仓库外墙塌的那一角,理论上不在它的扫描范围里。”

“理论上。”周振国蹲下来看他画的图,“实际上呢?”

“实际上取决于巡逻单元的安装高度和扫描角度。老郑,你上次测的巡逻单元扫描参数还在吗?”

老郑从棚子里探出头来。“在。冻品市场那台的扫描角度我测过,俯角十五度,水平偏转正负六十度。粮油市场那台如果同型号,参数应该一样。”

杨士举在地图上算了算。“东北角在扫描范围外。但巡逻单元会移动——它不是固定不动的,它会在市场周围巡逻。如果它巡逻到东北角,那就全完了。”

周振国想了一会儿。

“我的人可以引开它。”

“怎么引?”

“皮卡上有一台车载逆变器。逆变器能输出两百二十伏交流电,接一个大功率负载,比如电焊机,能在五十米外产生强烈的电磁干扰。巡逻单元的红外和电磁传感器会被干扰源吸引,往干扰源方向移动。我的人开着车在正门附近转一圈,把巡逻单元引到市场西边,你们从东北角进去搬粮食。”

“你的车会暴露。”

“车是铁的,热源不大。巡逻单元对车辆的识别优先级低于对电源的识别。它看到一台逆变器在输出大功率,会优先标记那个区域。车在移动,标记器需要时间锁定,锁不住。我们试过一次——在城北引过一台巡逻单元,开了四公里甩掉了。”

杨士举看了他两秒。

“你们试过一次。”

“我们只有一次机会。没甩掉的话,车就没了。但那次甩掉了。”

“这次也是只有一次机会。如果甩不掉,车没了,粮食也没了。”

周振国站起来,拍了拍手上的灰。

“所以你先把外星人的泵打坏,让巡逻单元降级对泵站区域的关注。等泵站那边出了故障,周边的巡逻单元会被调过去支援——市场那台可能会被调走,或者至少频率降低。你打脉冲的时间是下午三点,市场那边什么时候动手?”

杨士举算了算时间。

“脉冲打完之后,节点进入故障状态。巡逻单元会在十七分钟内收到节点的故障信号,然后调整巡逻路线。所以市场那边的行动应该在脉冲打完后三十分钟开始——下午三点半左右。等巡逻单元被泵站的故障吸引过去,你们的皮卡再从正门引它一下,东北角就空了。”

周振国回头冲他队里的人喊了一声:“眼镜,把地图拿过来。”

戴眼镜的瘦子从皮卡里拽出一张防水地图,摊在水泥地上。地图上画了三个红圈:物流园、粮油市场、泵站。还有一条蓝线连着物流园和泵站,标注着“地下管廊”。

“你们从管廊去泵站打脉冲,”周振国用铅笔指着地图,“我们从地面去粮油市场。三点脉冲,三点半我们动手。搬完粮食在物流园汇合。”

“搬多少?”

“皮卡后斗装满了大概能拉一吨。米面各一半。”

“一吨够一百四十四个人吃五天。”

“五天之后呢?”

杨士举把铅笔搁下。

“五天之后,补给线被推迟了一个周期,我们可以从补给车扔下的冷却剂罐旁边看看有没有别的物资。如果补给车上有粮食,我们抢。”

周振国盯着地图看了半天。

“你是说抢外星人的补给车?”

“我说的是捡。补给车到了泵站,发现节点已经锁死,没人接货。它会按流程把冷却剂罐卸在原地,然后掉头回去。罐子旁边如果有别的物资——比如给操作人员吃的口粮——我们就把它们捡走。”

“你怎么知道补给车上会带口粮?”

“因为补给车是来维修的,维修需要人。人有吃饭的需求。外星人的自动化系统不会带口粮给人类吃,但如果车上有一个维持维修单元运转的物资包,里面可能有高能量食品——葡萄糖、压缩饼干之类。不一定合人类口味,但热量密度够高。”

周振国看了他很久。

“你连人家维修单元的口粮都算计进去了。”

“维修工的脑子里全是零件和耗材。口粮也是耗材。”

周振国站起来,把手伸过来。

“成交。今天下午三点,你们打脉冲。三点半,我们搬粮食。”

杨士举跟他握了手。

周振国又补了一句:“但有一件事先说清楚——粮食搬回来以后,按人头分。你们一百三十七,我们七。但车是我们出的,引巡逻单元是我们干的。分粮食的时候,我们七个人拿百分之十五。”

杨士举想了想。一百四十四个人,百分之十五是二十一点六个份额,七个人拿二十一点六份,每人大概三份。比按人头分多了一倍。

“百分之十二。”杨士举说。

“百分之十四。”

“百分之十三。多出来的一个点算你们修车的折旧。”

周振国笑了。

“你这个人,修东西的时候老实,分粮食的时候不老实。”

“我说过,分工不同。”

接下来几个小时,营地里所有人都在动。

老郑把PLC调到高速采样模式,专门盯泵站节点的信号变化。杨士举把电容组搬上平板车,用棉被裹好,绳子捆紧。老周从食堂后面把最后一袋大米扛到仓库里锁好,然后回来帮杨士举推车。刘姐在给拉肚子的三个人熬稀饭,灶台旁边的架子上搁着半瓶黄连素——是周振国从城北带过来的,他队里的胖子认识一个诊所的库管,停电以后从药房翻出来的。

周振国把皮卡从仓库里开出来,停在物流园西门内侧。他让眼镜把车载逆变器接在电瓶上,拖了一根延长线到车斗里,末端接了一个大功率电焊机。电焊机的焊把被拆掉,换成了两根铜排——短路的时候能产生足够大的电磁干扰。

“引它的时候,电焊机短路,铜排打火,”周振国跟杨士举解释,“打火持续三到五秒,电磁脉冲够让巡逻单元的传感器过载一瞬间。它会把注意力转向干扰源。这时候我们把电焊机关掉,开车往西走两百米,再打一次。来回三次,巡逻单元就被引到西边去了。”

“如果它不上当呢?”

“那我就把电焊机开着跑,让它追。车在跑,它锁不住,追一阵就放弃了。”

杨士举点了点头,把平板车的绳子紧了紧。

下午两点半,杨士举和老周从物流园西门出发,推着电容组往泵站走。周振国的皮卡往东开,去粮油市场的方向,约定三点半准时动手。

泵站的检修井盖还是老位置。老周用管钳撬开,杨士举把电容组吊下去。银色盒子上的指示灯还是暗黄色——故障状态。泵站节点还没有进入持续性故障,因为第一次故障被自动重启了。今天要打第二次,让自动重启三次全部失败。

杨士举把铜鼻子对准接口针脚,插了进去。电压表读数三百九十八伏。他掏出闸刀。

“老周,上面看信号。”

“表头没动。”

“放电。”

闸刀合上。电容组通过铜缆向银色盒子注入了两千焦耳的脉冲。指示灯从暗黄变成全灭,然后过了五秒,重新亮起来——这次是红色,急促闪烁。

杨士举盯着红灯看了十秒。它没有变色。

“郑工,红灯。”

老郑的声音从对讲机里传出来,压得很低:“PLC记录到三条连续故障帧。自动重启尝试了三次,全部失败。节点进入锁死状态。下一次跟主站通讯的时候会上报‘持续性故障,需人工复位’。”

“巡逻单元呢?”

“已经在调整了。我监测到周边巡逻单元的信号频率在变化——它们正在把扫描重心往泵站方向移。粮油市场那个方向的信号强度降了大概四成。”

杨士举把铜鼻子拔下来,电容组放完电了。他把闸刀断开,用万用表确认没有残余电压。

“老周,撤。”

两个人从井里爬上来,推着平板车往物流园方向跑。跑到半路的时候,东边传来一声闷响——电焊机短路的声音,隔着三公里都能听见。接着是皮卡引擎的轰鸣,由近及远,往西去了。

杨士举停下来,掏出嗅探器。表头指针先是指向泵站方向,偏得很厉害——巡逻单元正在朝泵站集结。然后指针慢慢偏向东边,又偏回来。

“周队长在引它。”老周说。

“引上了。”

两个人推着车继续跑。回到物流园的时候,刘姐站在门口,手里端着一锅稀饭,看见杨士举就喊:“老周回来了没有?”

“哪个老周?”

“你那个老周!跟周队长一起出去的,说去搬粮食!”

杨士举把平板车交给刘姐,跑到仓库后面一看——皮卡不在,老周也不在。

他站在仓库门口,攥着对讲机,等了三分钟。

对讲机响了。老周的声音:“到门口了,开门。”

皮卡从西门冲进来,后斗里堆着两排米袋,上面还压着几箱挂面。周振国跳下车,脸上的汗混着灰,冲杨士举竖了个大拇指。

“巡逻单元被引到市场西边去了。东北角没人看。我们搬了四十分钟。”

老周从副驾驶座上下来,拍了拍身上的面粉。

“杨士举,你算的时间正好。三点半动手,巡逻单元四点十分才回来。”

杨士举数了数后斗里的东西:米二十袋,面八箱,还有两箱葡萄糖口服液。

“葡萄糖哪来的?”

“粮油市场旁边有个诊所,外墙塌了,药房露在外面。我顺手搬了两箱。”周振国抹了把脸,“按约定,百分之十三归我们。我拿了三袋米一箱面,剩下的在车上。”

杨士举把东西搬进仓库,锁好门。

晚上营地里吃了一顿干的。大米饭,煮挂面,每人还分了一支葡萄糖口服液。拉肚子的三个人喝了以后精神明显好了一点。

老郑在棚子里把信号记录整理完,递给杨士举一张纸。

“泵站节点锁死了。巡逻单元把整个泵站区域的扫描频率从每四十分钟一轮降到了每四个小时一轮。冷却剂罐补给车明天下午四点还是会来,但到了泵站发现没人接货,会按流程卸货走人。我们可以去捡。”

“冷却剂罐旁边有没有别的物资?”

“预告帧里有一条物资清单的地址码。我解析出来了,里面包含一个维修耗材包。具体内容不知道,但耗材包旁边通常跟着人员补给包——就是吃的。”

杨士举把纸折好,放在桌上。

“明天下午五点,补给车走了以后,我去捡。”

老郑看了他一眼。

“明天是第七天。巡逻单元的存储覆盖周期,明天到期。泵站配电间的温度基线会被覆盖掉。但你在泵站打了两次脉冲,节点已经锁死了,巡逻单元以后来不来泵站区域都两说。你的‘盲区’成了。”

杨士举坐在铁皮凳上,长长地吐了一口气。

“盲区成了。”

“但粮油市场那边,巡逻单元回来了以后发现仓库被搬了。它会重新标记那个区域。以后再去就难了。”

“不去粮油市场了。补给车上有耗材包。人员补给包里可能有吃的。我们只需要在补给车走了以后,把东西捡回来。”

老郑把地图摊开,在泵站旁边画了个圈。

“明天下午五点,泵站。捡东西。”

杨士举点了点头,靠在墙上,闭上了眼睛。

脑子里在算:补给车卸货需要多久,耗材包有多大,人员补给包里有多少热量,一百四十四个人能吃几天。

九天。五天。三个小时。明天下午五点。

这些数字在脑子里转着转着就模糊了。他睡着了。

7 维修单元

下午四点,杨士举趴在泵站北边一栋塌了半截的二层楼板后面,用老郑做的那个嗅探器盯着泵站方向。周振国蹲在他旁边,手里攥着一副从皮卡上拆下来的后视镜——镜片碎了半边,剩下一半用来看拐角后面的动静。老周在楼下看着平板车,车上搁着四个空塑料桶和两根撬棍。

补给车是四点零七分到的。

它从城东物流大道拐进泵站北边那条支路的时候,杨士举先听到的是一阵低频嗡鸣,比节点的声音沉,比巡逻单元的声音稳。然后车从楼板缺口里开过去——六轮平台车,没有驾驶室,底盘上搁着一个方方正正的银灰色货箱,货箱顶上竖着一根短天线。车头位置嵌着三组传感器阵列,前两组是光学和红外,第三组他认不出来,可能是雷达或者激光测距。

“没人。”周振国把后视镜收回来,“车上没驾驶舱。”

“本来就是自动化。”杨士举把嗅探器表头对准补给车方向,指针偏到右边,幅度很大。“信号很强。它在跟泵站节点通讯。”

补给车停在泵站检修井旁边,底盘下降了几厘米,然后货箱侧面的装甲板滑开,伸出一条坡道。坡道上走下来一台四足维修单元。

杨士举见过巡逻单元,六条腿,扁平的梭形身体,像一只金属蟑螂。维修单元不一样——四条腿,站高大概一米二,身体是竖着的长方体,正面有一块面板,上面嵌着三组接口阵列和两个机械臂。机械臂的末端是通用夹具,夹着探针和扳手。它走路的姿势比巡逻单元稳,每一步都先伸出一条前腿探探地面,再挪身体。

“它下去了。”周振国压低声音。

维修单元走到泵站井口,用一条前腿勾住井盖边缘,往上一抬。井盖被掀到一边,它顺着爬梯下到井室里。杨士举听不到下面的动静,但嗅探器的指针在剧烈抖动——维修单元在跟节点通讯,信号比补给车强了好几倍。

“它在确认故障。”杨士举盯着表头,“脉冲宽度很长,间隔很短。它在读故障记录。”

大概过了七分钟,维修单元从井里爬上来。它站在井口旁边,正面面板上的接口阵列亮了一排暗蓝色的指示灯,机械臂伸出来,从自己背部的货格里取出一个巴掌大的黑色盒子,贴在节点井盖旁边的水泥地上。盒子贴上去以后,顶上的指示灯开始闪,频率跟节点的故障帧同步。

“那是什么?”周振国问。

“中继器。”杨士举盯着那个盒子,“节点在井底下,信号传不远。它放一个中继器在地面上,把节点的故障信号放大转发给主站。这样主站可以远程监控故障状态,不用再派车来。”

“那东西会一直闪着?”

“一直闪。直到人工复位把它拆掉。”

维修单元放完中继器,走回补给车,顺着坡道爬进货箱。补给车底盘升起来,货箱侧面的装甲板重新合上。然后它做了一件事——货箱尾部的一个舱门打开,自动卸下来两个东西:一个银灰色的圆柱形罐子,大概八十厘米高,罐体表面挂着均匀的霜层;另一个是一个扁平的黑色箱子,大概六十厘米长、四十厘米宽、二十厘米高,箱体侧面有提手和卡扣。

冷却剂罐和耗材包。

补给车卸完货,坡道收回去,装甲板合上,底盘升到正常高度,沿着来路开走了。整个过程不到二十分钟。

杨士举等了五分钟,确认补给车走远了,才从楼板后面站起来。

“中继器在闪,”他指着那个黑色盒子,“它在发信号。主站知道泵站节点锁死了,中继器会把节点的故障状态持续上报。补给车回去以后会生成一条维修工单,等人工处理。”

“人工什么时候来?”

“不知道。可能三天,可能一周。工单优先级取决于节点在系统里的重要程度。泵站节点是一个小型冷却回路,优先级不会太高。但中继器在这里,说明主站已经把这个故障纳入监控了。”

周振国看着那个中继器。

“那我们去捡东西的时候,中继器会不会报警?”

“中继器只转发节点的信号,不扫描周围环境。它没有传感器阵列,只有天线。我们只要不碰它,它不会知道我们在旁边。”

“那罐子呢?罐子上有没有传感器?”

杨士举蹲下来想了想。“冷却剂罐上有压力传感器和温度传感器,但那些数据是通过罐体上的短距无线发给补给车的。补给车已经走了,罐子的传感器现在处于离线状态。它不会主动发信号,因为没有接收方。”

“耗材包呢?”

“耗材包是机械卡扣封的,没有电子锁。打开的时候不会有信号。”

周振国站起来,拍了拍膝盖上的灰。

“那就搬。罐子归你,耗材包归我。”

“耗材包里可能有吃的。”

“所以才归我。”

杨士举笑了一声。“你搬罐子还是我搬罐子?”

“罐子沉,我的人多。耗材包轻,你自己扛。”周振国冲楼下喊了一声,“胖子,上来搬东西!”

四个人从楼板后面出来,贴着墙根走到泵站检修井旁边。中继器还在闪,指示灯一明一暗,频率跟节点的心跳一样。杨士举从它旁边走过去,距离不到两米,它没反应。

冷却剂罐比预想的轻——大概四十公斤,里面装的是液氦或者某种低温工质。胖子一个人抱起来搁在肩上,往平板车方向走。周振国把耗材包从地上拎起来,掂了掂分量,大概十五公斤。

“不重。里面有金属碰撞的声音。”

“别现在开。回营地再拆。”杨士举回头看了一眼中继器,“先撤。补给车虽然走了,但巡逻单元可能还在附近。我们在这里待了快半个小时了。”

几个人推着平板车往回走。走到物流园西门的时候,老郑已经在门口等着了,手里攥着一张纸。

“出事了。”

杨士举把平板车停稳。

“什么事?”

“中继器的信号频率变了。”老郑把纸递给他,“我一直在监测泵站方向的中继器信号。二十分钟前,它的转发频率从每十七分钟一次变成了每四分钟一次。”

杨士举把纸看了一遍。老郑在纸上画了两条时间轴,上面一条标着“节点故障帧”,下面一条标着“中继器转发帧”。中继器转发帧的间隔从十七分钟缩到了四分钟。

“转发频率提高意味着什么?”

“意味着主站把这条故障的优先级调高了。它在密集监控这个节点的状态。可能是补给车回去以后上报了更详细的信息——比如节点锁死的原因被诊断出来了。”

“诊断出什么?”

“不知道。但密集监控通常意味着下一步行动要来了。主站不会一直盯着一个锁死的节点看,它盯着看是因为它在准备派人或者派设备来修。”

杨士举把纸折好塞进兜里,推着平板车往仓库走。

“东西先入库。耗材包打开看看里面是什么。”

周振国把耗材包搁在仓库的水泥地上,掰开卡扣。箱盖翻开,里面分了三层:上层是两个金属盒子,贴着外星标签,杨士举认不出文字但认得图标——一个盒子画着冷却管路的符号,另一个画着电路板的符号;中层是一排圆柱形的小罐子,每个大概拳头大,罐体透明,里面是淡黄色的液体;下层是几个扁平的软袋,袋子有自封口,捏起来里面有颗粒状的东西。

周振国拿起一个软袋捏了捏。

“吃的。”

“打开看看。”

周振国撕开一个袋子,里面是压碎的颗粒,闻着有股焦糖味。他捏了一粒搁进嘴里嚼了嚼。

“甜的。像压缩饼干碎,但更硬。热量应该不低。”

杨士举拿起中层的一个透明小罐子,拧开盖子闻了闻。没有味道,但罐体侧面有一个刻度,标着容量和能量密度——当然他看不懂外星文字,但数字他认得:一罐标着“2000”,另一罐标着“500”。

“这个可能是高能量补充液,”他说,“两千单位的那个,按咱们的算法大概是两千千卡。一个人一天需要的热量。”

周振国数了数中层的罐子:两千单位的六罐,五百单位的十二罐。

“六罐大的够六个人吃一天。十二罐小的够三个人吃一天。加起来九个人一天。”

“一百四十四个人,九个人一天的口粮。”杨士举把罐子放回去,“耗材包里还有工具和零件,那些东西可能比吃的更值钱。”

他拿起上层那个画着电路板符号的金属盒子,打开一看,里面是几排封装好的芯片和接口模块。他拿起其中一个模块对着灯泡看了看——模块正面的接口阵列跟他第一章描下来的序列一模一样,但针脚间距更大,适合人类的手指操作。

“这是维修备件。”他说,“外星人自己用的维修备件。如果我们的电容组打坏了什么,也许可以用这个修。”

“你会修外星人的东西?”

“我不会。但老郑会拆。拆了以后里面是什么结构、什么原理,他慢慢能摸出来。”

周振国把耗材包重新盖好,卡扣扣上。

“这些东西先搁仓库里锁着。吃的东西按人头分。六罐大的和十二罐小的,今天晚上给拉肚子的和发烧的先喝。工具和零件归你和老郑。”

杨士举点了点头。他把中继器的事在脑子里过了一遍——四分钟一次转发,意味着主站正在密集监控。密集监控之后,最可能发生的事是主站派一台维修设备来。不是补给车那种自动化平台,而是一台专门用来现场维修的设备,可能是更大的维修单元,也可能是多台协同。

“周队长。”

“嗯。”

“你明天能不能再去一趟粮油市场?”

“干什么?”

“看看巡逻单元回来了没有。如果它回到了原来的巡逻路线,说明泵站这边的事它没当回事。如果它没回来,或者多了新的巡逻单元,说明主站在调整整个区域的部署。”

“你怀疑它们要来修泵站?”

“我怀疑它们在重新评估这个区域的优先级。泵站节点锁死了,中继器在密集上报。如果主站判断这个区域的故障率过高,它会派一台区域维修单元来做一次全面巡检。那种设备比单台维修单元大,带的传感器更多,扫描范围更广。如果它来了,我们的盲区就没了。”

周振国把管钳往腰上一别。

“明天早上我去看。如果巡逻单元回来了,我回来告诉你。如果没回来,我也回来告诉你。”

“注意安全。”

“你也是。中继器在闪,说明主站在盯着这个方向。你们营地的柴油机最好别开太久——虽然柴油机不是大功率设备,但如果区域维修单元来了,它的传感器灵敏度比巡逻单元高一个数量级。”

杨士举把耗材包锁进仓库的铁柜里。

“柴油机从明天开始只开两个小时。早晚各一小时,泵水和充电。其他时间关掉。”

“那电容组充电怎么办?”

“充电时间压缩到一小时。把充电功率调高,三百瓦变六百瓦。电容组二十分钟能充满。”

周振国点了点头,带着人往锅炉房方向走了。

杨士举站在仓库门口,看着中继器的方向。夜色里看不到那个黑色盒子,但他知道它在闪,一明一暗,四分钟一次,像一只不会闭的眼睛。

老郑从棚子里走出来,手里拿着一把烙铁和那个装芯片的金属盒子。

“这个我拿回去拆。”

“拆的时候小心点。里面可能有定位芯片。”

老郑看了他一眼。

“你觉得这个盒子里有追踪器?”

“补给车卸下来的东西,里面如果有追踪芯片,主站就能知道耗材包被打开了、被搬到哪里去了。”

老郑把盒子翻过来看了看底部的标签。

“那你还让我拆?”

“拆。但拆的时候在铁皮棚子里拆,棚子四壁是铁的,能屏蔽信号。拆出来的芯片先别通电,用万用表量了再说。”

老郑点了点头,抱着盒子往棚子走。走了两步又回过头来。

“杨士举。”

“嗯。”

“你今天搬回来的那个耗材包,里面有多少吃的?”

“九个人一天的口粮。”

“够谁吃?”

“拉肚子的三个,发烧的一个,剩下的给老周和周队长那边的人。其他人还是稀饭。”

老郑看了他两秒。

“你呢?”

“我喝稀饭。”

老郑哼了一声,转身进了棚子。铁皮门在他身后关上,里面传来翻工具的声音。

杨士举站在仓库门口,抬头看了一眼天。三架梭形飞行器还在高空,排列跟昨天不一样了——今天它们排成了一条直线,像三颗钉在天上的钉子。

他在心里记了一笔:中继器,四分钟转发,密集监控。区域维修单元,待确认。耗材包,九人日口粮。追踪芯片,待拆解。

然后他走进仓库,把铁柜的锁又拧了一圈。

8 六小时

老郑拆到凌晨一点,把芯片盒子里的东西全掏出来了。

他是在铁皮棚子里拆的,棚子四壁是镀锌铁板,顶上也盖了一层铁皮,门缝用铜箔胶带贴了一圈。法拉第笼不完美,但能让绝大多数无线信号衰减到探测不到的程度。他把电路板摊在铝板上,用烙铁和万用表一个一个元件过。

“追踪器找到了,”他指着电路板角落里一个指甲盖大小的黑色封装,“嵌在电路板夹层里,独立供电,纽扣电池驱动,天线是一段蚀刻在板子边缘的蛇形走线。只要板子通电,它就每三十分钟发一次定位信号。”

“现在断了?”

“我把板子上的电源滤波电容拆了,它没电了。但纽扣电池还在,如果以后有人把电容焊回去,它还会活。”

“留着。别拆坏。以后可能用得上。”杨士举把板子搁回铁盒里,“除了追踪器,还有什么?”

老郑把电路板翻过来,指着正面那排接口阵列。

“这些接口跟我预想的不一样。针脚间距大,排列方式跟节点维护接口一致,但多了一组双向数据线。我用万用表量了量,这组数据线的终端接在一个存储芯片上。芯片是只读的,内容我读不出来,但我量了它的供电电压——1.8伏。这是低功耗嵌入式闪存的典型电压。”

“里面存了什么?”

“不知道。但按照维修备件的逻辑,里面应该存着故障诊断固件。也就是说,这块板子插进节点里,能跑一套诊断程序,告诉维修单元‘这个节点的冷却泵为什么烧了’。”

杨士举把板子拿起来对着灯泡看了看。接口阵列的针脚排列跟他第一章描下来的序列一模一样,只是间距放大到适合机械臂操作。

“如果这块板子插进节点,它会发现泵是被外部脉冲打坏的?”

“它会记录泵驱动电路的过载波形。但过载波形跟老化、浪涌、接触不良产生的波形有区别。外部脉冲的上升沿更陡,持续时间更短。诊断固件应该能分辨出来。”

“分辨出来以后呢?”

“上报主站。主站会知道泵站节点是被人为破坏的。然后它会调整整个区域的安防级别——增加巡逻单元密度,提高传感器灵敏度,缩短巡检周期。”

杨士举把板子放回铁盒,盖上盖子。

“所以这块板子不能让它插进去。”

“对。而且我们得在区域维修单元带着诊断固件来之前,把泵站节点上的接口模块拆走。接口模块拆了,诊断固件就插不进去。它只能靠远程信号诊断,但远程信号看不出来是人为破坏。”

“接口模块长什么样?”

“就是那个银色盒子。”老郑从抽屉里翻出一张纸,上面画着银色盒子的草图——他第三章侦察的时候画的,“盒子正面是接口阵列,背面有三根螺栓固定在管道法兰上。拧掉螺栓,拔掉一根供电线和两根信号线,盒子就能拿下来。”

“拿下来以后节点会怎样?”

“节点会失去维护接口,不能上报详细故障数据,只能发最基本的‘离线’信号。主站会认为这个节点的通讯模块坏了——通讯模块故障和人为破坏是两回事。通讯模块坏了,主站会派维修单元来换模块,不会升级安防。”

杨士举看了看墙上的石英钟。凌晨一点四十分。

“区域维修单元什么时候到?”

老郑把中继器的监测记录翻出来。转发频率在晚上十一点二十分从四分钟一次变成了两分钟一次,然后凌晨十二点四十分变成了一分钟一次。

“转发频率一路在涨。一分钟一次意味着主站已经把这个节点标记为紧急。按以往的经验,紧急标记之后,区域维修单元会在六到八小时内到达。也就是早上七点到九点之间。”

“现在是凌晨一点四十分。我们大概有五到七个小时。”

老郑点了点头。

“五到七个小时。从营地到泵站走路四十分钟,拆盒子需要多久?”

“如果螺栓没锈死,二十分钟。锈死了,要锯。”杨士举从工具包里掏出钢锯条,“我带锯条了。”

“那就按一个小时算来回。你有四到六个小时用来拆。”

“不够。我还得把电容组运过去,以防万一。如果拆不下来,就用脉冲再打一次,把接口模块烧掉。”

“烧掉跟拆走有什么区别?”

“烧掉以后维修单元还是能换新的模块。拆走的话,它得重新布线和调试。多耽误它几个小时。”

老郑把草图塞给他。

“你去叫老周。我把PLC调到高速采样模式,盯着中继器的频率变化。如果频率突然跳到五秒一次,说明维修单元已经到附近了,我会用对讲机喊你。”

“五秒一次?”

“密集监控的最高级别。主站认为节点即将彻底失联或者正在被攻击,会启动应急响应。那种情况下,你只有几分钟时间撤离。”

杨士举把草图折好塞进兜里,出了棚子。

老周被叫醒的时候骂了一句脏话,但穿衣服的速度很快。两个人推着平板车从物流园西门出去,车上搁着电容组、工具箱、钢锯条、两副手套和一盏充电式探照灯。周振国被对讲机叫醒以后从锅炉房赶过来,在物流园门口跟他们汇合,手里拎着液压剪。

“用不上了,”杨士举指了指平板车,“接口模块用螺栓固定的,不是铆死的。锯条和扳手够用。”

“我带着,万一呢。”

三个人沿着夜色里的旧路往泵站走。月亮很暗,云层很低,巡逻单元的嗡鸣声从城东方向传来,比白天密集。杨士举掏出嗅探器,表头指针在中间位置——泵站方向有信号,但不算强。中继器在闪,巡逻单元在远处,泵站周围暂时安静。

到泵站检修井的时候是凌晨两点三十五分。老周撬开井盖,杨士举先下去。银色盒子还在管道法兰上,红色指示灯已经熄了——节点锁死以后指示灯不再闪烁,只有中继器在地面上闪。

他把探照灯夹在管道支架上,光柱对准银色盒子。三根螺栓,M8规格,锈了一层白霜。他喷了一圈除锈剂,等了五分钟,用套筒扳手开始拧。

第一根螺栓纹丝不动。他加了半圈力,螺栓头有点变形。

“锈死了?”

“没有。螺纹咬合太紧。出厂扭矩太高。”他换了根加力杆,套在扳手手柄上,用力一压。螺栓发出一声尖响,松了。

第二根和第三根拧得顺利。三根螺栓拆下来,杨士举把盒子从法兰上摘下来——背面果然有一根供电线和两根信号线,插在法兰上的插座里。他按了按插座上的卡扣,线拔出来了,插座自动合上防水盖。

“盒子到手。”他把银色盒子用毛巾裹好,搁进工具包。然后他从兜里掏出老郑画的草图,对照着看了一遍法兰上的插座。“这三个插座得堵上。不堵的话,水汽进去会短路,节点会报通讯故障。”

“堵上跟拆走有区别吗?”

“堵上以后节点会认为接口模块物理脱落。脱落是机械故障,不是人为破坏。主站会派维修单元来换模块,但不会升级安防。”

他从工具包里掏出三个橡胶塞——是从冻品市场冷库的制冷剂管路上拆下来的——塞进插座里,按紧。

“行了。上去。”

三个人从井里爬出来,盖上井盖。杨士举把银色盒子从工具包里取出来,搁在平板车上,用棉被裹好。

“回撤。”

走出不到两百米,对讲机响了。老郑的声音急促但清晰:

“中继器频率跳到五秒一次了。区域维修单元已经到了泵站北边三公里的位置。它在加速。你们有十五分钟。”

杨士举一把抓住平板车把手。

“跑。”

三个人推着车沿旧路往回跑。平板车轮子在碎石上颠得厉害,棉被里的银色盒子咣当响。跑了一公里,对讲机又响了。

“维修单元距离泵站一公里。它停下来了。在扫描泵站周围区域。”

“它能扫到我们吗?”

“它的扫描半径大概五百米。你们离泵站多远了?”

杨士举回头看了一眼泵站方向——黑乎乎的,看不到维修单元的灯光。但嗅探器的表头指针偏到了右边,信号很强。

“大概八百米。”

“那还在扫描范围内。它扫的是泵站周围五百米,你们刚跑出去,还在边缘。继续跑,别停。”

三个人继续跑。跑到物流园西门的时候,对讲机又响了。

“维修单元进泵站了。它在井口停下来了。中继器频率恢复正常——四分钟一次。它在上传诊断数据。”

杨士举把平板车推进仓库,靠着墙坐下来喘气。周振国把西门关上,插上门闩。老周把银色盒子从棉被里取出来,搁在水泥地上。盒子表面还带着井下的潮气,接口阵列在仓库的灯光下泛着暗银色的光。

老郑从棚子里走出来,手里攥着对讲机。

“诊断数据上传完了。维修单元留在泵站没走——它在等主站指令。主站看到接口模块脱落,派它来换模块。但它没带备用模块,因为它来之前没预料到接口模块会脱落。它现在停在泵站井口,等下一趟补给车送模块来。”

“等多久?”

“按流程,模块从城东集散点调过来大概四到六小时。也就是早上七点到九点之间。在那之前,泵站是安全的。”

杨士举把工具包搁在地上,靠着墙。

“我们拿到了接口模块。接下来怎么办?”

老郑把银色盒子翻过来,指着背面的三根线接口。

“接下来我们修它。把供电线和信号线接上,但把里面的诊断固件换掉——换成我们自己的。以后维修单元插进来的时候,读到的不是故障记录,是正常心跳。”

杨士举抬起头看他。

“你会改固件?”

“我不会写外星代码。但我会不接数据线。只接供电和信号,不接数据。这样接口模块通电以后,节点能通过它通讯,但诊断固件跑不起来。维修单元读到的只是‘模块在线,无故障记录’。”

“这能骗过主站?”

“骗不过主站。主站会看到这个节点的诊断数据一直是空的,会起疑。但如果我们在接口模块里存一份正常心跳的记录,让它在被读取的时候回放……”

杨士举明白了。

“用老郑的PLC,把正常心跳的波形存下来,写进接口模块的存储芯片里。”

“对。存储芯片是标准接口,我能把PLC的数据导进去。回放的时候,接口模块发出的信号跟正常节点一模一样。维修单元查不出问题,主站也不会升级安防。”

周振国靠在仓库门框上,听着两个人说话。

“你们要把外星人的维修模块策反?”

杨士举站起来,拍了拍屁股上的灰。

“不是策反。是让它学会说谎。”

9 报复的成本

老郑花了整个上午改接口模块。

他把模块背面的三根线剥开,供电线和信号线接上,数据线剪断,断口用热缩管封死。然后用一根临时焊上去的排线把模块的存储芯片引脚引出来,接到PLC的V区读写端口上。PLC里存着过去八天抓到的正常心跳记录,老郑挑了一段最干净的——连续四十个周期没有异常波动——写进存储芯片的地址零到八百。

“读的时候它会先跑自检,”老郑把模块重新装回铁盒里,“自检过不了的话,它会回退到出厂默认值。我把自检标志位也改了,改成‘已通过’。”

“它不会发现数据是假的?”

“它会发现。如果主站做深度校验——比如比对多个节点的信号指纹——会发现这段心跳跟原始记录有细微差别。但日常巡检不做深度校验,太耗带宽。日常巡检只读自检标志位和故障计数器。这两样我都是照正常节点抄的。”

上午十点,区域维修单元动了。

老郑盯着中继器的转发频率,从四分钟一次跳到了两分钟一次——维修单元在读取接口模块。读了大概七分钟,频率回到四分钟一次。维修单元从泵站井口站起来,四条腿依次收起,缩回补给车的货箱里。补给车底盘升起来,沿着来路开走了。

“走了。”老郑把对讲机搁下,“它读到了正常心跳,没发现异常。”

杨士举站在仓库门口,没有松气。

“它会不会留了东西?”

“留了。井盖旁边多了一个小盒子,跟中继器差不多大,但天线更短。我猜是长期监测节点。它虽然接受了接口模块的假数据,但还是不放心,留一个监测器定期抽查。”

“能拆吗?”

“不能。那东西每十分钟跟主站同步一次,拆了立刻报警。只能让它待着。”

杨士举把这件事记在脑子里,然后去找周振国。

周振国刚从粮油市场方向回来,皮卡停在仓库后面,车斗里空着。

“巡逻单元密度翻倍了,”周振国从车上跳下来,“市场正门原来一台,现在两台。另外东边物流大道上多了一台移动式的,来回巡逻,大概每二十分钟经过一次粮油市场北墙。”

“北墙?就是我们上次搬粮食那条路?”

“对。那台移动巡逻单元的扫描范围覆盖了北墙外面五十米。以后从北墙进去不可能了。”

杨士举蹲在仓库门口,用树枝在泥地上画了个简图。粮油市场在中间,正门两台固定巡逻单元,北边一台移动巡逻单元。东北角原来有个盲区,现在被移动巡逻单元覆盖了。

“粮食还够吃几天?”

“按一百四十四个人算,昨天搬回来的米面加上耗材包里的口粮,大概能撑八天。”

“八天。粮油市场进不去了,还有别的地方吗?”

周振国从兜里掏出一张纸,上面是他手绘的城南地图。

“城东有一个瓶装水厂,仓库里可能还有存货。但水厂正门有一台巡逻单元,而且水厂的外墙是砖混结构,没有塌角,进不去。城南有一个饲料厂,里面有大豆粕和玉米粉,人能吃,但需要加工。饲料厂的外围没有巡逻单元——那地方太偏了,外星人没管。但饲料厂离这里十二公里,皮卡跑一趟来回要一个小时,中间经过三个巡逻单元的活动区域。”

“饲料厂可以考虑。但大豆粕和玉米粉需要加工设备,营地没有磨粉机。”

“饲料厂里有。那厂子有一条完整的粉碎生产线,电机是七点五千瓦的。如果能把电送过去,就能现场加工。”

杨士举想了想。

“电送不过去。十二公里,电缆太重了。但饲料厂有柴油发电机吗?”

“有。饲料厂自己配了一台备用发电机,五十千瓦,柴油驱动。油箱容量大概五百升。”

“油箱里还有油吗?”

“我上次路过的时候没进去看。但从外面看,厂区没有被人动过的痕迹——大门锁着,围墙没塌。”

杨士举把树枝搁下。

“饲料厂可以搞。但得先把巡逻单元的注意力分散掉。你有办法把东边那三台巡逻单元引开吗?”

周振国想了一会儿。

“可以试。皮卡加电焊机的干扰战术对移动巡逻单元有效,对固定巡逻单元效果差——固定的那两台扫描角度是锁死的,干扰源不在扫描范围内它不理你。但移动的那台可以引。把它引到南边去,北墙的窗口就能打开。”

“粮油市场北墙的窗口?”

“对。北墙外面五十米被移动巡逻单元覆盖。如果把它引走,北墙还是可以进人的。但只能进人,不能进车。皮卡太显眼,移动巡逻单元就算被引走了,它的后台记录里也会留下一台车的特征。下次它巡逻到那个位置会重点扫描车辆特征。”

“人进去能搬多少?”

“一个人扛两袋米,走三公里,一个小时一趟。一晚上跑三趟,三个人就是十八袋。够一百四十四个人吃六天。”

杨士举把数字算了算。八天加六天,十四天。两周的粮食。然后呢?

“饲料厂那边呢?”

“等粮油市场搬完了再搞。饲料厂的加工设备需要人操作,我们队里没人懂粉碎机。你懂吗?”

“我修过粉碎机的电机。但生产线调试我不懂。”

“那就先放着。粮食够两周,先把这两周撑过去再说。”

杨士举站起来。

“今晚搬粮油市场。你出三个人,我带老周。皮卡把移动巡逻单元引到南边,我们趁窗口从北墙进去。”

“行。但有一件事先说清楚。”

“什么?”

“上次搬粮食,巡逻单元回来以后发现仓库被搬了,这次它可能会有防备。如果它发现仓库又被搬,它会升级标记——可能把整个市场标记为‘频繁失窃区域’,调更多的巡逻单元来。到时候北墙的窗口也关了。”

“所以这次搬完,粮油市场就不能再去了。”

“对。这是最后一次。”

杨士举看了看地图。粮油市场是方圆五公里内唯一的大型粮食储备点。搬完这次,他们就得去更远的地方找吃的。

“搬。今晚搬完,明天开始想别的办法。”

晚上九点,皮卡从物流园西门出去,往南绕。周振国开车,胖子坐在副驾驶,车斗里搁着电焊机和铜排。杨士举和老周推着平板车从西门出去,沿着旧工业区的围墙根往粮油市场北墙走。平头女人带着另外两个人从另一条路绕过去,约定在北墙外面汇合。

九点二十分,东边传来电焊机短路的闷响。接着是皮卡引擎的轰鸣,往南去了。杨士举掏出嗅探器,表头指针先是指向粮油市场方向,偏得很厉害——移动巡逻单元正在转向干扰源。然后指针慢慢偏向南边,又偏回来。

“引上了。”他低声说,“走。”

五个人贴着北墙根摸到仓库塌角的位置。砖堆还在,上次搬开的通道没被封死。杨士举先钻进去,手电筒扫了一圈——仓库里的米袋少了一半,剩下的堆在角落里,上面盖着一层防尘布。他掀开布看了看,米袋还在,大概三十多袋。

“搬。一个人四袋,两趟。”

五个人开始搬。米袋二十五公斤一袋,扛在肩上走三公里,老周扛了两袋就开始喘。杨士举扛一袋半,走一公里歇一次。平头女人力气大,扛三袋不歇脚,来回跑了两趟。

十点四十分,皮卡从南边绕回来了,停在北墙外面。周振国跳下车帮着搬最后一趟。十一点半,全部搬完。三十四袋米,八箱挂面,还有两箱食用油。

回到物流园的时候,杨士举的肩膀磨破了皮,衬衫粘在伤口上,一扯就疼。刘姐给他涂了点碘酒,用纱布贴了一块。

“明天开始,粮食按人头发。每人每天三百克米,加一勺油。能撑十四天。”

杨士举点了点头,坐在仓库门口的长凳上,把工具包搁在膝盖上。

老郑从棚子里走出来,手里攥着一张纸。

“监测节点的报告出来了。”

“什么报告?”

“区域维修单元留下的那个长期监测节点,我一直在听它的信号。今天下午它发了一条异常报告——不是关于泵站的,是关于物流园方向的。”

杨士举把纸接过来看。老郑在纸上画了一条信号强度曲线,从昨天下午开始缓慢上升,今天上午跳了一截,下午又跳了一截。

“信号强度在涨。说明监测节点在关注这个方向。”

“为什么?”

“不知道。可能是巡逻单元扫到了物流园的热源特征——柴油机、人的体温、灶台的烟。也可能是泵站的假心跳虽然骗过了维修单元,但主站做了区域交叉比对,发现泵站周边有一个持续的热源异常。”

杨士举把纸折好。

“它会来查吗?”

“监测节点只是监测,不会主动行动。但它的数据会汇总到主站,主站如果判断这个热源异常值得调查,会派巡逻单元过来近距离扫描。扫描结果如果匹配‘人类活动特征’,它会标记这个区域。”

“多久?”

“按以往的经验,监测节点上报异常以后,主站会在二十四到四十八小时内做出反应。也就是明天下午到后天。”

杨士举靠在墙上,看着仓库顶上的灯泡。钨丝发着暗红色的光,电压不稳,一闪一闪的。

“我们有十四天粮食。但可能只有一天时间。”

老郑点了点头。

“明天开始,柴油机每天只开一小时。泵水和充电压缩到一小时里完成。灶台改烧柴——物流园里有的是废木料。人的活动尽量集中在地下管廊里,地面上的热源越少越好。”

“地下管廊能住人?”

“能。管廊里有通风井,有积水,温度比地面低五到八度。一百多个人挤一挤,能住。但管廊里没有厕所,没有厨房,排污是个问题。”

杨士举闭上眼睛。

“先搬一半人下去。老人、小孩、拉肚子的,优先。剩下的人在地面上维持最低限度的活动。灶台改到管廊通风井底下,烟从通风井排出去,地面上看不到。”

老郑把纸收回去。

“你这是在跟主站打热源隐蔽战。”

“我这是在修东西。”杨士举睁开眼,“修一个不该出现在这里的热源信号,让它从监测节点的报告里消失。”

老郑看了他两秒。

“你修得好一台机器。”

“什么意思?”

“你修得好一台机器,但一个被盯上的地方,你修不好。”老郑把纸塞进兜里,“主站已经知道这个方向有异常了。它派巡逻单元来查,就算这次没查到,它还会来第二次、第三次。你可以把热源藏到管廊里,但你藏不了柴油机的声音、藏不了人的气味、藏不了一百多个人每天拉屎撒尿的热量。”

杨士举没有接话。

老郑往棚子走了两步,又停下来。

“我不是说你别干了。我是说,你得想清楚——骗一台设备,和骗一个系统,是两回事。 设备你骗过一次就完了。系统会学习。它第一次没查到,第二次会查得更细。你藏得越好,它越觉得这里有鬼。”

杨士举坐在长凳上,看着老郑走进棚子,铁皮门关上。

远处传来柴油机的声音,比平时轻——刘姐已经开始按他的要求压缩开机时间了。营地里有人在搬东西,脚步声急促,刘姐在喊“先把老人扶下去,别摔了”。

他站起来,走到仓库后面的管廊入口。井盖已经撬开了,下面透出昏黄的灯光——老郑在管廊里拉了一路临时照明,用的是电动车电池和LED灯带。老周正扶着刘姐的胳膊往爬梯上送,刘姐怀里抱着一个装药的铁盒子。

杨士举蹲在井口旁边,看着人们一个一个往下爬。

一百三十七个人。加上周振国的七个人,一百四十四。管廊里能住下一半,剩下的一半留在地面上维持最低活动。

他在心里算:管廊的通风井有六个,每个通风井的排气量够不够七十个人的呼吸?管廊里的积水有没有污染?排污怎么解决?

这些账算不清楚,搬下去的人过两天就得搬上来。

“杨士举。”老周从井口探出头来,“刘姐问,管廊里能不能做饭。”

“能。通风井底下支灶台,烟从通风井排。但只能用电磁炉——不能用明火,管廊里有沼气。”

“电磁炉的电从哪来?”

“柴油机每天一小时的发电量,匀出一部分给管廊的电池组充电。电池组带电磁炉,够做两顿饭。”

老周缩回去了。杨士举站起来,走到物流园西门内侧,往泵站方向看了一眼。监测节点在闪,一分钟一次,规律得像秒针。

他在心里记了一笔:监测节点,二十四到四十八小时反应窗口。管廊人口转移,第一天七十人。柴油机压缩至一小时。热源隐蔽,地面活动减半。

然后他掏出笔记本,在最后一页写了一行字:

骗设备靠手,骗系统靠命。命不够,就分散。

他把笔记本塞回兜里,转身往管廊入口走。老周在下面喊他:“你下来看看,这个通风井的滤网堵了!”

“来了。”

他顺着爬梯下到管廊里,手电筒的光柱在混凝土壁上晃了一下。管廊里比地面凉快得多,空气有点闷,但能呼吸。人们沿着管廊两侧铺了纸板和旧衣服,老人靠着壁坐着,小孩在管廊中间跑来跑去。

杨士举蹲在通风井底下,仰头看着滤网。滤网上糊着一层灰和昆虫的尸体,风从上面下来的时候带着一股土腥味。他伸手把滤网拆下来,递给老周。

“拿去洗。洗完了装回去,别装反了。”

老周接过滤网走了。杨士举蹲在通风井底下,听着管廊里的声音——人的说话声、小孩的笑声、远处柴油机闷闷的震动声。

一百四十四个人,十四天粮食,一条地下管廊。

他掏出笔记本,在刚才那行字下面又添了一笔:

明天开始,把泵站的假心跳交给老郑的PLC自动跑。我不去了。我去饲料厂。

10 脚趾缝

杨士举是凌晨四点出发的。

他没带老周,也没叫周振国。一个人推着平板车从物流园西门出去,车上搁着工具包、万用表、嗅探器、两壶水、一包米袋里铲出来的碎米煮的饭团,还有老郑塞给他的一截粉笔。管廊里的人们还在睡觉,通风井底下传来断断续续的鼾声和小孩翻身时纸板窸窸窣窣的声音。刘姐在管廊口探了一下头,想说什么,杨士举摆了摆手。

“中午回来。”

“你要是回不来呢?”

“那就下午回来。”

刘姐没再问,缩回去了。

饲料厂在城东南,十二公里,走路大概两个半小时。杨士举沿着旧工业区东侧的围墙根走,尽量贴着建筑物阴影。天还没亮,巡逻单元的嗡鸣声从城东方向传来,比昨天又密了一点。他掏出嗅探器看了一眼,表头指针在左边微微抖动,信号不强。物流园方向的监测节点还在闪,但频率没变,还是一分钟一次。

走了大概四十分钟,路过城东物流大道的交叉路口。路面上有新鲜的车辙印,六轮平台的,宽度跟补给车一致。杨士举蹲下来看了看,车辙印从东边来,往泵站方向去了,然后掉头回来了。冷却剂罐大概已经被取走了,泵站节点锁死以后,主站又派了一台补给车把罐子和耗材包捡回去。他没赶上,但无所谓,耗材包已经在仓库里了。

六点半到饲料厂外围。厂区在一条断头路的尽头,围墙是砖砌的,两米高,顶上拉着铁丝网,铁丝网锈断了几个口子。大门是铁栅栏门,锁着,链条锁锈了一层红。杨士举没走大门,他沿着围墙往北绕了五十米,找到一处铁丝网被野猫扒开的口子,把平板车从外面塞进去,自己跟着钻了进去。

饲料厂的院子很大,正面是原料仓库,左边是生产车间,右边是成品仓库。原料仓库的屋顶塌了一角,里面堆着黄豆粕的编织袋,袋子表面长了绿毛,但堆得密,里面的没怎么受潮。生产车间是一栋两层楼,底下一层是粉碎机和混合机,上面一层是控制室。柴油发电机在车间北侧的独立小房子里,红砖砌的,门是铁的,没锁。

杨士举推开门进去。发电机是潍柴的,五十千瓦,四缸柴油机直连同步发电机。机身蒙了一层灰,但皮带没裂,水箱里还有冷却液,机油尺拔出来看,油位在刻度中间偏下,还算干净。他绕着机器走了一圈,蹲下来检查蓄电池——两块十二伏铅酸电池串联,二十四伏启动系统。电池桩头上结了一层白霜,他用螺丝刀刮了刮,露出底下的铅合金。

“亏电了。”他自言自语。

柴油机的油箱在机器后面,铁皮焊的,容量五百升。他拧开液位计下面的放油阀,接了一小杯柴油出来。油是清亮的琥珀色,没有水层,没有悬浮物。他闻了闻,柴油味正。

“油还在。”

他拧上放油阀,站起来,把控制面板的盖子拆开。启动开关、预热按钮、油压表、水温表,还有一块机械式计时器,显示累计运行小时数:三百四十七小时。机器不旧,保养得还行。

他退出机房,把门虚掩上,往生产车间走。车间底层的粉碎机是锤片式的,电机七点五千瓦,皮带传动。他用手盘了一下皮带轮,转了半圈,卡住了。他把皮带摘下来,再盘锤片转子,还是卡。他蹲下来看了看进料口里面,锤片上缠着一团干硬的麻绳和铁丝——不知道是谁在停电前最后一天往里扔了什么东西,转子卡死了。

“清一下就行。”他把检修门拆开,伸手进去拽那团麻绳。拽了五分钟,麻绳松了,转子能转了。他把皮带装回去,检查了一遍轴承座的润滑脂,还有,没干。

粉碎机没问题。电机没问题。发电机没问题。油箱里有油。

问题是电从哪来。蓄电池亏电,启动不了柴油机。他可以用营地那台柴油机的电池搭电启动,但来回四公里扛两块铅酸电池不现实。或者用平板车把饲料厂的电池拉回营地充电,第二天再拉回来。但监测节点盯得紧,他不知道主站什么时候会有反应。

他在车间门口站了一会儿,然后决定先把电池拆下来拉回去。

他转身往机房走,走到一半停住了。

成品仓库的墙角有东西。一小截竹竿,插在泥地里,上面系着一根红布条。布条很新,颜色还没褪,风一吹就抖。他蹲下来看了看,竹竿底下的泥地里有一圈脚印,鞋底纹路是防滑胶鞋的,不是军靴,不是运动鞋,是那种工地和车间里常见的黑色胶底劳保鞋。脚印往成品仓库后面绕过去了。

杨士举把工具包往肩上一甩,跟着脚印往仓库后面走。脚印在仓库后墙的一个通风口前面消失了。通风口用铁皮盖着,盖子上的螺栓被人从外面拧开过,螺纹上抹了一层黄油防锈。他蹲下来,用拇指顶住铁皮盖往上一推,盖子开了,露出一个方形的洞口,大概六十厘米见方,里面黑乎乎的,有风从下面涌上来,带着一股煮豆子的味道。

他把手电筒打开往里照。通风口往下大概三米,底下是一条地沟,地沟两侧是砖墙,地面是水泥的。地沟往前面延伸,尽头有亮光。亮光不是手电筒,是LED灯带。

杨士举没有下去。他蹲在通风口旁边,想了想,然后从工具包里掏出一颗螺栓,从洞口扔了下去。螺栓落地,叮当一声,在地沟里弹了两下。

过了大概十秒,地沟那头传来一个声音。

“谁?”

声音不高,带着警惕,但没慌。像是一个已经在这里待了很久的人,见惯了风吹草动,问一声确认一下。

“修电气的。”杨士举说。

地沟那头安静了几秒。然后脚步声由远及近,一个男人从拐角处探出头来。五十多岁,脸瘦,颧骨高,穿一件沾了豆粕粉的灰夹克,脚上穿着杨士举在泥地里看到的黑胶底劳保鞋。他手里攥着一根扳手,但没有举起来。

“物流园那边的?”男人问。

“你怎么知道?”

“你从西边过来的。这边往西走十二公里,只有物流园一个活人扎堆的地方。上周巡逻单元往物流园方向密集跑了两趟,我以为上面要去清人。后来没去,我就知道那边有人把上面骗住了。”

杨士举蹲在洞口,看着这个瘦脸男人。

“你是饲料厂的?”

“原来是。停电以后没走。”

“一个人?”

“三个。我,我老婆,我小舅子。”男人把扳手换到左手,伸出右手,“姓吴,吴国柱。原来是饲料厂的机修工。厂子倒了以后我留下来看设备,后来上面来了,我就钻地沟里了。”

杨士举握了握他的手。手很粗,指甲缝里嵌着洗不掉的黄油。

“地沟有多长?”

“整个厂区的管网都在底下。从原料仓库通到车间,从车间通到成品仓库,从成品仓库通到锅炉房。锅炉房有通风井通地面。我们三个人住了快五十天了。”

“吃什么?”

“原料仓库里的豆粕。刚停电那会儿还从食堂冰柜里搬了半扇猪,吃了半个月。后来就靠豆粕和地沟里长的蘑菇。豆粕拿水泡软了煮,放点盐,能吃。”

杨士举往地沟里看了看。LED灯带沿着地沟侧壁延伸,每隔几米有一个挂钩,上面挂着塑料袋装的杂物。地沟地面上铺了砖头和木板,走起来不泥泞。吴国柱的老婆和小舅子坐在地沟拐角处,面前搁着一个电磁炉——电磁炉旁边是一块汽车蓄电池,接了一个逆变器。

“电池哪来的?”

“厂里叉车的。四块,轮换着用。充电靠手摇——车间里有一台手摇式应急充电机,摇一个小时能充进去一点,够电磁炉煮一顿饭。”

杨士举看着那块汽车蓄电池和逆变器。

“你们有电,有加工设备,有原料。为什么不上地面?”

吴国柱苦笑了一声。

“上了。我小舅子上去过一次,走到车间门口就被巡逻单元扫到了。那东西发出一种声音,不大,但很尖。他吓得跑回来,我们三个人在地沟里蹲了三个小时不敢动。巡逻单元没下来,但它在车间门口转了两圈,往地上放了一个小盒子。你猜那个盒子是什么?”

“监测节点。”

“对。它一直在闪。我隔两天上去看一眼,还在闪。所以我们就不上去了。豆粕泡软了能吃,蘑菇也够。等哪天上面走了再说。”

杨士举蹲在洞口,在心里算:三个人,五十天,靠豆粕和蘑菇活下来。地沟有通风、有照明、有电磁炉、有充电设备。他们有一个完整的微型生态系统,虽然简陋,但能维持。

“饲料厂的柴油发电机还能用,”杨士举说,“油箱里有油。蓄电池亏电,但搭电就能启动。如果发电机转起来,粉碎机就能开。大豆粕磨成粉,人能吃得更好,也能给一百四十四个人当口粮。”

吴国柱把扳手搁在地上。

“你要开生产线?”

“我要把大豆粕磨成粉,拉回物流园。一百四十四个人,粮食只够十四天。饲料厂的大豆粕存量够不够?”

“原料仓库里还有大概八吨。够吃很久。”

“那就不只十四天了。”

吴国柱看着他,想了一会儿。

“发电机启动需要搭电。你有电池?”

“我回去拉。明天来搭电。”

“巡逻单元在车间门口放了一个监测节点。你搭电的时候柴油机一响,监测节点会报警。”

“监测节点只监测不行动。它报警了主站会派人来查,但中间有二十四小时窗口。我们搭电启动柴油机,把粉碎机开起来,磨一吨豆粕粉,装车拉走。整个过程两个小时。两个小时之内监测节点报警,主站派巡逻单元过来,我们已经走了。”

“那下次呢?下次再来磨粉,监测节点已经报了警,巡逻单元会盯着车间。”

“下次不从车间进。从锅炉房的通风井进。锅炉房在厂区最北边,离车间一百多米。巡逻单元盯着车间的时候,我们从锅炉房下去,走地沟到车间后门,从后门进粉碎机间。柴油机在独立机房里,地沟有一条支线通到机房底下。”

吴国柱想了一会儿。

“你把整个厂区的管网都摸清了。”

“没摸清。但我修过饲料厂隔壁的污水泵站,厂区管网的走向是同一套规划。看一遍地沟走向就能推出来。”

吴国柱蹲下来,从地沟里摸出一张皱巴巴的图纸,摊在洞口的地面上。图纸是厂区的管网布置图,用铅笔在上面标了地沟的走向和通风井的位置。

“你从锅炉房通风井下去,沿着地沟往南走三十米,左拐,再走十五米,右手边有一个检修口,上去就是机房。柴油机在机房正中间。搭电瓶的位置在柴油机北侧,用砖台子垫着的。”

杨士举把图纸折好塞进兜里。

“明天早上五点半,我从物流园过来。带两块电池,一根搭电线。你把地沟里的人管好,别上去。柴油机一响,我搭完电就撤。后天晚上六点,等巡逻单元换班的时候,我再来磨粉。你让你小舅子在地沟里盯着车间门口,如果巡逻单元往车间方向移动,他就敲管子。三长两短。”

吴国柱点了点头。

“敲管子。三长两短。记住了。”

杨士举站起来,把工具包拉链拉好。

“还有一件事。”

“什么事?”

“你那个手摇充电机太慢了。我明天带一台交流发电机过来,用柴油机带着转,给电池组充电。以后你这里的电磁炉、照明、充电,都不用手摇了。”

吴国柱看了他一会儿。

“你为什么帮我?”

“因为你有八吨大豆粕,我有十四天粮食。合起来就是两个多月。而且你这条地沟通到锅炉房,锅炉房的通风井离物流园北边的旧路只有八百米。如果以后物流园待不住了,你这里是一个备用点。”

吴国柱把扳手捡起来,插回腰上。

“你这个人,算得挺远。”

“维修工的习惯。算得远一点,修得快一点。”

杨士举把平板车推回铁丝网缺口,从里面钻出来。天已经亮了,城东方向的巡逻单元嗡鸣声稀疏了一点,可能是在换班。他回头看了一眼饲料厂的院子,成品仓库的墙角那根红布条还在风里抖。

他在心里记了一笔:饲料厂,八吨豆粕,五十千瓦柴油机,油箱五百升,地沟通锅炉房通风井,吴国柱三人。明天早上搭电,后天晚上磨粉。

然后他推着平板车沿原路往物流园走。走到半路的时候,对讲机响了。老郑的声音:

“监测节点频率变了。从一分钟一次变成了五秒一次。”

“什么意思?”

“意思是主站已经确认这个方向有异常,正在调设备过来查。你有两到三个小时的窗口。回来以后直接下管廊,地面上一律不留人。”

杨士举停下来,看了一眼物流园方向。柴油机的烟已经停了,营地的烟囱没冒烟。刘姐已经把灶台搬到了管廊通风井底下。

“两到三个小时。我四十分钟到。”

“你一个人?”

“一个人。”

他把对讲机别回腰上,推着平板车跑了起来。平板车轮子在碎石上颠,工具包里的扳手和钳子叮当响。跑了大概两百米,他停下来喘了口气,把工具包往肩上紧了紧。

工具包很沉。万用表、嗅探器、粉笔、笔记本、半截钢锯条、三个橡胶塞、一卷铜箔胶带。这些就是他全部的家当。

他继续跑。跑过旧工业区的围墙,跑过纺织厂的碎玻璃堆,跑过冻品市场西边那排挂车车斗。挂车车斗底下的阴影里,有他画过的一条粉笔线——标注着“巡逻单元盲区,30分钟窗口”。粉笔线已经被雨水冲淡了,但还看得出形状。

跑到物流园西门的时候,刘姐站在门口,手里攥着一壶水。

“直接下管廊。老郑在上面收设备,收完了就下来。”

杨士举接过水壶灌了两口。

“让老周把仓库里的两块叉车电池搬到管廊口。明天早上我要用。”

“用在哪?”

“饲料厂。”

刘姐看了他一眼,没再问。杨士举把水壶塞回去,走到管廊口,顺着爬梯下到地沟里。管廊里的空气比早上更闷了,但比地面凉快。人们在管廊两侧坐着,有人在下棋,有人在补衣服,有人在给小孩喂水。老郑从前面走过来,手里攥着对讲机。

“监测节点频率又变了。五秒一次维持了大概二十分钟,然后回到了两分钟一次。它在扫描物流园周围的地面。扫描半径大概三百米。”

“它扫到什么了?”

“什么都没扫到。地面上的灶台拆了,柴油机停了,人都在管廊里。它扫了三遍,除了几条狗,没扫到热源。”

杨士举靠着管廊壁坐下来。

“那它会走吗?”

“不知道。但两分钟一次说明它还在盯,只是没查到东西。如果它连续盯四十八小时都没查到,主站可能会把优先级降下来。如果查到了——”

“查到了再说。”

杨士举从工具包里掏出笔记本,翻到最后一页,在“明天早上搭电”下面添了一行:

后天晚上磨粉。锅炉房通风井进,机房搭电,粉碎机磨豆粕,成品仓装车,原路返回。吴国柱小舅子敲管子。三长两短。

他把笔记本合上,搁在膝盖上,靠着管廊壁闭了一会儿眼睛。管廊里有人在说话,声音很低,怕吵到别人。远处通风井下面传来电磁炉的嗡嗡声和锅盖碰撞的响。

杨士举睁开眼,从工具包里摸出那截粉笔。管廊壁是混凝土的,灰白色,粉笔在上面画出来的线很清楚。他站起来,走到管廊的一个岔口前面。左边通物流园西门,右边通旧工业区,中间一条通锅炉房方向。

他在岔口的混凝土壁上画了一条线。线的起点是物流园,往东延伸,末端打了个箭头,箭头旁边写了两个字:

饲料厂。

然后他在箭头下面画了一条短横线,横线下面画了个圈,圈里写了个“8t”。

八吨大豆粕。够一百四十四个人吃五十六天。

他把粉笔塞回兜里,往管廊深处走。老周从前面迎过来,手里拎着两把管钳。

“明天去饲料厂?带我吗?”

“带。你扛电池。”

“就扛电池?”

“还扛豆粕粉。”

老周咧嘴笑了一下。

“行。扛什么都行,别让我扛液氮罐就行。”

两个人往管廊深处走,身后传来通风井底下电磁炉的嗡嗡声和锅里的咕嘟声。远处地面上的监测节点还在闪,两分钟一次,像一只不会睡的眼睛。

杨士举没有回头。他在心里记了一笔:粉笔线标注完成。饲料厂,八吨豆粕,五十千瓦柴油机,吴国柱三人。明天搭电,后天磨粉。

然后他把手插进工装口袋里,指头碰到了那截粉笔。粉笔短了一截,但还能画很多条线。

沪ICP备16008431号-1

本站所有内容都已取得正版授权,且不适合未成年人观看。版权声明 - 投稿声明 - 自审制度 - 免责声明