軟件致勝——如何完美開發(fā)機器?
工業(yè)自動化軟件其實涵蓋了多個方面,首先,最為重要的當然是用戶所用的行業(yè)應用軟件,第二個方面是開發(fā)平臺,第三則是軟件的標準化問題。
工業(yè)自動化軟件的價值體系
工業(yè)自動化軟件其實涵蓋了多個方面,因此也需要從多個角度闡述其重要性,首先,最為重要的當然是用戶所用的行業(yè)應用軟件,應用軟件是對其Know-How的封裝,包括專業(yè)庫如張力控制、CNC和機器人,以及行業(yè)的如印刷套色、紡織勻整、焊接庫等具體的行業(yè)工藝,這樣的集成有利于客戶快速開發(fā)應用,形成機器與系統(tǒng)的快速運行;第二個方面是開發(fā)平臺,開放平臺需要具有開放性、集成性,而對用戶開發(fā)而言就是要有友好性(User-friendly)。而開發(fā)平臺包括了基礎的RTOS、runtime、解釋與編譯系統(tǒng)、HMI、邏輯、運動控制、CNC和機器人庫等軟件構成。第三個是軟件的標準化問題,包括PLCopenIEC61131-3集成、OPCUA、IEC61784的安全等標準通信的集成、C/C++的集成,F(xiàn)DA/Gamp認證的集成等。
開發(fā)平臺是工業(yè)應用軟件開發(fā)的關鍵,市場希望自動化廠商能夠有豐富的已封裝的專業(yè)庫可用,如圖1所示,工業(yè)自動化軟件的價值體系主要可以概括為幾個方面:
(1)平臺集成能力——就像貝加萊的AutomationStudio,所有在一個環(huán)境中完成,包括HMI的畫面、PLC邏輯、運動控制(定位同步控制、CNC&機器人)、安全、網(wǎng)絡配置,這個是從對象角度看,另一個就是從配置、仿真、開發(fā)、調(diào)試、維護的生命周期全流程看,都可以在AutomationStudio中完成。集成平臺降低開發(fā)成本、學習成本,提高開發(fā)效率。
(2)行業(yè)軟件集成:針對不同的行業(yè)Know-How封裝有可用的模塊,這是機器與系統(tǒng)開發(fā)客戶最看重的。
(3)開放的軟件接口:如與MATLAB/Simulink、MapSim等仿真軟件的接口集成,與EPLAN、AutoCAD、Pro-e等軟件的接口能力,與云平臺等通過OPCUA、MQTT/AMQP等集成的能力。
(4)標準化的支持能力:通信、編程、安全(信息安全與功能安全)的各項標準支撐,包括在不同行業(yè)里如制藥的FDA/Gamp認證,印刷里的PDF,包裝里的OMAC/PackML,塑料里的Euromap等。
軟件很重要,但它很復雜
對于機器的開發(fā)者而言,我們總是需要面對“快”與“準”的矛盾,就像旋蓋一樣,既要精確的力矩輸出以確保旋蓋的質(zhì)量可靠,又不能速度慢,機器控制如此,機器的開發(fā)過程亦是如此,我們要高速的響應市場的變化,而工藝以及那些具有附加值的創(chuàng)新設計卻需要時間積累。
而“快”與“穩(wěn)”這樣類似的矛盾卻到處可見,正如同魚與熊掌一樣,二者通常難以兼得。
相較于制造業(yè),IT軟件開發(fā)的復雜性更高,也使得其對軟件工程的研究最為深刻,許多軟件開發(fā)項目所遭遇的情形正如Brooks在其著作《人月神話》中所形容的:“正像一只逃亡的野獸落到泥潭中做垂死掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑碾y”,程序設計工作正像一個泥潭……這一問題被形容為“軟件危機”,具體表現(xiàn)包括開發(fā)進度難以預測、開發(fā)成本難以控制、用戶對產(chǎn)品功能難以滿意、產(chǎn)品質(zhì)量難以保證、軟件難以維護等。
對于軟件的重要性,目前在業(yè)界已經(jīng)是共識,它是Know-How的封裝容器用于保護知識產(chǎn)權,軟件也賦予了機器智能,根據(jù)變化來進行生產(chǎn)的適應與調(diào)整,然而,這也使得復雜性得以大幅度提高,傳統(tǒng)的自動化行業(yè)順序邏輯控制一個工程師可以控制,而今天,機器變得復雜,運動控制、安全、網(wǎng)絡、IT連接、算法使得機器軟件的開發(fā)變得更為復雜,如圖2所示。
IEEE的軟件工程知識體系對于軟件項目管理所面臨的特殊困難進行了總結,具體如下:
①客戶經(jīng)常不知道需要什么或者哪些是可行的;
②客戶經(jīng)常缺少對于軟件工程所固有的復雜性的認識,特別是需求變更的影響;
③對于問題理解的不斷加深以及情況的變化經(jīng)常會產(chǎn)生新的軟件需求或需求的變化;
④由于需求變化,軟件經(jīng)常是以一種迭代化序列化的過程構建的;
⑤軟件工程必須將創(chuàng)造性和規(guī)范性兩個方面相結合,在兩者之間維持平衡常常很困難;
⑥軟件開發(fā)的創(chuàng)新性和復雜性經(jīng)常很高;
⑦軟件開發(fā)的基礎技術變化非???。
隨著機器變得復雜,自動化行業(yè)的軟件也復雜,如何又“快速”又能“高品質(zhì)”的開發(fā)機器軟件成為了“魚與熊掌”一樣的問題。
機器開發(fā)效率提升方法
自動化不同于商業(yè)軟件如辦公軟件、管理軟件那么龐大,但在產(chǎn)業(yè)邁向智能的時代,其復雜性也大幅度提升,因此,重視軟件工程也成為了必然。針對機器開發(fā)而言,通常其開發(fā)效率提升方法有以下幾種。
1.軟件復用與組件技術
軟件復用指為了復用目的而開發(fā)軟件的過程,即,對共性的軟件模塊進行標準化封裝,以獲得重復利用,軟件復用主要為了解決兩個主要的問題:①軟件生產(chǎn)效率問題:在軟件無需從零開始的情況下,它可以大幅度縮短開發(fā)周期,②軟件質(zhì)量問題:由于被復用的軟件往往已經(jīng)經(jīng)過了反復的應用測試,較之新的模塊而言,其出錯的概率將大幅度降低。
《人月神話》的作者曾經(jīng)認為軟件開發(fā)沒有“銀彈”——一種寓意為解決問題的徹底性方法,而隨著軟件工程的發(fā)展,他也意識到“軟件復用”是解決軟件問題的“銀彈”。
貝加萊的mapp的設計思想基于PLCopen標準庫設計,采用標準化的設計在于降低成本,如同機械組件一樣,標準化的配件制造成熟并可批量使用,因此,可以降低其使用成本,只需一次投入即可長期使用,但是,設備的開發(fā)同時也要實現(xiàn)個性化,解決這一問題的方法即是模塊化,通過對模塊根據(jù)機器進行共性劃分,然后使得每個獨立的模塊被標準化,進而達到成本降低與機器的靈活性之間的平衡。圖3反映了mapp的幾個大的框架功能劃分。
如圖4所示,基于mapp來開發(fā)注塑機,各種模塊的組合構成了不同機器的應用集成,例如:針對油壓、帶伺服泵、全電動注塑機等各種類型的機器,其共性的包括了配方、OEE、用戶管理、報警等,行業(yè)工藝模塊如注射循環(huán)、熔膠、鎖模等也被封裝為標準可服用功能塊,針對單軸、多軸來實現(xiàn)全電動注塑機的開發(fā),機器人集成可以實現(xiàn)產(chǎn)線級的配合,通過能源監(jiān)測、OEE可以實現(xiàn)產(chǎn)線的生產(chǎn)運營管理。
mapp的思想解決“魚與熊掌”兼得的問題:通過標準的軟件封裝解決快速開發(fā)問題,通過基于復用思想開發(fā)的組件也同時解決了軟件的穩(wěn)定可靠問題。
2.集成開發(fā)平臺
當然,像mapp這樣的機器開發(fā)思想,必須基于AutomationStudio這樣的集成開發(fā)平臺來實現(xiàn),集成開發(fā)平臺也是一個解決軟件開發(fā)效率的設計,它解決的問題在于:
--減少在多個開發(fā)工具之間的切換;
--通過工具的集成,節(jié)省開發(fā)周期;
--提供軟件封裝的基礎能力;
--減少培訓與教育的成本;
貝加萊的AutomationStudio即是一個典型的集成開發(fā)平臺,如圖5所示,它包含了兩個維度的集成:
第一面向所有對象,PLC/PC/運動控制(CNC,機器人與液壓),網(wǎng)絡配置,功能安全進行集成,第二個是它從軟件的配置,選型(ServoSoft)、仿真接口(Matlab/Simulink,MapSim)、開發(fā)(IEC61131-3,C,C++)、調(diào)試(軸測試,機械共振分析等)、維護(分布式程序下載,F(xiàn)TPServer,VNCServer,WebServer)全部集成在一個開發(fā)環(huán)境里。
此外,在智能時代,集成開發(fā)平臺不僅提供編程環(huán)境,也包括了以下一些與產(chǎn)線、智能相關的功能集成,如圖6所示:
--機電一體化:不僅包括定位同步控制,也包括機器人、SuperTrak智能輸送系統(tǒng)的集成;
--IIoT集成:對OPCUA/MQTT/REST等集成的支持能力;
--工廠集成:提供OEE、能源、維護等的數(shù)據(jù)訪問與功能集成;
集成開發(fā)平臺就是讓高速開發(fā)與穩(wěn)定可靠的項目得以平衡。
3.仿真建模
降低物理材料消耗,獲得無法現(xiàn)實獲得的場景,縮短開發(fā)周期與時間,這是普遍在歐洲使用的設備開發(fā)方法,通過MATLAB/Simulink、MapSim等仿真及自動代碼生成功能生成的代碼可以直接被導入運行于PLC上,對于復雜的工藝仿真而言,建模仿真對于提高開發(fā)效率降低成本作用巨大。
例如:如何吊裝得更快又更穩(wěn)?集裝箱吊裝因為鐘擺效應而無法快速定位,因此,如何讓集裝箱快速定位就是“防搖系統(tǒng)”所需要完成的任務,通過在MATLAB/Simulink中對該系統(tǒng)進行建模,然后生成代碼并下載到X20PLC,通過PLC對牽引變頻器的速度/位置控制進而實現(xiàn)對搖擺的抑制,如圖7所示。
圖8所示是基于貝加萊AutomationStudio與MATLAB/Simulink的防搖系統(tǒng)開發(fā)過程,通過電子防搖系統(tǒng)開發(fā),替代傳統(tǒng)機械、液壓等防搖系統(tǒng)的磨損,難以維護等缺點,并且在效率方面也能達到20%的提升。對于那些超過10000個標準箱的貨船而言,每個吊裝過程的時間節(jié)省意味著整個碼頭的吞吐能力,也意味著進出口額的增加。
借助于AutomationStudio平臺、仿真建模技術、mapp可以讓機器制造商更快的設計機器,并且針對工廠客戶的需求提供面向大數(shù)據(jù)分析、工業(yè)物聯(lián)網(wǎng)時代的應用接口,讓機器制造商更快地響應市場的需求,贏得先機。