置身于智能制造中的專業人士恐怕需要有兩個我,一個在數字世界中醒著(看制造),一個在制造的物理世界中冥想(軟件如何定義)。
也許大海給貝殼下的定義是珍珠,也許時間給煤炭下的定義是鉆石。
一個人有兩個我,一個在黑暗里醒著,一個在光明中睡著。
——紀伯倫,《沙與沫》。
2019年1月,大眾CEO Herbert Diess博士在達沃斯“世界經濟論壇年會”上語出驚人,在不遠的將來,汽車將成為一個軟件產品,大眾也將會成為一家軟件驅動的公司【1】。
2011年NetScape創始人Marc Andreessen說:Software eats the world(軟件吞噬世界)! 另一位是C++語言發明人,Bjarne Stroustrup說:人類文明運行在軟件之上【2】。的確,數字比特的海洋(軟件)似乎正在成為當今世界的主題。越來越多的人相信,軟件定義世界,軟件定義一切。
數字比特的海洋(軟件)會給制造下什么樣的定義?但對于很多從事制造業的人們而言,當聽到軟件定義制造之類的話,總覺得類似表達是不是太極端了,有人甚至明確地表示不屑。從事機械、制造、以及OT領域的一些專家學者對“軟件定義”之類的話多有排斥,亦事出有因。的確有少數IT出身的專家在談論智能制造及“軟件定義”之類的話題時,沒能落到實處;還有少數制造或傳統自動化出身的專家在談論數字化和智能化技術的時候忘記了回家的路。這兩種情況當然是應該避免的。
言軟件定義制造,難道設備和工藝不再重要?無論數字-智能技術多么先進,基本的工藝和裝備永遠是重要的,因為產品要靠它們生產出來;人也是最重要的,甚至某些傳統的手工工藝未必都能去掉。日本某先進的機床公司里,在應用數字-智能技術的同時,卻存在原始的手工刮研工藝,而且是用在高精度要求之處。制造領域的學者和專家們能夠深刻體認制造之不易,如果說軟件定義制造,是不是IT技術主導制造呢?是不是有人又在玩概念,玩虛的?于是有制造領域的學者建議,不要提軟件定義制造,只言軟件使能制造。
筆者亦是機械制造專業出身,也認為“軟件定義制造”不能算一個嚴格的學術概念,但作為技術意識或觀念、作為一種描述趨勢的定性說法則可以被接受。在當今學科和技術交融的時代,機械、制造及傳統自動化領域的學者和專家們更應該欣然融合來自異學科的新概念或理念,只要其主體思想是合理的。當然自己要清醒的是,不要忘了回家的路!
如果把語義絕對化,那么“軟件使能制造”同樣存疑,扳手和螺絲刀就不是軟件使能的。之所以言軟件定義制造,不只是因為制造中要用到很多軟件,而是軟件在制造中的作用越來越關鍵,軟件越來越體現產品和企業的競爭力。只要我們略為細察,軟件的確已經滲透到制造的方方面面,且成為其核心能力。只要看看今日智能產品和裝備中軟件之作用,就能領略其言之真。圖1.是制造中所用到的部分軟件。
圖1. 軟件支撐智能制造(提供:黃培)
“軟件定義”這一術語起源于計算機學科領域,“軟件定義制造”之說則是行業融合的自然結果。一般認為,軟件定義的說法始于“軟件定義的網絡”(Software-Defined Network,SDN)。傳統的“硬件為中心”的網絡體系結構,復雜性高、擴展性差、資源利用率低、管理維護工作量大,無法適應上層業務擴展演化的需要。
2008年前后,斯坦福大學提出“軟件定義網絡”并研制了OpenFlow交換機原型。OpenFlow中,網絡設備的管理控制功能從硬件中被分離出來成為一個單獨的完全由軟件形成的控制層,抽象了底層網絡設備的具體細節,為上層應用提供了一組統一的管理視圖和編程接口(Application Programming Interface,簡稱API),而用戶則可以通過API對網絡設備進行任意的編程從而實現新型的網絡協議、拓撲架構而不需改動網絡設備本身,滿足上層應用對網絡資源的不同需求。
2011年前后,SDN逐漸被廣泛應用于數據中心的網絡管理,并取得了巨大的成功,重新“定義”了傳統的網絡架構,甚至改變了傳統通信產業結構。在SDN之后,又出現針對泛在化資源的“軟件定義一切(Software-DefinedEverything,SDX)”。實現SDX的技術途徑,就是把過去的一體化硬件設施打破,實現“硬件資源的虛擬化”和“管理任務的可編程”,為用戶提供更開放、靈活的系統管控服務。
通過軟件定義,底層基礎設施架構在抽象層次上就能趨于一致。軟件定義概念融入各個領域的同時正在不斷“泛化”,軟件定義正在向物理世界延伸。在“工業互聯網”、“工業4.0”和我國“制造強國戰略”的發展藍圖中,軟件定義將成為企業核心競爭力的戰略需要。伴隨著軟件定義的泛化與延伸,軟件將有望為物理實體定義新的功能、效能與邊界【3】。
在制造中,軟件的作用越來越大。
幾乎在制造的所有方面都離不開軟件。
不妨把“軟件定義”的理念引申到制造中,但“定義”主要不是表現在“需要”,不是局限于應用軟件后提高效率,而是若沒有軟件,產品的某些功能可能根本不存在;過程的高性能、高質量無法達到;企業的目標不可能實現;某些市場也可能不存在……現在可以回答,數字比特的海洋(軟件)能為制造下的定義:人力或傳統自動化不能實現的功能、性能、高質量……
軟件定義制造:
● 如果軟件在制造系統的某些產品/過程中所發揮的作用是人力或傳統自動化不可企及的,則言產品/過程是軟件定義的;
● 如果軟件在制造中的關鍵作用是人力或傳統自動化不可企及的,則言軟件定義制造。
軟件定義制造,并非言所有的軟件都能定義制造。能定義制造的軟件主要是工業軟件,而非一般的通用軟件。工業軟件絕不是一般互聯網公司可以涉足的。僅就代碼行數而言, Windows軟件甚至不及某些復雜產品(如飛機)中用到的工業軟件。可見,工業軟件承載的是何等大尺度的工程量!
工業軟件還不能容忍哪怕一點瑕疵,比如發射火箭,若控制火箭動作的軟件有某個細節不對,火箭立即失控。通用軟件則不然,如Windows軟件出錯,重啟系統不致有太大問題。工業軟件中沉淀了大量工廠場景數據、知識、及很多人的經驗、才智【4】。
這就表明,軟件背后潛藏的人的經驗、才智、數據、知識等定義了制造。另一方面,現在人工智能的發展已經在局部領域超越人的智能,在制造中融入了人工智能的某些軟件(也需基于制造某個領域的知識)完全有可能在制造的特定方向超越人的能力,如感知、計算、推理能力等。這就是軟件有可能“定義”制造的技術背景。綜合而言,軟件定義制造的內涵:
真正定義制造的是軟件中所沉淀的人的經驗、知識、才智以及由數據驅動的人工智能等。
及此,從事制造以及傳統自動化的專業人士概可明白,絕非IT技術定義了制造,IT/軟件只不過是制造領域專家定義制造的一個工具而已。
前兩天讀宋華振先生的文章,文中不乏道理。“不是軟件來定義制造,而是制造的工藝知識凝聚,軟件僅為載體,但是,如果只是個載體,那就不能稱為定義。【5】”只不過,當我們知道個中含義的合理性后,不必以概念去較真概念。有些情況下,對于來自異學科且在一定程度上代表制造發展趨勢的、非嚴格學術意義的意識或理念,不妨受之納之。重要的是,真正認識到“軟件定義制造”的內涵。
某些軟件在制造中表現出的關鍵作用非人力或傳統自動化所能企及,意指即使增加人力也不可能達到某些軟件的作用或效果。不是所有的軟件都能夠“定義”,如普通的CAPP,雖然它能夠大大提高工藝設計的效率,但如果沒有它,人還是有可能設計出相應的工藝流程,只不過要花費更多的人力。所以還不能說普通的CAPP軟件定義了工藝。企業中也不是所有的實體或過程都是軟件定義的,之所以言軟件定義制造,是希望開發出能夠“定義”制造的軟件,希望通過軟件創新實現人和傳統自動化都難以企及的某些功能和性能。也就是說,
軟件定義制造——
反映了制造中的一種趨勢,一種期盼,一種境界。
在數字-智能時代,企業應該建立強烈的“軟件定義”的意識,爭取讓軟件能夠定義產品、定義質量、定義性能、定義企業目標、定義市場……需要注意的是,數字比特的海洋(軟件)肯定會有泡沫,但無須過慮,風也會把泡沫吹走。
只有“敬畏專業才能真正看清問題!”
置身于智能制造中的專業人士恐怕需要有兩個我,一個在數字世界中醒著(看制造),一個在制造的物理世界中冥想(軟件如何定義)。