試驗場的三條時鐘被寫在白板上:控制器、現場採集箱、記錄伺服器。看起來都顯示同一個北京時間,真正決定毫秒先後的,卻是它們各自的內部計數器。
林浩給每套裝置接入同一參考脈衝,先測傳播延遲,再把延遲作為後設資料儲存。誰發出脈衝、誰收到、在哪根線上收到,每一步都有獨立記錄,不允許在軟體裡偷偷把曲線拖到看著順眼。
第一輪校準後,壓力曲線與閥門命令的錯位縮到三毫秒。試驗組剛要鼓掌,周野又關掉一條網線。記錄伺服器改走備用鏈路,錯位立刻變成九毫秒。
現場工程師抱怨這屬於故意找茬。梁師傅指了指牆上的應急流程:主路斷線正是備用鏈路存在的原因。真出故障時才發現備用時間線不可信,比試驗檯上被周野找出問題難受得多。
他們把網路負載從閒時逐漸加到峰值,同時讓閥門執行器做小幅週期動作。舊系統的錯位隨著負載伸縮,新系統只出現被標明的丟幀告警,沒有偷偷挪動事件發生的時刻。工程師看到這組對照,才明白源頭時間戳不是格式潔癖。
“原路穩,備路歪,這不是校好了。”周野說。
備用鏈路多過一隻交換機,包到達的順序偶爾被重新排列。新設計不再用到達時刻排序,而用源頭時間戳與遞增序號;丟包就明說缺了哪一段,絕不把後來到的舊包裝成剛發生的新事。
梁師傅拿兩個帶標籤的零件盒比劃:“火車晚點,不能把車票日期給改了。你們這伺服器以前乾的就是這事。”
控制軟體還有一處容易被忽視的細節。壓力值每兩毫秒更新,閥門指令每五毫秒形成一次。把兩種取樣直接畫成連續曲線,看上去可以精確到每一毫秒,其實中間有幾處是畫圖程式插出來的線。
周野讓介面標出真實取樣點,不在空隙處假裝知道發生了什麼。報警判斷則使用經過驗證的時間視窗,既能覆蓋取樣間隔,也不會把二十三毫秒的舊錯誤重新容忍進去。
飛控組做故障注入:人為製造真實閥門提前動作、壓力感測器延遲、單通道丟包,以及兩者同時發生。四種情況在螢幕上顯示不同標籤,不再全靠一盞紅燈喊“出事了”。
真實閥門提前動作那一組,行程反饋首先偏離命令,現場獨立測點隨後出現壓力變化,系統立刻禁止點火。只有記錄包延遲的一組,源頭時間順序保持正常,介面亮的是資料鏈路故障,不再命令維修組拆一隻本來完好的閥門。
壓力感測器延遲的工況最難。它的資料值沒錯,更新卻晚了幾幀。周野要求介面同時顯示“資料年齡”,超過閾值便把曲線畫成灰色虛線,不能拿一條已經過時的正常值向值班員保證眼前安全。
陳大川看著不同顏色:“以後誰再說紅燈一亮就一定是閥門,我給他看這四張圖。”
“先別出圈。”呂建國把他拉回操作檯,“真正要緊的是現場人員知道哪張圖該立刻停機。”
試驗主管組織一次不打招呼的演練。壓力採集箱被拔掉一路訊號,值班員沒有盲目補開閥門,而是按手冊切換獨立測點、凍結點火許可。整套動作比上次快,卻沒有人因為趕時間跨過確認步驟。
改好的閘道器執行六小時,主路與備路輪流切換,最大時間差維持在事先限定範圍內。控制器、壓力採集箱和執行器行程反饋的時間順序始終一致。
質量組把舊資料重新標註。原來被寫成“主閥提前動作”的那次報警,真實發生的是記錄包晚到;閥門從頭到尾沒有動。報告中保留原報警文字,並在旁邊寫明原因,不能事後把一聲假紅燈抹成沒響過。
周野把校準步驟交給兩班人員交叉執行。甲班接線,乙班只拿圖紙和記錄複核;換班後再反過來做一次。兩邊測出的傳播延遲處在同一範圍,說明辦法不是隻對林浩這雙手有效。
負責值夜班的小陳在記錄表末尾補了一句:若參考時鐘失效,介面必須明確失去同步,不得自動沿用上一次校準結果。周野看完給她簽了名字,真正可靠的流程往往就靠這樣一句“不許裝正常”守住。
總指揮終於重新簽發點火許可。他問周野是否可以把這套同步方法複製到其他試驗檯,省得下次再爭二十三毫秒。
“可以,但每臺都得重新測線長與鏈路。”周野回答,“抄方法,不抄一個看起來很漂亮的延遲數。”
當天傍晚,模擬推進劑流經新管,主閥按命令開啟。螢幕上先有指令,再有執行器動作,隨後壓力按預期變化,每一道證據都排在它應該在的位置。
倒計時走到十秒,監測席的那盞假紅燈沒有再亮。可真正的點火試驗尚未開始,誰也不敢為一張安靜螢幕提前慶祝。








