丁研 | 自動化的演化路徑
自動化是上世紀六七十年代開始推廣,并持續發展至今的技術與產業體系。在實踐過程中,業界的參與者也在不斷的對自動化的特點進行總結,并從不同視角出發,給出各自的解讀。在最終用戶層面,自動化是一套可以使機器與生產系統自行運轉、且可以人為干預執行過程的生產工具;在工程師眼中,自動化是一類可感知物理環境變化,并完成決策與任務執行的嵌入式系統,以及一套開發嵌入式程序的開發工具;在智能制造體系中,自動化是工業物聯網、數字孿生、兩化融合的基礎支撐技術,同時也是德國工業4.0頂層設計體系的重要組成部分。
雖然在特征、應用場景等方面已經達成了廣泛的共識,但至今為止,業界依然無法對自動化的功能范圍和技術構成,給出明確的界定。造成這一現象的原因,并不在于這項技術中有多么高深的理論,而是因為自動化技術本身,便是一套不斷在演化的體系。
從功能角度講,如今的自動化已經由執行簡單重復任務的控制終端,演變為網絡化、智能化的數字系統,而柔性產線、協作機器人、增材制造、過程優化等系統的出現,則成為先進自動化技術的典型代表。同時,自動化技術的使用范圍,早也不局限于工廠內的生產環節,在能源(發電、配電、開采)、交通(軌道信號系統)、物流(物流自動化、港口裝備)、建筑(工程機械、樓宇自動化)、醫療(醫療設備)等領域廣泛應用,甚至餐飲的廚房自動化、服務機器人等也有了新的陣地。
從技術角度看,自動化也始終不斷在融入新的技術。在感知層面,自動化系統的能力已由傳感器、儀器儀表的集成,擴展到對機器視覺、3D激光成像、標識(二維碼/RFID)等新型感知終端的整合;在網絡層面,自動化的通訊功能也由早期的現場總線、工業以太網、工業無線,延伸到了如今的工業互聯網(TCP/HTTP/TSN/5G);在軟件層面,自動化則從控制程序的載體,演化為具備邊緣計算、數字孿生等能力的現代軟件系統。新技術的發展為自動化的進步創造了外部條件,而市場需求的變化,以及來自工程應用的反饋,則是促使自動化不斷迭代升級的原動力。可以說,“自動化是一項因用而生的技術”。
本文將重點從“用”的角度出發,闡述自動化(軟件工程)技術與產業的發展歷程。
在上世紀50,60年代,為了實現汽車的大規模生產,汽車廠商開始在流水線上引入控制系統。但與那個年代的收音機、計算器類似,控制系統的功能主要是靠電子電路來實現的。
電路工程師是電子電路的主要設計與開發者,而他們的日常工作主要是:
·在設計階段,根據功能需求,畫出相應的電路圖紙;在圖紙中,會包括各個型號的電路元件,以及它們的布局與連線關系;
·在開發階段,工程師負責根據圖紙,將一個個元器件安裝到電路板上,并把它們連接在一起;經過上述流程,便形成了一個叫“控制邏輯”的功能單元;
·在驗證階段,工程師需要通過電表的讀數,對各個電路模塊的輸入輸出進行逐一測試,從而確保功能與需求的一致性;
·當出現問題時,就需要對電路進行重新設計與開發,并重復上述的步驟;
從如今的技術發展水平去看,控制電路開發模式的缺點是十分明顯的,一旦元器件布局被固化,功能便無法再進行修改。這就好像是在用毛筆字寫長篇小說,不但費力,而且一旦出錯,就不得不換張紙重新寫。
控制電路不但開發效率低下,而且也會隨著功能的增加而變得異常復雜。這不但造成了工程師痛苦指數的上升,而且也使眾多工業企業在高昂的開發成本面前,望而卻步;正因為此,那個年代對控制系統的使用,主要還是局限在大型工業企業(如通用、波音、美孚)的有限生產環節。
為了使控制系統讓更多人“用得起”,以“軟件定義”為主導思想的可編程控制器(Programmable Logic Controller)也隨之產生,而“軟硬分離”則是達成這一目標非常重要的一步:
·在軟件層面,工程師可通過自動化廠商提供的開發環境,完成控制程序的開發與測試;當程序出現錯誤時,用戶只需將更新后的程序重新下載到硬件上,便可輕易地實現軟件功能的更改。同時,為了方便與其它軟件(如人機界面、MES)的集成,控制程序還提供了通訊的接口,并用于過程數據的分發與控制指令的接收;而且,當需要集成更加豐富的軟件功能時,還可以在控制器上安裝嵌入式操作系統(又稱實時操作系統)。
可編程控制器的推廣,使當時的工業發展產生了巨大的改變:
·通過“軟硬分離”,可編程控制器成功取代了傳統控制系統的開發、驗證與修改流程,并大幅提升了工程師的開發效率;
·全新的開發流程,進一步細化了控制系統開發的分工體系,并誕生出專注于硬件、軟件與工具、以及生產工藝等細分工作的工程師種類;
·開發模式與分工體系的改變,同時也孕育了自動化這一產業;而在此過程中崛起的企業(如西門子、通用、霍尼韋爾、三菱等),也在通過對技術的不斷改良,使產業不斷的走向成熟;
·自動化產業在發展過程中,培養了大批的工程師,而這些工程師又將自動化帶到了工業最終用戶的各個生產環節,并最終實現了社會整體生產效率的提升。
自動化系統的開發,實際上是工程師將“設想”提供給機器,而后由機器進行“理解”,并按照人的意圖執行的過程。由于涉及到人與機器的交流,因此也將工程師編寫的代碼(或模型)稱為編程(或建模)語言。
編程(建模)語言不但要考慮到“機器是否能讀懂”這一技術問題,更重要的是照顧到人,這一“設想”提供者,的語言表達習慣。因此,自可編程控制器出現以來,它的編程方式便一直在參照人類的語言表達習慣。
在設計自動化編程語言之初,研究者發現,人類語言體系中存在著截然不同的兩種表達方式,它們分別是通用型語言和領域型語言:
·通用型語言(General Purpose)是人類日常生活中最頻繁使用的表達方式,這一類語言主要由一套語法規則,以及一系列詞匯、語句、段落所構成;而語言的使用者,通常也是采用從左到右,從上到下的順序,表述頭腦中的概念;
·通用語言雖然適用面廣泛,但在數學、物理、化學、工程學等特定領域的運用中,卻暴露出較大的局限性;由于需要闡述更系統化、精確化、抽象化的概念,因此人類便發明了一系列的符號與圖形,用于表述某一專用領域的概念與知識,而這種表達方式則被稱為領域型語言(Domain Specific)。
與人類語言類似,計算機編程語言也存在通用型(General purpose)和領域型(Domain specific)兩類語言體系;這其中,通用編程語言是目前IT行業,最為普及的編程手段(如C/C++、JAVA、Python);然而,在面對某些特定領域時,通用型編程語言同樣也面臨著“表達效率”方面的瓶頸;這時,領域型編程語言(又稱建模語言)的特殊作用也就隨之顯現。
以第一代PLC中推出的梯形圖(Ladder logic diagram)圖形建模語言為例,由于沿襲了早期的控制電路設計方式(電路畫線、元器件符號),因此PLC一經推出,便受到了廣大控制系統工程師群體的好評。
隨后,以歐系廠商為主的自動化廠商,又在梯形圖的基礎上,推出了功能塊(Function block diagram)及順序功能圖(Sequential function chart)兩種圖形化建模語言;功能塊建模方式為自動化系統引入了模塊化、封裝、復用等現代化的軟件開發理念,而順序功能圖,則幫助工程師,將復雜的工序,分解為一步步相對簡單的任務單元,從而極大的降低了復雜工藝的開發難度。
由于提供了一系列貼近專業知識結構的開發方式,自動化產業吸引了大批懂工藝、懂機械、懂電氣的技術人才。與此同時,當某項技術的受眾達到一定規模時,涉及到一致性、工程規范、教育等一系列因素的標準化工作,也開始顯現出重要的作用;IEC 61131自動化編程規范,便是在這一時期由國際電工委員會IEC組織牽頭制定,并由PLCOpen組織自發地負責后續的標準推廣工作。
設備數量更多、通訊距離更遠、傳輸質量更好,是網絡技術發展的主線邏輯。以IT網絡為例,當只有兩臺面對面擺放的機器時(電腦或打印機),一根網線便可建立彼此的通訊;當需要連接幾臺設備時,一臺集線器就可以實現主機間的聯通;而到了企業網這一規模后,一套由路由器和網管系統所組成的網絡系統,則成為了標配。
與IT網絡相似,工控系統的網絡發展同樣遵循這一規律,不過構成這一網絡的主體, 則由PC機、服務器,變為了控制器、感知終端、工控機、觸摸屏等設備。
在自動化發展早期,PLC主要用于單臺設備的簡單控制,因此所采用的通訊方式也相對簡單:
·PLC主要采用(控制器/IO模塊)一體化的硬件架構,而控制器與現場設備的通訊功能,也主要是靠物理接線的方式實現;在系統運行時,傳感器會將物理信號(電壓/電流)傳輸給PLC的IO模塊,隨后IO模塊會將電信號轉換為CPU識別的數字信號,并交給控制程序進行處理;控制程序完成計算后,會將控制指令發送給IO,再由IO負責把數字指令轉換為物理信號,反饋給現場的設備;
·PLC與人機界面(顯示屏)的通訊主要采用串口,人機界面通過串口,周期的向PLC發送數據請求;在接收到請求后,PLC會將現場的過程數據返回給人機界面進行顯示(人機界面向PLC發送控制指令,也是類似的道理);同時,串口還可作為PLC編程環境的程序下載通道,當開發環境發出下載指令時,PLC的管理程序會負責接收編譯好的PLC程序文件。
·串口除了可以與軟件進行通訊外,還可以作為與儀器儀表、RTU等設備進行通訊的媒介,不過此種方式無論在性能與可靠性上,都無法跟工業總線相提并論,因此適用場景也十分的有限(例如路燈、樓宇的控制)。
圖8 基于工業總線/以太網的網絡架構
隨著應用場景的增多,控制器與現場設備的通訊需求也發生了改變,因此自動化廠商開始引入基于數字化網絡的通訊技術。
在現場設備通訊方面,由于受限于早期的(控制器/IO)一體化架構,控制系統在與數量更多,距離更遠的設備進行通訊時,開始暴露出明顯的瓶頸。因此,各自動化廠商紛紛推出了自己的現場總線/工業以太網技術:
·在網絡結構方面,現場總線/工業以太網將控制系統,分解為由主站控制器及從站IO所組成的分布式架構;當需要增加設備/傳感器的數量時,控制系統可通過在網絡中增加IO模塊的方式,實現系統的“擴容”;同時,由于采用了數字化網絡技術,也使通訊距離、布線方式等方面得到極大的改善;
·在通訊質量方面,網絡的各項指標并未因為控制器/IO模塊的分離而被打折扣;在確定性方面,控制網絡通過調度策略、時鐘同步等機制的引入,確保網絡報文準時、快速的到達;在可靠性方面,控制網絡則通過冗余、防電磁干擾等方式,確保通訊處于長期可用的狀態。
在IT網絡通訊方面,由于需要與生產管理軟件、第三方控制系統以及工業研發軟件進行網絡協同,因此控制器也引入了以太網通訊方面的技術。
硬件層面的問題解決后,還需要解決軟件層面的開發問題。為了避免工程人員在項目交付階段,陷入到具體瑣碎的編碼環節,自動化廠商將網絡通訊,抽象為軟件開發環境中模型,從而使工程人員通過簡單的參數化/圖形化配置,快速的搭建出一組控制系統的通訊功能。
工業研發類軟件為使用者提供一套虛擬化的環境,用于對產品和生產工藝的特性與機理進行設計/分析/仿真/驗證,由于減少了在實體樣機上的投入,因此使企業的研發效率得到顯著提升。
當在控制程序開發流程中引入CAE/CAM時,自動化系統的開發/驗證效率也會得到顯著提升。
在工藝設計階段,設計部門的工程師可通過軟件,對裝備與產線模型的外觀、布局、物理特性進行直觀的設計;配置完成后,使用者可激活軟件的仿真功能,并使程序中的模型“運轉”起來;在仿真的過程中,用戶可透過裝備的運行情況,對現場的運行效果進行直觀的了解。
而在工藝驗證階段,工程師可將開發完成的自動化程序,與仿真軟件中的“虛擬”設備進行結合(由仿真設備為自動化軟件提供數據),并通過對虛擬生產系統的調試(又稱虛擬調試),預先驗證控制工藝的可行性。
部分CAE/CAM軟件會自帶工藝與算法的開發功能,例如機床設計軟件中,用于描述刀具運行軌跡的G-Code,還有科學計算軟件中,用于熱力學、空氣動力學求解的機理模型;當在CAE/CAM完成開發后,這些模型可被導入到自動化系統,并與現場的實際設備、工藝結合使用。
與此同時,制造執行系統(MES)的使用,使生產過程中的資源組織、調度與管理水平得到了顯著提升;而作為生產資源重要組成部分的裝備與產線,自然也被納入到生產管理的業務范疇。隨著生產管理功能的不斷完善,MES與自動化系統間的協同關系也變得更為緊密。
這意味著,工業現場的設備故障信息可與設備管理系統、人力管理系統進行組合,形成設備維修與保養的工作流程;而設備能力信息可為排產系統提供信息,而排產系統產生的工作計劃,也會被同步到給自動化系統,并轉化為具體的設備執行指令。
自動化進一步放開手腳,在倉儲自動化系統的產品庫存信息,可幫助庫存管理系統,判斷物料是否需要補充;在質檢過程中產生的質量信息,自動化設備可為質量管理系統的質量報告,提供數據基礎;而能耗信息的采集,可幫助能源管理系統提供數據支持。
這意味著自動化與軟件系統,已經緊密地結合在一起。
說到數字孿生,目前尚未產生一套統一的定義,但從應用的角度講,可以將數字孿生理解為,一種虛實映射的方法,一門編排數字空間的語言,以及一項融合多專業工程與應用的技術手段。
虛實映射是將(包括人的知識在內的)物理世界的事物,映射到虛擬空間,并進行分析決策,而后反饋回物理世界的過程。事實上,早在計算機出現之前,“虛擬空間”的應用便已經存在。以軍事沙盤為例,指揮官會將士兵、裝備、地圖等實體模型布置在沙盤上,用于展示軍力的部署情況;同時,沙盤上也會擺放各種形狀的紙片模型,用于代表參謀們的分析過程,以及軍官下達指令。
在以上的示例中,無論是實體模型(士兵、裝備等),還是邏輯模型(紙片),都可以被平等地布置在相同的“虛擬空間”中,并實現相互的融合。
隨著計算機技術的普及,“數字化虛擬空間”開始逐步發展成型,而模型這一作為虛實映射的工具,也變身成為數字世界中的數字化模型(即數字孿生);當把數字模型“擺放”到計算機這一信息空間更大、計算能力更強、網絡化程度更高的“數字化沙盤”上時,物理信息系統這一虛實融合的“數字虛擬空間”也就隨之產生。
雖然被遷移到了數字空間,但模型的基本用法并未發生本質改變。
模型的第一類用法被稱為仿真(或模擬),即通過現有的狀態,推演出下一階段即將發生的事情;因此,無論是在沙盤上的戰況推演,或是工業研發軟件中,對裝備行為的模擬,都屬于仿真的范疇。
模型的第二類用法被稱為控制,即根據現場的情況做出分析,并將決策反饋給執行單位的過程;因此,可以將指揮官在沙盤上進行分析,并進行指令下達的過程,理解為一種控制;而自動化系統對裝備、產線、生產單位的工況感知,以及指令的下達,同樣也是一種控制。
模型的其它用法還包括管理(如進行資源的規劃與調配如生產管理系統)以及洞察等。同時,將上述幾類模型結合使用使用時,還可以構造出更復雜的應用場景。
模型不但是一種虛實映射的方法,而且由于背后所隱含的符號學含義,模型還被視為是一門語言。而當從語言的視角看待模型時,它便成為了一種編排虛擬空間的工具,以及作為溝通交流的媒介。
還是以沙盤為例,指揮官在會議上對各種不同含義模型(士兵,裝備,計劃)的擺放,實際上就是對沙盤這一“虛擬空間”的編排過程;而當沙盤被布置好,并就沙盤上的模型展開討論時,模型就成為了各方進行交流的中間媒介。
數字孿生是存在于"數字化虛擬空間"中的模型,因此我們可以將其理解為一門人與機器、機器與機器的交流語言。在工程設計階段,人會根據自己的設想,將模型編排到數字空間中;之后,計算機會接收工程師創建的工程,并在“理解”模型的含義后,開始完成一系列處理任務;而在計算機運行的過程,各軟件還會以數字模型的內容為基礎,“思考”下一步需完成的任務,并就各模塊間的協同展開“協商”。
隨著工業軟件的普及,“數字化虛擬空間”中產生了大量的數字模型;而當把各類模型組織在一起時,跨學科、跨領域的智能制造場景也就隨之產生。然而由于各類模型背后技術與標準的問題,也給系統的集成帶來了巨大的挑戰。
除了需求側的變化外,新產品與新技術的出現,也使智能制造概念的落地成為可能:
·工業研發類軟件(CAX/EDA)的普及,使產品設計、工藝設計的效率得到顯著提高;
·生產管理系統(MES)的引入開始幫助經營者對生產資源進行全局的分析、計劃與調度;
·諸如激光掃描成像、機器視覺、標識(如條形碼)等感知技術,開始在質檢、生產追溯等領域得以應用;
·計算機性能的提升,以及軟件設計思想的改進,也開始在工業中體現價值。
隨著技術與市場的外部環境已經發生變化,作為在生產系統中承上啟下的環節,自動化系統也在發生改變。
隨著工業互聯網的發展,融合新型感知與IT技術,與制度化有了更深的融合。在感知層面,自動化系統對諸多新型感知技術進行了集成。
這涉及到了標識技術: 通過集成條形碼/RFID等標識技術,對產品的類別、位置等信息進行感知;當此類技術與自動化結合時,則可實現倉儲自動化(根據產品位置,執行搬運或入庫任務)、柔性加工(根據產品型號,變換加工參數)、柔性運輸(根據產品型號,決定運輸路線)等場景。而在成像/圖像技術方面,可以利用機器視覺、激光成像等感知技術可用于檢測物體的形狀、尺寸、位置等物理特征;視覺系統在與自動化結合后,可實現殘次品篩查與過濾、機器人貨物分揀等功能;而激光成像技術與自動化的組合,則可實現形狀檢測(如用機器人掃描整車),車輛碰撞檢測(如叉車倒車制動)等功能。
在IT技術層面,自動化系統對新型計算機與網絡技術進行了集成。首先是計算技術,通過更強的算力,以及高級算法的引入,實現設備的工況診斷(如震動頻率、噪聲、轉速異常等);其次是網絡技術: 通過以太網,實現設備的橫向協同(如機械臂為機床上料,裝備故障導致運輸線停止),以及與IT系統的縱向整合(與MES,CAX軟件的集成)。
由于涉及到一系列新技術的集成,因此西方自動化廠商(歐系為主)也在本世紀初,開始對下一代自動化技術的預研工作;而我們目前在市場所見到的高端控制系統(如PC控制器、產線控制器、邊緣計算控制器),也都是那一時期所產出的研發成果。
無論是研發、生產或是運營,智能制造給企業帶來的想象空間都是巨大的。然后,當從規劃轉為落地階段時,企業會發現各種“碎片化”的技術/產品/標準,就像是彼此無法咬合的齒輪,很難被整合在一起。因此在智能制造發展初期,也出現了大量規劃“詩和遠方”,實施“眼前茍且”的項目。
雖然在特征、應用場景等方面已經達成了廣泛的共識,但至今為止,業界依然無法對自動化的功能范圍和技術構成,給出明確的界定。造成這一現象的原因,并不在于這項技術中有多么高深的理論,而是因為自動化技術本身,便是一套不斷在演化的體系。
從功能角度講,如今的自動化已經由執行簡單重復任務的控制終端,演變為網絡化、智能化的數字系統,而柔性產線、協作機器人、增材制造、過程優化等系統的出現,則成為先進自動化技術的典型代表。同時,自動化技術的使用范圍,早也不局限于工廠內的生產環節,在能源(發電、配電、開采)、交通(軌道信號系統)、物流(物流自動化、港口裝備)、建筑(工程機械、樓宇自動化)、醫療(醫療設備)等領域廣泛應用,甚至餐飲的廚房自動化、服務機器人等也有了新的陣地。
從技術角度看,自動化也始終不斷在融入新的技術。在感知層面,自動化系統的能力已由傳感器、儀器儀表的集成,擴展到對機器視覺、3D激光成像、標識(二維碼/RFID)等新型感知終端的整合;在網絡層面,自動化的通訊功能也由早期的現場總線、工業以太網、工業無線,延伸到了如今的工業互聯網(TCP/HTTP/TSN/5G);在軟件層面,自動化則從控制程序的載體,演化為具備邊緣計算、數字孿生等能力的現代軟件系統。新技術的發展為自動化的進步創造了外部條件,而市場需求的變化,以及來自工程應用的反饋,則是促使自動化不斷迭代升級的原動力。可以說,“自動化是一項因用而生的技術”。
本文將重點從“用”的角度出發,闡述自動化(軟件工程)技術與產業的發展歷程。
控制電路 - 控制系統的早期形態
圖1 控制電路的開發流程
在上世紀50,60年代,為了實現汽車的大規模生產,汽車廠商開始在流水線上引入控制系統。但與那個年代的收音機、計算器類似,控制系統的功能主要是靠電子電路來實現的。
電路工程師是電子電路的主要設計與開發者,而他們的日常工作主要是:
·在設計階段,根據功能需求,畫出相應的電路圖紙;在圖紙中,會包括各個型號的電路元件,以及它們的布局與連線關系;
·在開發階段,工程師負責根據圖紙,將一個個元器件安裝到電路板上,并把它們連接在一起;經過上述流程,便形成了一個叫“控制邏輯”的功能單元;
·在驗證階段,工程師需要通過電表的讀數,對各個電路模塊的輸入輸出進行逐一測試,從而確保功能與需求的一致性;
·當出現問題時,就需要對電路進行重新設計與開發,并重復上述的步驟;
從如今的技術發展水平去看,控制電路開發模式的缺點是十分明顯的,一旦元器件布局被固化,功能便無法再進行修改。這就好像是在用毛筆字寫長篇小說,不但費力,而且一旦出錯,就不得不換張紙重新寫。
可編程控制器 - 實現軟硬分離
控制電路不但開發效率低下,而且也會隨著功能的增加而變得異常復雜。這不但造成了工程師痛苦指數的上升,而且也使眾多工業企業在高昂的開發成本面前,望而卻步;正因為此,那個年代對控制系統的使用,主要還是局限在大型工業企業(如通用、波音、美孚)的有限生產環節。
為了使控制系統讓更多人“用得起”,以“軟件定義”為主導思想的可編程控制器(Programmable Logic Controller)也隨之產生,而“軟硬分離”則是達成這一目標非常重要的一步:
圖2 早期PLC的硬件架構
·在硬件層面,可編程控制器采用了與現代計算機相似的通用硬件架構,其構成主要由處理器、內存/存儲、通訊模塊、輸入輸出等硬件模塊構成。同時,為了適應工業現場的物理環境,控制器還在能耗、耐高(低)溫、防震、IO模塊(用于集成傳感器)等方面進行特殊的設計與定制;
圖3 PLC程序的開發流程
·在軟件層面,工程師可通過自動化廠商提供的開發環境,完成控制程序的開發與測試;當程序出現錯誤時,用戶只需將更新后的程序重新下載到硬件上,便可輕易地實現軟件功能的更改。同時,為了方便與其它軟件(如人機界面、MES)的集成,控制程序還提供了通訊的接口,并用于過程數據的分發與控制指令的接收;而且,當需要集成更加豐富的軟件功能時,還可以在控制器上安裝嵌入式操作系統(又稱實時操作系統)。
可編程控制器的推廣,使當時的工業發展產生了巨大的改變:
·通過“軟硬分離”,可編程控制器成功取代了傳統控制系統的開發、驗證與修改流程,并大幅提升了工程師的開發效率;
·全新的開發流程,進一步細化了控制系統開發的分工體系,并誕生出專注于硬件、軟件與工具、以及生產工藝等細分工作的工程師種類;
·開發模式與分工體系的改變,同時也孕育了自動化這一產業;而在此過程中崛起的企業(如西門子、通用、霍尼韋爾、三菱等),也在通過對技術的不斷改良,使產業不斷的走向成熟;
·自動化產業在發展過程中,培養了大批的工程師,而這些工程師又將自動化帶到了工業最終用戶的各個生產環節,并最終實現了社會整體生產效率的提升。
控制系統編程語言 - 面向工程的語言
圖4 控制程序開發者/開發環境/執行環境
自動化系統的開發,實際上是工程師將“設想”提供給機器,而后由機器進行“理解”,并按照人的意圖執行的過程。由于涉及到人與機器的交流,因此也將工程師編寫的代碼(或模型)稱為編程(或建模)語言。
編程(建模)語言不但要考慮到“機器是否能讀懂”這一技術問題,更重要的是照顧到人,這一“設想”提供者,的語言表達習慣。因此,自可編程控制器出現以來,它的編程方式便一直在參照人類的語言表達習慣。
圖5 通用型語言與領域型語言
在設計自動化編程語言之初,研究者發現,人類語言體系中存在著截然不同的兩種表達方式,它們分別是通用型語言和領域型語言:
·通用型語言(General Purpose)是人類日常生活中最頻繁使用的表達方式,這一類語言主要由一套語法規則,以及一系列詞匯、語句、段落所構成;而語言的使用者,通常也是采用從左到右,從上到下的順序,表述頭腦中的概念;
·通用語言雖然適用面廣泛,但在數學、物理、化學、工程學等特定領域的運用中,卻暴露出較大的局限性;由于需要闡述更系統化、精確化、抽象化的概念,因此人類便發明了一系列的符號與圖形,用于表述某一專用領域的概念與知識,而這種表達方式則被稱為領域型語言(Domain Specific)。
圖6 通用編程語言與領域建模語言
與人類語言類似,計算機編程語言也存在通用型(General purpose)和領域型(Domain specific)兩類語言體系;這其中,通用編程語言是目前IT行業,最為普及的編程手段(如C/C++、JAVA、Python);然而,在面對某些特定領域時,通用型編程語言同樣也面臨著“表達效率”方面的瓶頸;這時,領域型編程語言(又稱建模語言)的特殊作用也就隨之顯現。
以第一代PLC中推出的梯形圖(Ladder logic diagram)圖形建模語言為例,由于沿襲了早期的控制電路設計方式(電路畫線、元器件符號),因此PLC一經推出,便受到了廣大控制系統工程師群體的好評。
隨后,以歐系廠商為主的自動化廠商,又在梯形圖的基礎上,推出了功能塊(Function block diagram)及順序功能圖(Sequential function chart)兩種圖形化建模語言;功能塊建模方式為自動化系統引入了模塊化、封裝、復用等現代化的軟件開發理念,而順序功能圖,則幫助工程師,將復雜的工序,分解為一步步相對簡單的任務單元,從而極大的降低了復雜工藝的開發難度。
由于提供了一系列貼近專業知識結構的開發方式,自動化產業吸引了大批懂工藝、懂機械、懂電氣的技術人才。與此同時,當某項技術的受眾達到一定規模時,涉及到一致性、工程規范、教育等一系列因素的標準化工作,也開始顯現出重要的作用;IEC 61131自動化編程規范,便是在這一時期由國際電工委員會IEC組織牽頭制定,并由PLCOpen組織自發地負責后續的標準推廣工作。
工控通訊網絡 - 數量與距離所產生的效應
設備數量更多、通訊距離更遠、傳輸質量更好,是網絡技術發展的主線邏輯。以IT網絡為例,當只有兩臺面對面擺放的機器時(電腦或打印機),一根網線便可建立彼此的通訊;當需要連接幾臺設備時,一臺集線器就可以實現主機間的聯通;而到了企業網這一規模后,一套由路由器和網管系統所組成的網絡系統,則成為了標配。
與IT網絡相似,工控系統的網絡發展同樣遵循這一規律,不過構成這一網絡的主體, 則由PC機、服務器,變為了控制器、感知終端、工控機、觸摸屏等設備。
圖7 早期PLC網絡架構
在自動化發展早期,PLC主要用于單臺設備的簡單控制,因此所采用的通訊方式也相對簡單:
·PLC主要采用(控制器/IO模塊)一體化的硬件架構,而控制器與現場設備的通訊功能,也主要是靠物理接線的方式實現;在系統運行時,傳感器會將物理信號(電壓/電流)傳輸給PLC的IO模塊,隨后IO模塊會將電信號轉換為CPU識別的數字信號,并交給控制程序進行處理;控制程序完成計算后,會將控制指令發送給IO,再由IO負責把數字指令轉換為物理信號,反饋給現場的設備;
·PLC與人機界面(顯示屏)的通訊主要采用串口,人機界面通過串口,周期的向PLC發送數據請求;在接收到請求后,PLC會將現場的過程數據返回給人機界面進行顯示(人機界面向PLC發送控制指令,也是類似的道理);同時,串口還可作為PLC編程環境的程序下載通道,當開發環境發出下載指令時,PLC的管理程序會負責接收編譯好的PLC程序文件。
·串口除了可以與軟件進行通訊外,還可以作為與儀器儀表、RTU等設備進行通訊的媒介,不過此種方式無論在性能與可靠性上,都無法跟工業總線相提并論,因此適用場景也十分的有限(例如路燈、樓宇的控制)。
隨著應用場景的增多,控制器與現場設備的通訊需求也發生了改變,因此自動化廠商開始引入基于數字化網絡的通訊技術。
在現場設備通訊方面,由于受限于早期的(控制器/IO)一體化架構,控制系統在與數量更多,距離更遠的設備進行通訊時,開始暴露出明顯的瓶頸。因此,各自動化廠商紛紛推出了自己的現場總線/工業以太網技術:
·在網絡結構方面,現場總線/工業以太網將控制系統,分解為由主站控制器及從站IO所組成的分布式架構;當需要增加設備/傳感器的數量時,控制系統可通過在網絡中增加IO模塊的方式,實現系統的“擴容”;同時,由于采用了數字化網絡技術,也使通訊距離、布線方式等方面得到極大的改善;
·在通訊質量方面,網絡的各項指標并未因為控制器/IO模塊的分離而被打折扣;在確定性方面,控制網絡通過調度策略、時鐘同步等機制的引入,確保網絡報文準時、快速的到達;在可靠性方面,控制網絡則通過冗余、防電磁干擾等方式,確保通訊處于長期可用的狀態。
在IT網絡通訊方面,由于需要與生產管理軟件、第三方控制系統以及工業研發軟件進行網絡協同,因此控制器也引入了以太網通訊方面的技術。
硬件層面的問題解決后,還需要解決軟件層面的開發問題。為了避免工程人員在項目交付階段,陷入到具體瑣碎的編碼環節,自動化廠商將網絡通訊,抽象為軟件開發環境中模型,從而使工程人員通過簡單的參數化/圖形化配置,快速的搭建出一組控制系統的通訊功能。
自動化融入工業軟件體系 - 虛擬調試與兩化融合
圖9 與仿真相結合的控制系統開發流程
工業研發類軟件為使用者提供一套虛擬化的環境,用于對產品和生產工藝的特性與機理進行設計/分析/仿真/驗證,由于減少了在實體樣機上的投入,因此使企業的研發效率得到顯著提升。
當在控制程序開發流程中引入CAE/CAM時,自動化系統的開發/驗證效率也會得到顯著提升。
在工藝設計階段,設計部門的工程師可通過軟件,對裝備與產線模型的外觀、布局、物理特性進行直觀的設計;配置完成后,使用者可激活軟件的仿真功能,并使程序中的模型“運轉”起來;在仿真的過程中,用戶可透過裝備的運行情況,對現場的運行效果進行直觀的了解。
而在工藝驗證階段,工程師可將開發完成的自動化程序,與仿真軟件中的“虛擬”設備進行結合(由仿真設備為自動化軟件提供數據),并通過對虛擬生產系統的調試(又稱虛擬調試),預先驗證控制工藝的可行性。
部分CAE/CAM軟件會自帶工藝與算法的開發功能,例如機床設計軟件中,用于描述刀具運行軌跡的G-Code,還有科學計算軟件中,用于熱力學、空氣動力學求解的機理模型;當在CAE/CAM完成開發后,這些模型可被導入到自動化系統,并與現場的實際設備、工藝結合使用。
工業研發軟件已經成為自動化軟件開發的加速器,而隨著兩者關系的進一步結合,更多的創新場景也將隨之產生。而這也是為何,依靠自動化起家的一些企業(如西門子),會在過去十幾年間,對工業研發軟件展開瘋狂并購的主要原因。
圖10 自動化與生產管理系統的協同關系
與此同時,制造執行系統(MES)的使用,使生產過程中的資源組織、調度與管理水平得到了顯著提升;而作為生產資源重要組成部分的裝備與產線,自然也被納入到生產管理的業務范疇。隨著生產管理功能的不斷完善,MES與自動化系統間的協同關系也變得更為緊密。
這意味著,工業現場的設備故障信息可與設備管理系統、人力管理系統進行組合,形成設備維修與保養的工作流程;而設備能力信息可為排產系統提供信息,而排產系統產生的工作計劃,也會被同步到給自動化系統,并轉化為具體的設備執行指令。
自動化進一步放開手腳,在倉儲自動化系統的產品庫存信息,可幫助庫存管理系統,判斷物料是否需要補充;在質檢過程中產生的質量信息,自動化設備可為質量管理系統的質量報告,提供數據基礎;而能耗信息的采集,可幫助能源管理系統提供數據支持。
這意味著自動化與軟件系統,已經緊密地結合在一起。
數字孿生:需要一種編排語言
圖11 數字模型語言
說到數字孿生,目前尚未產生一套統一的定義,但從應用的角度講,可以將數字孿生理解為,一種虛實映射的方法,一門編排數字空間的語言,以及一項融合多專業工程與應用的技術手段。
虛實映射是將(包括人的知識在內的)物理世界的事物,映射到虛擬空間,并進行分析決策,而后反饋回物理世界的過程。事實上,早在計算機出現之前,“虛擬空間”的應用便已經存在。以軍事沙盤為例,指揮官會將士兵、裝備、地圖等實體模型布置在沙盤上,用于展示軍力的部署情況;同時,沙盤上也會擺放各種形狀的紙片模型,用于代表參謀們的分析過程,以及軍官下達指令。
在以上的示例中,無論是實體模型(士兵、裝備等),還是邏輯模型(紙片),都可以被平等地布置在相同的“虛擬空間”中,并實現相互的融合。
隨著計算機技術的普及,“數字化虛擬空間”開始逐步發展成型,而模型這一作為虛實映射的工具,也變身成為數字世界中的數字化模型(即數字孿生);當把數字模型“擺放”到計算機這一信息空間更大、計算能力更強、網絡化程度更高的“數字化沙盤”上時,物理信息系統這一虛實融合的“數字虛擬空間”也就隨之產生。
雖然被遷移到了數字空間,但模型的基本用法并未發生本質改變。
模型的第一類用法被稱為仿真(或模擬),即通過現有的狀態,推演出下一階段即將發生的事情;因此,無論是在沙盤上的戰況推演,或是工業研發軟件中,對裝備行為的模擬,都屬于仿真的范疇。
模型的第二類用法被稱為控制,即根據現場的情況做出分析,并將決策反饋給執行單位的過程;因此,可以將指揮官在沙盤上進行分析,并進行指令下達的過程,理解為一種控制;而自動化系統對裝備、產線、生產單位的工況感知,以及指令的下達,同樣也是一種控制。
模型的其它用法還包括管理(如進行資源的規劃與調配如生產管理系統)以及洞察等。同時,將上述幾類模型結合使用使用時,還可以構造出更復雜的應用場景。
模型不但是一種虛實映射的方法,而且由于背后所隱含的符號學含義,模型還被視為是一門語言。而當從語言的視角看待模型時,它便成為了一種編排虛擬空間的工具,以及作為溝通交流的媒介。
還是以沙盤為例,指揮官在會議上對各種不同含義模型(士兵,裝備,計劃)的擺放,實際上就是對沙盤這一“虛擬空間”的編排過程;而當沙盤被布置好,并就沙盤上的模型展開討論時,模型就成為了各方進行交流的中間媒介。
數字孿生是存在于"數字化虛擬空間"中的模型,因此我們可以將其理解為一門人與機器、機器與機器的交流語言。在工程設計階段,人會根據自己的設想,將模型編排到數字空間中;之后,計算機會接收工程師創建的工程,并在“理解”模型的含義后,開始完成一系列處理任務;而在計算機運行的過程,各軟件還會以數字模型的內容為基礎,“思考”下一步需完成的任務,并就各模塊間的協同展開“協商”。
隨著工業軟件的普及,“數字化虛擬空間”中產生了大量的數字模型;而當把各類模型組織在一起時,跨學科、跨領域的智能制造場景也就隨之產生。然而由于各類模型背后技術與標準的問題,也給系統的集成帶來了巨大的挑戰。
智能制造與工業互聯網帶來的影響
到本世紀初,自動化技術的應用已經趨于成熟,因此工業企業開始考慮,如何將分散的工業要素(研發、管理、設備)進行整合,從而使企業的效率得到進一步的提升;這便是智能制造概念提出的主要背景。
圖12 自動化周邊環境的變化
除了需求側的變化外,新產品與新技術的出現,也使智能制造概念的落地成為可能:
·工業研發類軟件(CAX/EDA)的普及,使產品設計、工藝設計的效率得到顯著提高;
·生產管理系統(MES)的引入開始幫助經營者對生產資源進行全局的分析、計劃與調度;
·諸如激光掃描成像、機器視覺、標識(如條形碼)等感知技術,開始在質檢、生產追溯等領域得以應用;
·計算機性能的提升,以及軟件設計思想的改進,也開始在工業中體現價值。
隨著技術與市場的外部環境已經發生變化,作為在生產系統中承上啟下的環節,自動化系統也在發生改變。
隨著工業互聯網的發展,融合新型感知與IT技術,與制度化有了更深的融合。在感知層面,自動化系統對諸多新型感知技術進行了集成。
這涉及到了標識技術: 通過集成條形碼/RFID等標識技術,對產品的類別、位置等信息進行感知;當此類技術與自動化結合時,則可實現倉儲自動化(根據產品位置,執行搬運或入庫任務)、柔性加工(根據產品型號,變換加工參數)、柔性運輸(根據產品型號,決定運輸路線)等場景。而在成像/圖像技術方面,可以利用機器視覺、激光成像等感知技術可用于檢測物體的形狀、尺寸、位置等物理特征;視覺系統在與自動化結合后,可實現殘次品篩查與過濾、機器人貨物分揀等功能;而激光成像技術與自動化的組合,則可實現形狀檢測(如用機器人掃描整車),車輛碰撞檢測(如叉車倒車制動)等功能。
在IT技術層面,自動化系統對新型計算機與網絡技術進行了集成。首先是計算技術,通過更強的算力,以及高級算法的引入,實現設備的工況診斷(如震動頻率、噪聲、轉速異常等);其次是網絡技術: 通過以太網,實現設備的橫向協同(如機械臂為機床上料,裝備故障導致運輸線停止),以及與IT系統的縱向整合(與MES,CAX軟件的集成)。
由于涉及到一系列新技術的集成,因此西方自動化廠商(歐系為主)也在本世紀初,開始對下一代自動化技術的預研工作;而我們目前在市場所見到的高端控制系統(如PC控制器、產線控制器、邊緣計算控制器),也都是那一時期所產出的研發成果。
無論是研發、生產或是運營,智能制造給企業帶來的想象空間都是巨大的。然后,當從規劃轉為落地階段時,企業會發現各種“碎片化”的技術/產品/標準,就像是彼此無法咬合的齒輪,很難被整合在一起。因此在智能制造發展初期,也出現了大量規劃“詩和遠方”,實施“眼前茍且”的項目。
(未完待續,本文描述了自動化的演化路徑,分兩篇刊登,本篇為上篇。)