線材車間的“現場課”,講了將近兩個小時。
從線材車間出來,已經是中午了。
四個人在食堂匆匆扒了一碗麵條,就往微程式設計室走。
房間裡,靠牆擺著兩臺午馬機,連著二維卡讀卡機,用於校驗微程式,螢幕上滾著綠色的字元。
另一邊擺著五臺程式設計機,每臺程式設計機連著二維卡制卡機。
另一面是一整牆頂天立地的櫃子,裡面放滿了微程式二維卡,以及一本本的電路圖、邏輯圖。
孔寶祥走到一臺午馬機前,敲了一行命令。
螢幕上跳出一個檔案目錄,密密麻麻列著幾百個檔名。
“線材車間的微程式組,一共包含67條微程式。”他敲了另一行命令,螢幕上開始滾動一行行綠色的字元,每一條都有編號、功能描述和實現方式。
他用手指點著螢幕。
“先說微程式的作用。工業計算機的每條指令,底層都是一段微程式。你們可以理解成,指令是給工程師看的,微程式是給機器看的。工程師寫一條‘MOV’,機器要執行十幾條甚至幾十條微程式,取資料、送資料、存資料、更新指標,一條一條來。”
他點著螢幕上的一行。
“比如這條,M01,加熱爐出鋼控制。它的作用是:當加熱爐的鋼坯加熱到設定溫度,且軋機準備好接料時,發出出鋼指令。實現方式很簡單,讀取溫度感測器的值,與設定值比較;讀取軋機狀態訊號,確認準備好標誌位為真;兩個條件都滿足,輸出一個脈衝訊號給推鋼機。”
大張海湊過來看了一眼螢幕,皺了皺眉。
“溫度比較的閾值,是固化的還是可調的?”
“可調。”孔寶祥把螢幕往下翻了幾行,“這裡是引數區,爐溫上限、下限、出鋼節奏,都可以線上修改。改完了不用重啟,系統自動載入新引數。”
他繼續往下講。
“微程式怎麼配置?不是67條全用上。不同的鋼種、不同的規格,需要的微程式組合不一樣。軋螺紋鋼和軋盤條,控制邏輯差別很大。所以我們要為每種產品規格做一個‘微程式配置檔案’,就像選單一樣。工人選‘螺紋鋼12毫米’,計算機自動載入對應的微程式組合。不用每次重新配。”
蘇明華聽得很認真。
“特殊部分怎麼辦?有些產線有獨特的裝置,比如有些廠在風冷線後面加了一臺線上測徑儀。這個測徑儀的控制邏輯,你們的微程式庫裡沒有。”
孔寶祥站直身子:“從控制電路中提取邏輯。測徑儀的控制電路,不管用甚麼元件搭的,它的邏輯無非是‘取樣—比較—輸出’。我們把它的輸入輸出訊號摸清楚,畫出真值表,寫出邏輯表示式,然後轉成微程式。這個過程有標準流程,不難。”
“怎麼保證新加的微程式不衝突?”大張海問。
“地址分配。”孔寶祥在螢幕上調出一張表格,“微程式儲存器有預留空間。每個功能模組的地址範圍是固定的,只要不超出這個範圍,就不會衝突。我們還有一個‘衝突檢測’工具,載入之前自動掃描一遍,發現地址重疊會報警。”
他把表格放大,讓三個人都能看清。
“這是微程式儲存器的地址分配表。基礎控制模組佔0x0000到0x1FFF,工藝引數模組佔0x2000到0x2FFF,特殊功能模組佔0x3000到0x3FFF。新加的微程式,只能放在0x3000之後,不會和基礎模組衝突。”
大張海點了點頭,在本子上記了一筆。
孔寶祥關了螢幕,轉過身。
“微程式的‘現場課’,主要就這些。核心是三點:第一,每條微程式做甚麼、怎麼做,心裡要有數;第二,不同產線配不同的微程式組合,像配選單一樣;第三,特殊部分可以從控制電路里提取邏輯,轉成微程式,有預留空間、有衝突檢測,不會打架。”
他頓了頓,又補了一句。
“到了產線上,我們可能會遇到我沒有講到的情況。到時候電話打回來,要能準確描述問題,提出微程式的設計思路,確保北京這邊能24小時之內,做出新的二維卡寄到現場,甚至最小作戰單元就能現場製作二維卡載入新的微程式。”
從微程式設計室出來,已經下午三點多了。
四個人又往星河CAD的機房走。
機房裡比外面涼快了不少,空調出風口呼呼地吹著冷風。
墨綠色的機櫃在日光燈下泛著冷光,指示燈一排一排地閃爍著。
大張海走到管理員終端前面,敲了一行命令。
繪圖機開始編制一個晶片的內部結構圖。
他又輸入一個指令,調出工業計算機的晶片指令集。
“工業計算機的指令集,一共48條。資料傳輸、算術運算、邏輯運算、轉移控制、輸入輸出,五大類。每一條指令,對應晶片內部的一組硬體邏輯。”
他指著螢幕上的列表。
“比如這條,ADD,加法指令。它在晶片內部對應的是一個加法器,一組邏輯閘,把兩個數加起來。工程師寫ADD的時候,他不需要知道加法器長甚麼樣,但晶片設計師必須知道。因為加法器的位寬、延遲、功耗,直接影響指令的執行速度。”
不一會兒,繪圖機繪製完成,大張海取下圖紙,巨大的繪圖紙上,黑色的線條密密麻麻,像一座微縮城市的地圖。
他用笑在晶片結構圖上畫了一個圈,圈住了一小塊區域。
“這裡是ALU,算術邏輯單元。所有的算術運算和邏輯運算都在這裡完成。ADD指令的執行路徑是:從暫存器取數→送ALU→加法器計算→結果存回暫存器。這條路徑上的每一個環節,都有時序約束。時脈頻率10兆赫,每個時鐘週期100納秒。ADD指令要在一個週期內完成,所以從取數到存結果,全部要在100納秒之內跑完。”
蘇明華盯著紙上覆雜的結構圖,沉默了幾秒。
“這些晶片,怎麼裝到板卡上?”
大張海敲了另一行命令,調出一張板卡的電路圖,點選列印。
“晶片裝在插座上,插座焊在板卡上,板卡透過金手指插到背板上。每顆晶片的電源引腳、地引腳、資料引腳、地址引腳、控制引腳,都要連線到對應的匯流排上。這些連線,在電路圖裡是一條條線,在板卡上是一根根銅箔。”
大張海講了半小時,繪圖機畫完。
這張板卡圖上,滿是密密麻麻的線條和符號,比晶片結構圖還要複雜。
他用笑在圖上畫了一條線,從一顆晶片的引腳出發,穿過密密麻麻的元件,最終到達板卡邊緣的金手指。
“這條線是資料匯流排的一條。它從晶片出來,一經過個緩衝器,然後分成三路,一路去記憶體晶片,一路去I/O晶片,一路去金手指。走線的時候要注意長度匹配、間距、阻抗控制。線長了訊號延遲大,間距小了有串擾,阻抗不匹配有反射。”
大張海轉過身。
“晶片的‘現場課’,核心也是三點:第一,指令集是工程師和機器之間的約定,晶片是實現這個約定的硬體;第二,每一條指令在晶片內部都有對應的硬體邏輯,工程師不需要知道,但晶片設計師必須知道;第三,晶片裝在板卡上,板卡插在機櫃裡,機櫃連成系統,一層一層往上堆。”
他看著蘇明華和孔寶祥。
“我們寫微程式、跑現場的時候,心裡要有一張圖,這條指令在晶片裡是怎麼跑的,用了哪些邏輯閘,花了多少時間。有了這張圖,很多問題就不用猜了。”
從星河CAD機房出來,天已經快黑了。
四個人站在機房門口,夕陽從西邊的窗戶斜射進來,把整條走廊染成一片金黃。
呂辰從兜裡掏出煙,給大張海和孔寶祥各發了一根,自己也點了一根。
“今天的三個課,你們也聽了。蘇明華講產線,孔寶祥講微程式,大張海講晶片。三個人,三個領域,三種思維方式。”
他吸了一口煙,慢慢吐出來。
“你們回去之後,按這個方法,在各自的戰隊內部推廣。大張海,你帶著第一戰隊的人,到大張海那裡學晶片;孔寶祥,你帶著第二戰隊的人,到微程式設計室學微程式;蘇明華,你帶著第三戰隊的人,到產線上學現場。”
他頓了頓。
“所有人都要做筆記。每個人至少記滿一個本子。不是記流水賬,是記問題、記思路、記解決方案。每半個月,三個戰隊開一次碰頭會,把各自遇到的問題、想到的辦法拿出來交流。碰頭會的內容,整理成《現場作戰手冊》,以後新來的人,拿著手冊就能上手。”
三人點了點頭,在本子上記了下來。
第二天一早,呂辰又帶著大張海、孔寶祥、蘇明華去了兩個地方。
先去了宇文坤德的防靜電車間。
車間裡,板卡正在一批一批地測試。
宇文坤德蹲在一臺測試臺前面,手裡拿著示波器的探頭,眼睛盯著螢幕,一動不動。
吳國華帶著人,正在一個一個的測試著各種元件。
呂辰走進去,沒有打擾他們。
等宇文坤德把一組資料記完了,才開口。
“宇文工,我帶他們來看看板卡整合。”
宇文坤德站起來,活動了一下有些僵硬的脖子。
他看見蘇明華,點了點頭。
“明華,你回來了?”
“回來了。”蘇明華笑了笑。
宇文坤德沒有多問,轉身走到一排機櫃前面,開啟櫃門,露出裡面密密麻麻的板卡。
“板卡整合,就是把晶片、電阻、電容、聯結器這些東西焊到板卡上,然後上電測試。每塊板卡要跑24小時穩定性測試,沒問題了才能出廠。”
他從櫃子裡抽出一塊板卡,舉起來讓三個人看。
“這塊是I/O板,上面有8顆晶片插座、47顆電阻電容、2個聯結器。每顆晶片都要逐顆按壓確認,確保沒有虛接。每個焊點都要用放大鏡看,確保沒有虛焊、連焊。”
大張海接過板卡,翻過來看背面。走線密密麻麻,但每一根都走得規規矩矩,沒有飛線。
“板卡整合是質量控制的核心,一顆晶片沒插好,一塊板卡就廢了。一塊板卡廢了,一個抽屜就停了。一個抽屜停了,一臺機櫃就可能趴窩。”
他把板卡插回機櫃,關上櫃門。
“你們的‘最小作戰單元’,要派人過來參與板卡整合。不是看著,是上手。每個人至少親手整合一套工業計算機的板卡、再測一套板卡。做過了、測過了,才知道板卡是怎麼做出來的,出了問題才知道從哪查。”
從防靜電車間出來,四個人又去了模擬線搭建室。
錢蘭和諸葛彪正在裡面忙活。
模擬線搭建室在自動化控制中心的二樓,是一間四十多平米的大房間。
靠牆擺著幾個繼電器櫃,中間放著一排操作檯,檯面上密密麻麻全是旋鈕、開關和指示燈。
諸葛彪叼著一根菸,蹲在地上,正在擰一個繼電器底座上的螺絲。他聽見腳步聲,抬起頭,朝呂辰點了點頭,又低下頭繼續擰。
錢蘭站在操作檯前面,手裡拿著一個本子,正在記錄甚麼。
她看見蘇明華,眼睛亮了一下。
“明華?甚麼時候回來的?”
“前天。”蘇明華走過去,看了一眼操作檯上的接線圖,“這是……模擬線?”
“對。”錢蘭把本子遞給她看,“模擬線材車間的整個流程。從加熱爐到吐絲機到風冷線,每一個環節用幾個指示燈和電位器模擬。速度、張力、溫度,全部用旋鈕調。”
蘇明華接過本子,一頁一頁地翻。
接線圖畫得很詳細,每一條線、每一個節點都標註得清清楚楚。
她翻了十幾頁,合上本子,還給錢蘭。
“這個模擬線,能跑通工業計算機的全部控制邏輯嗎?”
“能。”錢蘭的回答很乾脆,“我們設計了47個故障場景,覆蓋了線材車間可能出現的所有異常。模擬線跑通了,上線材車間才有把握。”
諸葛彪從地上站起來,把螺絲刀插在腰帶的工具套上,這個工具套裡,扳手、各種型號的螺絲刀、絞鉗、萬能卡、軍刀、尺子,十七八樣,完全就是一個電工架勢。
從嘴角拿下煙,彈了彈菸灰。
“明華,你在現場跑得多,你來看看這47個故障場景夠不夠。”
他走到操作檯前,從一個資料夾裡抽出一張紙,遞給蘇明華。
蘇明華接過去,一行一行地看。
加熱爐爐溫失控、粗軋機軋製力異常、精軋機輥縫漂移、吐絲機速度不同步、風冷線風機故障、集卷站堵卷、打捆機壓力不足……
她看完了,把紙還給諸葛彪。
“諸葛師兄,錢師姐,依我看,還要再加兩個。一個是電源跌落,現場電壓波動大,有時候會瞬間掉到380伏以下。一個是訊號線被老鼠咬斷,這不是開玩笑,我在東北一個廠真遇到過。”
諸葛彪把紙接回去,在上面加了兩行字。
“行。明天就加上。”
呂辰站在門口,看著錢蘭、諸葛彪和蘇明華討論故障場景,沒有插話。
他吸了一口煙,慢慢吐出來。
大張海站在他旁邊,手裡拿著筆記本,正在整理今天的記錄。
孔寶祥蹲在操作檯前面,仔細研究那47個故障場景的列表,眼睛一眨不眨。
呂辰看了看錶,下午五點半。
“行了,今天就到這兒。”他把煙掐滅在菸灰缸裡,轉過身,看著三個人。
“回去之後,把今天的筆記整理好。明天開始,大家按這個模式走。大張海,你輪流帶隊去學晶片。孔工,你帶隊的人去學微程式。蘇工,你帶隊去學現場。”
他頓了頓。
“一個月之後,我要看到三樣東西:第一,每個人的筆記本;第二,三個戰隊的碰頭會紀要;第三,《現場作戰手冊》的初稿。”
三個人點了點頭。
走出自動化控制中心大樓的時候,天已經快黑了。
西邊的天際線還殘留著一線暗紅,遠處軋鋼廠的高爐還在噴著火,把半邊天映成一片暗紅。