(中航工業(yè)成都飛機工業(yè)(集團)有限責任公司,成都 610092)
賽博物理系統(tǒng)又稱為信息物理融合系統(tǒng),這個概念首先是在美國被提出的,2006年底,美國國家科學基金會(National Science Foundation,NSF)宣布該系統(tǒng)為國家科研核心課題。
信息物理融合系統(tǒng)被定義為具備物理輸入輸出且由可相互作用的元件組成的網絡,不同于未聯網的獨立設備,也不同于沒有物理輸入輸出的單純的網絡,它是一個計算過程與物理過程融合的復雜系統(tǒng),其通過計算、通信和控制的有機融合與深度協(xié)作,實現信息域和物理域的緊密結合[1-2]。
隨著新的計算、網絡和控制技術的不斷涌現,賽博物理系統(tǒng)已成為物理設備系統(tǒng)和互聯網相結合的發(fā)展的新趨勢[3]。賽博物理系統(tǒng)作為計算進程和物理進程的統(tǒng)一體,是集成計算、通信與控制于一體的下一代智能系統(tǒng)。賽博物理系統(tǒng)通過人機交互接口實現和物理進程交互,使用網絡化空間遠程地、可靠地、實時地、安全地、協(xié)作地操控一個物理實體[4-5]。賽博物理系統(tǒng)是將感控、計算和通信與物理對象在網絡環(huán)境中高度集成的新型智能復雜系統(tǒng)[6]。
目前,賽博物理系統(tǒng)還是一個比較新的研究領域。
文獻[7]對賽博物理系統(tǒng)產生背景進行了描述,賽博物理系統(tǒng)是在計算、網絡通信技術日趨成熟的背景下得以發(fā)展,并提出了賽博物理系統(tǒng)的核心是通信、控制、計算的三者融合。
文獻[8]提出了一種CPS系統(tǒng)體系結構設計方法,圍繞計算、通信、控制3個要素從系統(tǒng)、功能、技術3個視圖進行設計研究。
文獻[9]基于SOA的思想提出了一種將CPS系統(tǒng)中軟硬件資源整合成服務的形式供各個任務進行調用的體系框架。
文獻[10]按照實體到抽象、物理到信息的思想將CPS系統(tǒng)劃分為物理層、網絡層和應用層,并結合智能交通體系結構對三層結構進行描述,充分體現了CPS系統(tǒng)內部各個層次之間協(xié)同合作的特性。
未來的各個智能體應該在現有的單個業(yè)務系統(tǒng)上加入智能識別模塊,從而升級為帶智能Agent服務的業(yè)務模塊,類似于在局域網中注冊一個智能化的消息探頭,各個智能體模塊至少需要具備兩個基本功能,即發(fā)送本智能體正在發(fā)生的事件以及處理其他智能體發(fā)送過來的事件[11-13]。
多CPS系統(tǒng)的智能互聯是構成當今物聯網的基礎[14]?!爸悄堋焙汀盎ヂ摗睂①x予產品一系列新的功能和能力,從邏輯結構上主要分為4類:監(jiān)測、控制、優(yōu)化和自動。
(1)監(jiān)測:通過傳感器和外部數據源,智能互聯產品能對系統(tǒng)運行狀態(tài)和外部環(huán)境進行全面監(jiān)測。在數據的幫助下,一旦環(huán)境和運行狀態(tài)發(fā)生變化,系統(tǒng)就會向用戶或相關方發(fā)出警告。
(2)控制:通過系統(tǒng)內置或云服務中的指令和算法進行遠程控制。算法可以讓系統(tǒng)對狀態(tài)和環(huán)境的特定變化做出反應。例如當壓力過高時,自動關閉閥門,當車庫流量達到一定級別時,打開指示燈。
(3)優(yōu)化:有了豐富的歷史數據和實時數據流,就可以用數據分析的方法實現系統(tǒng)自優(yōu)化,過去由于數據缺失或者積累不夠,這些方法大多無法實現。通過對實時數據和歷史記錄進行挖掘分析,優(yōu)化系統(tǒng)運行條件,解決和避免系統(tǒng)當前存在的短板問題,從而大幅提高系統(tǒng)的產出比。
(4)自動:將檢測、控制和優(yōu)化功能融合到一起,顯著提高系統(tǒng)自動化程度?;谧陨磉\行狀態(tài)和外部環(huán)境進行自適應優(yōu)化,系統(tǒng)最終將實現完全自動運行。
在物理結構上,多智能體之間的協(xié)同類似于現在的局域網部署,有兩種結構。
(1)總線型結構:有一個智能體注冊及服務處理中心,消息都向中心發(fā)送,中心再向其他智能體廣播消息。
(2)星型結構:無智能體服務中心,通過廣播等手段自動向所有被探知的智能體發(fā)送消息。
總線型結構,采取統(tǒng)一注冊、統(tǒng)一控制,而星型結構無服務中心,采取自探測、自識別機制??偩€型統(tǒng)一控制簡化了系統(tǒng)的結構,方便接口設計,易于擴展,同時在系統(tǒng)故障診斷方面具有先天性優(yōu)勢。因此,本文重點研究了總線型結構下多CPS系統(tǒng)協(xié)同處理機制[15]。
總線型多CPS系統(tǒng)協(xié)同處理模塊的關鍵部分在Agent功能設計,分為Agent客戶端和Agent服務端兩部分,承擔著多個CPS系統(tǒng)與服務端消息的發(fā)送、接收和識別功能。功能模塊如圖1所示,其核心為客戶端的消息注冊以及服務器端的消息處理。其運行機制如圖2所示,其中Agent客戶端是各個CPS系統(tǒng)都應具有的消息智能探頭,或者可將公用的Agent客戶端作為消息探頭,完成各個CPS系統(tǒng)與Agent服務中心的CPS系統(tǒng)注冊、實時消息發(fā)送、接收、識別及處理等功能。Agent服務中心是消息服務中心,完成各個CPS系統(tǒng)的認證、注冊、消息的接收、過濾、二次處理及按需轉發(fā)等基本功能。
圖1 總線型多CPS協(xié)同處理模塊功能結構Fig.1 Function structure diagram of bus type multi-CPS collaborative processing module
圖2 總線型多CPS協(xié)同機制運行示意Fig.2 Schematic diagram of bus type multi-CPS collaborative mechanism
按照上述設計,客戶端主要完成客戶端CPS應用注冊、所關注的消息類注冊、發(fā)送客戶端事件消息、接受服務器轉發(fā)過來的感興趣的消息,最后處理所接受的消息。因此,在客戶端實現中,需要一個TIDCPSERVER端口偵聽Agent服務中心所轉發(fā)的消息,同時需要一個IDCPCLIENT,完成與Agent服務中心的連接、注冊、發(fā)送事件消息[16]。實現上述功能的主要代碼如下:
(1)連接Agent服務中心并發(fā)送消息。該方法是一個通用方法,供注冊等方法調用。TfrmMSGClient.tcpsendandRecvmsg(msg:string;var re cvmsg,sErrmsg:string):BOOLEAN。
(2)調用通用消息發(fā)送方法,發(fā)起客戶端的注冊,同時返回本CPS系統(tǒng)的唯一令牌。TfrmMSGClient.ClientRegister(myserverport,mySYSNA ME:STRING):string。
(3)調用通用消息發(fā)送方法,發(fā)起客戶端CPS對感興趣的消息類注冊。TfrmMSGClient.Client Message Register(mytoken:string;recvmsglx:array of string):BOOLEAN。
(4)調用通用消息發(fā)送方法,向Agent服務中心發(fā)送客戶端CPS的各類的事件消息。TfrmMSGClient.sendClientMessage(sendmsglx:string;m ytoken:string;msgContent:string):BOOLE AN。
(5)處理所接受到的Agent服務中心轉發(fā)過來的感興趣的消息。TfrmMSGClient.ProcessServerMessage(recvtoken:string;recvmsglx,msg:string):BOOLEAN。
(6)啟動偵聽服務,以接受Agent服務中心轉發(fā)過來的所感興趣的消息并調用消息處理主體。TfrmMSGClient.IdTCPServer1Execute(AThread: TIdPeerThread)。
服務端主要接受來自各個CPS客戶端的消息,以實現CPS應用注冊、所關注的消息類注冊,同時接受客戶端的各類消息,并且向各個客戶端轉發(fā)、發(fā)送服務端消息。因此,在服務端實現中,需要一個TIDTCPSERVER服務在指定端口以偵聽Agent客戶端所發(fā)送的消息,在接收到消息后,放入到消息隊列中,通過一個線程TTransferMsgThread不斷取出消息,依據各個CPS客戶端已注冊的消息類,使用IDTCPCLIENT來連接CPS客戶端,實現消息分發(fā)到對應的客戶端。
如圖3所示,將上述功能實現的主要代碼如下:
圖3 Agent服務中心方法調用關系圖Fig.3 Relationship diagram of agent service center method call
(1)接收到各個CPS客戶端的消息后,通過該轉發(fā)線程,執(zhí)行消息分檢及轉發(fā)。TTransferMsgThread.Execute。
(2)接受CPS客戶端注冊,并產生客戶端實例。TfrmMsgSrv.Accept Client Register(amyip,amyserver port,amySYSNAME:STRING):string。
(3)接收CPS客戶端感興趣的消息類注冊。TfrmMsgSrv.Accept Client Message Register(mytoken:string;recvmsglx:string):BOOLEAN。
(4)依據各個客戶端注冊的消息類,分發(fā)待發(fā)送消息到各個客戶端實例。TfrmMsgSrv.Transfer Client Message(sendtoken,toTo ken:string;sendmsglx:string;msg:string):B OOLEAN。
(5)TCP服務的主體線程代碼,接收并處理客戶端的所有通信。TfrmMsgSrv.IdTCP Server1 Execute(AThread: TIdPeerThread)。
在數字化車間中,總線型多CPS協(xié)同處理模型將制造車間各個復雜的制造要素接入到車間層的CPS系統(tǒng)中,將整個制造過程顯性化,依據該模型能很清晰地知道整個制造過程的瓶頸環(huán)節(jié),并進行優(yōu)化處理。為了方便理解,下面將對制造過程進行簡化抽象建模,描述各個智能體之間協(xié)作過程及通信原理。
根據CPS協(xié)同機制的設計方法和實現技術,下面將以總線型結構來描述中航工業(yè)成飛數控廠未來的航空結構件加工應用場景。航空結構件加工車間一般包含有材料站、刀具站、工裝庫、檢驗平臺、工藝知識庫、庫房、測量機房、物流調度中心、機床等制造要素。車間所有CPS均已注冊,當計劃CPS感知到ERP計劃出現新的制造需求后,就發(fā)送一條新任務的消息到Agent服務中心,服務中心將此消息分發(fā)到各個CPS,材料CPS會發(fā)送材料的消息,工藝CPS會發(fā)送加工程序的消息,設備CPS會發(fā)送設備相關狀態(tài)消息,工裝CPS會發(fā)送工裝狀態(tài)消息,這些消息通過Agent服務中心消息隊列處理后分發(fā)出去,當調度CPS接收到各資源狀態(tài)就緒的消息后,向物流發(fā)出加工任務的消息,物流CPS依據該消息去材料站取回原材料及相應資源,并反饋消息,保證各個制造資源及時到位,物流業(yè)務完成后發(fā)送加工開始的消息,機床CPS收到加工開始的消息后就可以進行加工了。這樣通過Agent客戶端發(fā)送接收業(yè)務消息,Agent服務中心處理并分發(fā)消息后,實現生產任務開始加工的業(yè)務協(xié)同工作。
當工人加工完成某個零件某個工序后,機床CPS向Agent服務中心自動發(fā)送一條事件信息,告知“某設備已經加工完成了某個質量編號的某工序的零件”,Agent服務中心收到該消息后,向所有注冊的CPS廣播該消息。
當測量CPS收到消息后,檢查FO中測量工藝,發(fā)現該工序需要測量,根據目前測量機房資源準備情況自動決策,然后向Agent服務中心自動發(fā)送一條事件信息,告知“某設備某個質量編號的某工序的零件需要到某測量機房的某測量機上測量”,Agent服務中心收到該消息后,將向所有CPS廣播該消息。
當物流CPS收到測量CPS的消息后,會根據物流資源使用情況以及該質量編號的零件形狀大小,自動決策委派某個物流小車去運送零件。同時向Agent服務中心發(fā)送“已委派某車輛去某設備上運送零件到某個測量房”的消息。其他CPS收到消息后,若未注冊對于該類消息的處理服務,則不對該消息進行處理。機床CPS收到物流智能體及測量CPS的消息后,將等待物流CPS委派的物流小車的到達。
圖4 生產任務開始加工的多CPS協(xié)同Fig.4 Multi-CPS collaboration of the beginning of production
圖5 生產物流的多CPS協(xié)同Fig.5 Multi-CPS collaboration of production logistics
圖4~5是上述應用場景的描繪,各個CPS通過Agent服務中心將云消息廣播到各個CPS。
以上場景和技術在中航工業(yè)成飛數控廠的各個MES子系統(tǒng)(材料站、物流、刀具、調度)中進行了應用驗證,加裝該Agent探頭的各個CPS子系統(tǒng)已經能夠充分實現彼此的互聯互通互動,實現從自動協(xié)同計劃安排、機床加工過程自動監(jiān)控到加工完成自動物流搬運的數控加工過程全流程協(xié)同,證明了設計方法的科學性。相對于傳統(tǒng)業(yè)務集成的MES子系統(tǒng),加裝了Agent客戶端探頭的MES子系統(tǒng)的運轉效率大大提高,從而提高了生產效率,證明了總線型多CPS協(xié)同機制在工程實際應用中的可行性和優(yōu)越性。
綜上,表明未來在CPS的構建上,將采取松散網狀結構來實現各個Agent的通信,采取可插拔基于SOA的總體技術架構。在該模式下,各個智能體的消息處理服務同樣是可插拔。各個智能體可以相互獨立地聯入到車間層的CPS系統(tǒng)中,任何一個智能體從CPS系統(tǒng)中去掉不會影響其他智能體的運作;同時各個智能體之間又能通過消息互聯互通。
以VS2010為開發(fā)工具,實現了基于TCP/IP模式下的各個CPS系統(tǒng)間的協(xié)同關鍵技術并在MES系統(tǒng)中進行了應用驗證。總線結構的多CPS協(xié)同機制具有消息動態(tài)注冊、消息類動態(tài)擴展、Agent探頭可熱插拔等優(yōu)點,在目前國內外對CPS的研究還停留在理論階段的現狀下具有重大實踐意義。
必須指出的是,這是一種通過TCP/IP協(xié)議的Agent來實現各個CPS系統(tǒng)間的協(xié)同方案,該方案適合支持TCP/IP通信的CPS系統(tǒng)協(xié)同,但對有嵌入式系統(tǒng)的CPS不適合。
[1]RAJKUMAR R, LEE I, LUI S, et al.Cyber-physical systems: the next computing revolution[J]. IEEE, 2010:731-736.
[2]周興社,楊亞磊,楊剛. 信息-物理融合系統(tǒng)動態(tài)行為模型構建方法[J]. 計算機學報,2014, 37(6):1411-1423.ZHOU Xingshe, YANG Yalei, YANG Gang. Modeling methods for dynamic behaviors of cyber-physical system[J]. Journal of Computer Science, 2014, 37(6):1411-1423.
[3]譚朋柳,舒堅,吳振華. 一種信息-物理融合系統(tǒng)體系結構[J]. 計算機研究與發(fā)展 , 2010, 47(S2):312-316.TAN Pengliu, SHU Jian, WU Zhenhua.A cyber physical fusion system[J]. Journal of Computer Research and Development, 2010, 47(S2):312-316.
[4]LUI S, GOPALAKRISHNAN S,XUE L, et al. Cyber-physical systems: a new frontier[M]//Machine Learning in Cyber Trust.Springer, 2009:3-13.
[5]張彩霞,程良倫,王向東. 基于信息物理融合系統(tǒng)的智能制造架構研究[J]. 計算機科學,2013, 40(S1):37-40.ZHANG Caixia, CHENG Lianglun,WANG Xiangdong. Research on architecture of intelligent manufacturing based on cyberphysical system[J]. Computer Science, 2013,40(S1):37-40.
[6]景博,周偉,黃以鋒,等. 信息物理融合系統(tǒng)及其應用[J]. 空軍工程大學學報(自然科學版),2014, 15(2):1-6.JING Bo, ZHOU Wei, HUANG Yi Feng,et al. Reserch of cyber-physical systems and its application[J]. Journal of Air Force Engineering University(Natural Science Edition), 2014,15(2):1-6.
[7]林峰, 舒少龍. 賽博物理系統(tǒng)發(fā)展綜述[J].同濟大學學報(自然科學版), 2010,38(8):1243-1248.LIN Feng, SHU Shaolong. A review on cyber-physical systems[J]. Journal of Tongji University (Natural Science), 2010, 38(8):1243-1248.
[8]何明,梁文輝,陳希亮,等. CPS系統(tǒng)體系結構頂層設計研究[J]. 計算機科學,2013,40(11):18-22.HE Ming, LIANG Wenhui, CHEN Xiliang,et al. Research on top level design of architecture for cyber-physical systems[J]. Computer Science,2013, 40(11):18-22.
[9]DILLON T S , ZHUGE H, WU C, et al .Web-of-things framework for cyber-physical systems[J]. Concurrency &Computation Practice & Experience, 2011,23(9):905–923.
[10]陳麗娜, 王小樂, 鄧蘇. CPS體系結構設計[J]. 計算機科學, 2011, 38(5):295-300.CHEN Lina, WANG Xiaole, DENG Su. CPS system structure design[J]. Computer Science,2011, 38(5):295-300.
[11]OLFATI-SABER R, FAX A,MURRAY R M. Consensus and cooperation in networked multi-agent systems[J]. IEEE, 2007,95(1):215-233.
[12]BONABEAU E. Agent-based modeling: methods and techniques for simulating human systems[J]. Proceedings of the National Academy of Sciences of the United States of America, 2002,99(S3):7280-7287.
[13]FERBER J. Multi-agent systems: an introduction to distributed artificial intelligence[J].Mathematics & Computer Education, 2005,39(1):213-219.
[14]PARKER D C, MANSON S M,JANSSEN M A, et al. Multi-agent systems for the simulation of land-use and land-cover change: a review[J]. Annals of the Association of American Geographers, 2003, 93(2):314–337.
[15]NEDIC A, OZDAGLAR A.Distributed subgradient methods for multi-agent optimization[J]. IEEE Transactions on Automatic Control, 2009,54(1):48-61.
[16]HUNTBACH M M, RINGWOOD G A. Agent-oriented programming[J]. Artificial Intelligent, 1993, 60(1):51-92.