第五十四章 廠長,您可得多來技術科啊!
特種化肥的樣品在後山炸出了一個半米多深的坑,這事兒很快在廠領導中間傳開了。
“廠長又搗鼓出來新品了呀?”
“特種化肥,不是,哪一家化肥能爆炸?”
“要不然怎麼是特種化肥呢?”
……
雖然頂著個特種化肥的名號,不明白到底為什麼怎麼設計,廠裡一眾領導在知道之後,冇多說什麼,隻是小聲討論了一下覺得新奇,並冇人質疑這玩意兒能不能賣出去。
要是擱三個月前,林默說要搞什麼特種化肥,廠裡這幫老人兒能把他從會議室懟出去。
你一個機械廠,搞什麼化肥?那不是不務正業嗎?
趕緊停下來!
可現在不一樣了。
林默用上千萬美元的訂單,用發到手的工資和獎金,用賬上趴著的那幾百萬美元,結結實實地奠定了自己的地位。
他說行,那就行。
他說能乾,那就乾。
哪怕他說要把廠子搬到月亮上去,底下的人也會先琢磨琢磨怎麼搭梯子,看能不能實現。
特種化肥生產線組建得很順利。
黃衛民牽頭,從原來的啟明火藥廠調了一批老手,又從車間抽了三十個年輕工人,準備在廠房裡劃出了一塊區域,專門做特種化肥的造粒和包裝。
設備不算複雜,一台粉碎機,一台混合機,一台造粒機,一台乾燥機,再加幾台電子秤和封口機,整套線下來花了不到二十萬人民幣。
林默去看了兩次,第一次提了幾條改進意見,第二次就隻是轉了一圈,也冇有問題之後,就鑽進了技術科。
等化肥研發任務完成之後,三天兩頭地往技術科跑,成了林默這段時間的常態。
李援朝剛開始還有點受寵若驚,後來就習慣了,再後來就變成了期待,因為每次林默來,總能給他帶來一些意想不到的思路。
“廠長,您上次說的狀態機架構,我回去琢磨了。”
李援朝坐在工作台前,麵前攤著一摞寫滿程序流程圖的稿紙,眼鏡片後麵的眼睛布滿了血絲,眼神卻是滿滿的亢奮。
“您看我這理解對不對。”
他在紙上畫了一個方塊圖,“飛控程序分成五個狀態:初始化,自檢,待機,飛行,緊急。”
“每個狀態之間定義好轉換條件,比如說,自檢通過就進待機,待機收到起飛指令就進飛行,飛行檢測到低電壓就進緊急。”
林默站在他身後,低頭看著那張圖紙,點點頭:
“不錯,就是這個思路。”
“狀態機的核心是三個東西,狀態,事件,動作。”
“當前狀態收到一個事件,執行對應的動作,然後遷移到下一個狀態,你把這三個東西定義清楚了,程序就不會亂。”
李援朝連連點頭,手裡的筆飛快地在本子上記著。
“林默拉過一把椅子坐下,拿起桌上的一塊飛控板,指著上麵的主控芯片。
“還有你這程序架構,彆把所有功能都塞在主循環裡。”
“中斷優先級要分清楚,姿態解算最高優先級,遙控指令第二,圖傳第三,日誌記錄最低。”
“姿態解算的周期要固定,比如說每十毫秒中斷一次,算一次姿態,調一次PID,這樣飛控的響應速度才能跟得上。”
“我之前是把所有東西都放主循環裡。”
李援朝撓了撓頭,有點不好意思,“跑一遍下來,姿態解算的時間不固定,有時候長有時候短,飛機就不太穩。”
“那是因為你主循環的執行時間不是恒定的。”
林默把飛控板放下,拿起筆在紙上畫了一個時序圖,“你設一個定時器中斷,每五毫秒觸發一次,中斷服務程序裡隻做三件事。”
“讀傳感器,算姿態,調PID。主循環裡跑那些不要求實時性的東西,比如圖傳,日誌,遙控指令解析。”
“這樣一來,姿態控製的實時性就保證了。”
李援朝盯著那個時序圖看了半天,一拍大腿,“廠長,您這一說我就明白了!這就是把實時任務和非實時任務分開處理!”
林默笑了笑,“對,這叫前後台係統架構,前台是中斷服務程序,處理緊急的事,後台是主循環,處理不緊急的事。”
“你把這個框架搭好了,後續加功能就不會亂。”
李援朝興奮的手裡的筆都快把本子戳穿了。
他在對微處理器和軟件編程不算精通。
林默來了之後,他才開始係統地接觸這些新東西。
每次林默來技術科,他都恨不得把腦子裡的疑問全部倒出來,讓林默一一解答。
“廠長,還有一個問題。”
李援朝翻了兩頁本子,指著上麵的一行字,“上次您說的PID參數整定方法,我試了一下,比例和積分調好了,但微分項一直拿不準。”
“調大了飛控容易抖,調小了又響應太慢。”
林默想了想,拿起筆在紙上畫了一個曲線圖,解釋道:
“微分項的作用是預測誤差的變化趨勢,相當於給係統加了一個阻尼。你調微分項的時候,先把它設為零,把比例和積分調到一個大概合適的範圍,然後慢慢增加微分項,直到係統的階躍響應冇有明顯超調,但又不會太遲鈍。”
他在紙上畫了幾條曲線,標注了不同參數下的響應波形。
“你目前的問題可能是微分項的采樣周期不對,微分是對誤差的變化率做計算,如果采樣周期不一致,微分項就會忽大忽小。”
“你把姿態解算的周期固定下來,比如十毫秒一次,微分項用前後兩次誤差的差值除以時間間隔,這樣算出來的值就穩定了。”
李援朝聽得入神,眼鏡都快貼到紙上了。
他一邊聽一邊記,時不時地點頭,嘴裡嘟囔著“原來如此”“怪不得”。
林默又講了大半個小時,從數據結構講到模塊化編程,從模塊化編程講到接口設計。
他不講太超前的東西,二十一世紀的微服務架構,容器化部署這些東西,拿到1981年根本冇法落地,連最基本的硬件基礎都冇有。
他講的都是八十年代末,九十年代初的主流技術思路,模塊化,分層設計、狀態機,中斷優先級管理,這些東西用現在的8位微處理器完全能實現。
“好了,今天就到這兒。”林默站起來,拍了拍衣服上沾的鉛筆灰,“你先消化消化,回頭有問題再來找我。”
李援朝站起來,腰板挺得筆直,“廠長,您有空可得多多來技術科,以前在南山電器廠,哪有人教這些?都是自己摸著石頭過河,走一步算一步。”
林默擺擺手,笑嗬嗬的冇說什麼,拿起桌上的軍大衣披上,推門出了技術科。
