漫談工業軟件(1)

 從工業4.0 談起

自從以英國爲中心的第一次工業革命以來,西方國家在政治和經濟領域的主導地位是不言而喻的。經濟的領頭羊地位主要是依靠先進的製造業。然而在過去的幾十年間,世界產生了戲劇化的變化,東西方格局被經濟的全球化取代。全球化推動了其它國家制造能力的大幅度提高。而發展中國家低成本產品對西方國家制造業產生了巨大的衝擊。許多的製造企業面臨着要麼到中國去設工廠,要麼關門這樣的痛苦選擇。西方世界已經長時間無法和過去的地位相提並論了。

  每個區域對這種轉變的反映是不同的。美國放棄了大量的中低端製造業。將發展的重點放在了高科技和服務業上。但是似乎並不奏效,甚至連汽車工業也衰敗了。以至於貿易保護主義主義擡頭,出現了逆全球化思潮。希望以簡單粗暴的方式讓製造業迴歸,讓美國再次偉大。

   而在歐洲,特別是德國。製造業是最重要的經濟元素。它們通過自動化和不斷地對製造技術研究開發 ,保持它們在世界製造業的領先地位。德國公司即使在世界各地設立了工廠,但是在德國仍然保留了核心製造工廠。

面對發展中國家製造業的不斷進步而產生的各種挑戰。德國政府和行業協會不斷地研究應對策略。顯然,貿易保護和逆全球化不是它們採取的選項。像德國,奧地利這樣先進的西方國家並不大。面向全球市場是它們經濟發展的主要發展策略。所以它們唯一的方式就是繼續保持在製造業的領先地位。將採用更多的高科技,特別是信息技術提升製造業。2012年工業4.0 工作小組遞交了他們的最終報告草案《確保德國未來的工業基礎地位-未來計劃“工業4.0”實施建議》。工業4.0 計劃中的許多概念是不甚明確的。但是這一概念的傳播是非常令人詫異的。大多數人接受工業4.0的概念,許多國家制定了類似的計劃,比如中國製造2025 計劃。網絡上關於工業4.0 的信息很多,許多人和企業都聲稱他們的產品符合工業4.0的理念。對於工程師而言,概念是廉價的,實現纔是王道。我們關心的是如何去實現工業4.0計劃。工業4.0 的核心概念就是信息物理系統CPS。製造設備的機械部件和嵌入式軟件高度融合,並且具有相互聯網的能力。開發這種信息物理系統無論是對機械製造行業還是信息技術行業都是一個巨大的挑戰。

 軟件,工業的未來

工業4.0的願景就是信息物理融合系統。在這個過程中,軟件將扮演重要的角色功能性工業軟件的智能應用和研發無疑成爲影響製造業和過程工業發展的一個決定性作用。企業,乃至一個行業的未來越來越不取決於工廠本身。相反,軟件工程師的地位越來越重要。通過軟件虛擬實現,大數據分析,人工智能技術導入到工業領域。

傳統企業生產製造非智能零部件,通過購買發達國家的軟件和控制系統的發展模式已經走到了盡頭。我國的機牀製造業最近爆出的新聞表明行業成本提高,利潤空間不斷地被壓縮。行業全面進入了虧損和倒閉的階段。

2020年世界範圍的新冠病毒疫情將改變世界製造業的格局,西方國家的政治家,經濟學家,甚至民衆都察覺普通產品的遠在海外帶來的風險和弊病。他們將會對過去的全球化作相當大的調整。這不是一時情緒化的宣泄,而是基於長遠的戰略調整。他們提出了寧可犧牲一部分效率,也要通過自動化技術將某些製造業迴歸。與此同時,爲了保持西方國家在高科技領域的優勢,他們會對新興國家,特別是中國在新技術領域的打壓和限制。美國對中國華爲公司的粗暴打壓就可見一斑。這種格局的變化,不僅會使我們減少全球化帶來的出口市場,西方國家採用自動化技術生產的普通商品也可能在國內市場對傳統制造業造成衝擊。當年“洋布” 衝擊國內紡織業的情形是否會再次重演。世界範圍的逆全球化思潮是值得我們有所警覺的。

我國政府已經提出要發展高端製造業和戰略性新興產業。最近又提出了要在覈心技術領域實現自主可控。這充分表明中國政府大的戰略方面已經明確。關鍵是企業應採取何種方式來適應這種戰略調整?

工業軟件成爲發展未來製造業的重要課題。製造業的部件和系統中使用大量的嵌入式軟件,這些軟件無法單獨地獲得,除非與機電部件成品一起購買。而通過生產機械零部件,採購國外電氣控制系統的粗放型製造業沒有性能和價格優勢,許多行業戲稱爲“賣鐵的行業”。

現代製造設備中越來越多的核心技術體現在嵌入式軟件之中。如果在軟件在過去的傳統制造行業還只是一個配角,而現在將成爲主導力量。幾乎大多數企業都將會涉及軟件的研發工作。他們可能是產品內部的嵌入式軟件,也可能是企業獨特的生產管理和過程控制軟件。國外學者就提到軟件是工業的未來,所有的企業都將成爲一個軟件公司。這是不無道理的。擁有強大的工業軟件是能否取得競爭主動權的重要因素。

工業軟件對實時性,可靠性和安全性有極高的要求。內部算法與物理部件充分融合,需要長期的磨合和測試。結合了公司的核心工業的獨特技術。研發工業軟件的難度要比研發普通商業軟件更大。對工程師的要求業越高。一段時間以來,我國社會輕視製造行業,年輕人更願意從事公務員,律師,營銷等行業,而目前又熱衷於互聯網行業。造成了製造業人才缺失,特別是長期沉浸於某個行業的嵌入式軟件工程師少之又少。這些社會因素將嚴重阻礙我們向高端製造業邁進的步伐。

目前我國爲工業4.0 所做的工作還大多數停留在流於表面,可有可無的階段。一些互聯網公司爲了拓展其雲服務,聯合地方政府運動式地大搞企業上雲,在傳統設備的PLC 上加一個網關,將數據傳送到雲端。企業內部建一個價格不菲的顯示牆。這些項目基本上流於表面的面子工程,對製造業的效率的提升十分有限。最多起到某些啓蒙作用。大多數企業對此興趣不大。數字化沒有成爲行業的自覺。

工業企業真正需要的是“硬核”工業軟件。比如生產過程控制,機牀控制器,機器人運動控制,傳感器中的嵌入式軟件,設備監控檢測等等。這些纔是我們難啃的骨頭,需要補短板的地方。

傳統制造企業轉型數字化需要經營理念產生轉變。許多的傳統企業老總停留在物理產品的思維模式階段。他們對產品的物理形態更感興趣,比如外觀,機械結構,模具及製造技術,材料成本和製造成本等等因素考慮的比較多。而對其中的軟件,IT技術被認爲是簡單的事情,往往是產品研發的後期才介入,而最直接的反映就是請大學或者其它公司外包開發。這樣造成了工業軟件的不成熟,不可靠。產品研發成功後又沒有不斷地改善和迭代。軟件技術的邊緣化現象在這樣的企業十分明顯。

在優秀的數字化製造企業中,從產品的構思,研發,模擬,到實現生產規劃和生產實施,工業信息技術和工業軟件始終都被看做是主導因素。軟件研發要先於產品的研發過程。通過仿真技術驗證產品的設計方案,這樣做研發的成本更低,成功的可能性更高。同時建立企業內部的軟件研發部門或者尋找長期的合作伙伴也十分重要。委託研發,或者簡單的外包,不利於產品的持續優化。而長期的合作伙伴會對企業的產品特性,客戶需求更加熟悉。也能在相關領域不斷地提升技術水平。

作爲政府的研究機構和大學應該重視通用的基礎軟件的研發,大多數研究成果應該開源,免費;惠及大多數企業。目前的狀況是政府資助的研究課題完成後,研究機構依然通過技術轉讓向企業收取高昂的成果轉讓費。使大多數中小型企業望而卻步。研究成果不夠公開,也造成了工業界無法對研究成果進行評估。科研成果造假和質量低劣的事件也時有發生。政府應該成立更多的非盈利性研究機構,對通用的基礎軟件,國際標準的技術棧進行開發。協助國內企業實現數字化轉型。

模型,架構與標準

如今的手機,平板電腦的使用越來越方便,一個5歲的兒童就能夠操控手機。但是與之相反的是產品本身卻越來越複雜。與此同時,還導致了產品的開發和製造過程的複雜性也無限地複雜。對於製造設備和自動控制系統而言,產品和系統的複雜性更是如此。開發高端製造設備涉及到了機械,軟件,材料學,加工工藝等多學科協作纔可能完成。產品的可靠性和精度更需要長期地驗證和磨合。

   歐洲國家的工程學在這方面居於領先地位,沒有一個地方能像中歐這樣將嵌入式軟件和各種不同的產品結合的如此完美。在不同領域處於世界領先地位的隱形冠軍出奇的多。他們比其它任何人更好地將軟件和機電機構結合起來。這些優勢是幾十年來中歐企業實踐起來的能力,方法和過程之上的。值得我們學習和借鑑。

   中歐企業將長期積累的傳統產品研發的經驗應用到軟件開發過程中。他們擅長對部件,系統和研發過程建立各種形式化模型。在模型之下建立系統架構。在定義嚴謹的架構之下,便於採取傳統產品開發中採取的模塊化技術。在政府,行業協會的推動和大企業引領之下,迅速地將各種模型,架構形成國際標準。促進了衆多的專業化企業,研究機構和大學相互協作研發,形成區域的國際競爭能力。

所謂建模,就是採用一種形式化的精確語言來描述系統。高複雜度系統涉及大量學科,需要不同學科部門和人員協同設計,不同人員需要進行跨學科溝通,不同學科的產出物也需要溝通。工程師在文檔中會使用圖形進行輔助溝通,但每個人繪圖習慣不同,很難理解其他人繪製的圖形,而且容易產生歧義。另外,大都採用表格的方式描述不同組成部分的接口,基於表格進行輸入輸出的溝通,非常混亂,不易交流和修改。建模語言(比如sysML 語言)通過採用統一、完善的模型圖與元素類型,使不同專業的人員都可以輕鬆讀懂各專業模型圖提高了溝通效率。建模語言可以建立完善的接口和數據交互關係,使各個逐漸的輸入輸出的關聯起來。同時,建模語言也適合不同廠商產品的協同操作,產品生命週期管理和各種數字化仿真,孿生技術的採納。

在很長一段時間內,我國企業扮演的技術追隨者的角色。技術標準也大多數是在國際標準的基礎之上略加修改而成的。標準的發佈滯後於產品的研發許多年。企業研發工程師對國際標準的研究並不那麼重視。而西方國家往往是由技術專家小組先研究編寫出領引行業發展的技術標準。然後由工業界和研究機構開發符合標準的產品。這個過程比較長,當技術標準成熟之際,相關的產品也相繼進入市場。專利和技術壁壘已經建立,追隨者超越就非常困難。

歐洲企業在開發工業軟件廣泛採用來各種系統建模技術,不僅對部件和系統建立的模型,同時對產品的生命週期管理,研發過程,及其各種技術文檔都實施了建模,規範和標準化。比如西門子公司近年來收購了著名的CAD 軟件公司UG,並且開發的產品生命週期管理軟件PLM,開發了JT3D 三維可視化格式。在軟件設計過程中廣泛採納XML,SysML 語言。從中我們可以看出歐洲企業邁向數字化的堅實步伐。這是我們值得學習和借鑑的。

在標準指引下建立模型,在模型下設計軟件

如同遵守任何一種規則一樣,遵循標準和模型意味着我們將失去一部分自由,獲得秩序。而控制軟件對實時性,準確性和安全性具有很高的要求。在模型下編程能夠實現軟件行爲精準性。比如PLC 控制器已經具有了幾十年的歷史,但是它的操作方式依然沒有改變。內部的梯形圖程序週期性地從左到右,從上到下地執行一遍。執行週期嚴格地限制在規定的時間之內(比如100ms),在一個週期內輸入輸出更新一次。梯形圖的操作符好也是十分有限的。IEC61131 標準對此定義可嚴格的概念,規範和模型。擴展功能也十分謹慎。在IEC61131-3 中對於後來發展起來的功能塊,結構化文本編程也進行和規範和建立模型。PLC 廠商確保其硬件設備符合標準提出的要求,並且保證軟件的確定性和安全性。其它軟件開發工具和軟件PLC 也同樣地努力達到標準的要求。控制工程師使用PLC 非常地安心。因爲在PLC 上能夠準確,可靠地運行他們的控制算法。

標準化和模型化程序設計的另一個優點是體現在教育和技能訓練上,幾乎所有的自動控制專業學生都會學習PLC 編程技術,並且進行嚴謹的控制工程學訓練。他們在學校裏就接受了控制工程師文化。

儘管軟件技術飛速發展,各種新技術層出不窮。但是控制領域似乎並不歡迎淫技奇巧。它始終將精確性,安全性和使用方式放在首位。許多將IT 新技術導入工業軟件的嘗試都失敗了。要對自動控制行業又敬畏之心。以他們的方式導入新技術比較容易成功。

軟件組件化

軟件組件化是通用的軟件設計技術。其核心是爲了軟件重用(reuse)。方法是分離,將單一的軟件功能分離成爲一個獨立的模塊。比如PID 算法,FFT 變換,各種數字濾波算法等將他們從應用程序中分離出來。軟件組件化的關鍵是標準化。IT 領域的微服務,單一責任原則等概念都是爲了實現軟件組件化。在工業控制領域,軟件組件化被廣泛採納。只是他們在實現軟件組件化過程中,更加強調了精確性,標準化和模型化的原則。PLC 中的功能塊是典型的軟件組件。在功能塊中實現了PID 算法,運動控制等各種算法。不過在自動控制行業,對功能塊進行更加精確的規範,包括他們的輸入輸出,狀態演變圖,內部算法的執行行爲都具有嚴格的規定。設計精良的功能塊甚至實現了與硬件運行平臺無關。也就是這樣的功能塊能夠在任何一個PLC 上以確定的方式運行。結合組態化編程技術,功能塊的使用就像使用一個大規模集成電路一樣。通過組態圖中的放置和連線來使用。就像大規模集成電路的數據表一樣。每個功能塊都具有比傳統軟件文檔更加詳細的描述。

如果軟件組件的性能是確定的,並且與硬件無關,那將使用起來十分方便和安心。

可以設想,未來的任何一個智能的機電部件(比如傳感器和小型執行部件)都會有一個對應的功能塊供控制工程師使用,控制程序的編寫就完全和現場接線那麼簡單和直接。

無代碼化解決方案

最近網絡上出現了一篇文章引發了爭議,題目是《軟件喫軟件》,文章中作者提出:軟件庫的發展速度超過了我們的使用速度,甚至軟件可以自己生成新的軟件,這也是爲什麼你看到如此之多的“無代碼”或“低代碼”解決方案突然出現的原因。現在,自己編寫代碼的理由越來越少,你要做的只是將不同的產品集成在一起。他得出的結論是軟件自動化技術的發展,可能將會減少對軟件工程師的需求,未來的程序員可能會比現在少。不過我認爲這與程序員的努力是分不開的。至少在很長一段時間內,依然需要大量專業程序員做出艱辛的努力。而這樣的努力使得其它人實現少代碼化,無代碼化解決方案。

其實,無代碼化解決方案一直是控制工程師理想的目標。他們擅長像現場連線那樣地實現控制。這也是PLC 經久不衰的主要原因。在SCADA系統中的組態軟件,控制塊軟件都迎合了這樣的需求。

在自動控制領域,也許少代碼化都不受待見,我們嘗試讓控制工程師編寫極少量的代碼都失敗了。他們習慣於無代碼化。這是這個行業的現狀,我們無力改變。

小結

作爲漫談,寫作時思維會相對發散。但也不是漫無邊際的泛泛而談。本篇希望通過不同的視角來看待在未來工業4.0發展過程中的工業軟件。它們爲什麼至關重要?它們如何以不同與通用軟件的方式進行研發和使用。以及政府和研究機構在工業軟件研發中應該扮演的角色。 

 同時我們也論述了建模和標準化對工業軟件的重要性。在後續的文章中,我將以IEC61499 標準爲重點,介紹分佈式工業測量和控制系統中的功能塊。你會更加理解本篇所講的內容的深刻含義。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章