蔡新奇,王學(xué)武,范曄平,徐德進
(1.華東理工大學(xué),能源化工過程智能制造教育部重點實驗室,上海 200237;2.上海廣為焊接設(shè)備有限公司,上海 200241;3.上海騰焊智能科技有限公司,上海 200241)
隨著科技的迅猛發(fā)展,焊接技術(shù)作為傳統(tǒng)制造加工行業(yè)中不可或缺的一個重要領(lǐng)域,同樣迎來了智能化發(fā)展的新浪潮。傳統(tǒng)的人工監(jiān)督的方式逐漸不能滿足當(dāng)今生產(chǎn)制造的需要,而且根據(jù)本人在國內(nèi)幾個中大型焊接制造現(xiàn)場調(diào)研可知,目前雖然國內(nèi)機器人焊接設(shè)備占有率不斷提升,但是除了車廠等傳統(tǒng)大型離散化生產(chǎn)企業(yè),機器人實際使用效率并不高。而且部分中大型企業(yè)購置的機器人設(shè)備分散在不同車間,且由不同的機器人供應(yīng)商提供,各自完成相應(yīng)的焊接工作,不便于統(tǒng)一管理。除此之外,目前對于生產(chǎn)線的監(jiān)管多數(shù)仍局限于車間控制層面,機器人和外界的數(shù)據(jù)交互并沒有完全暢通,但是網(wǎng)絡(luò)技術(shù)的發(fā)展正在逐步解決這樣的問題[1-3]。
目前,國內(nèi)外在焊接數(shù)據(jù)采集與運用方面已有很多成果。美國肯塔基大學(xué)的Zhang等人[4]通過傳感器等方式采集到焊接的過程數(shù)據(jù),結(jié)合動態(tài)建模和深度學(xué)習(xí)算法,實現(xiàn)了能夠在焊接過程中實時修正焊接參數(shù)的自適應(yīng)焊接制造。澳大利亞聯(lián)邦科學(xué)與工業(yè)研究組織的Syrek等人[5]自行設(shè)計了閃光對焊監(jiān)視器,用于采集車輪生產(chǎn)過程中的焊接生產(chǎn)數(shù)據(jù),通過后續(xù)的數(shù)據(jù)處理,預(yù)測車輪生產(chǎn)的缺陷情況。此外,德國HKS公司研發(fā)的焊接物聯(lián)網(wǎng)綜合采集、監(jiān)控與分析系統(tǒng),以及日本安川電機有限公司旗下的焊接機器人物聯(lián)網(wǎng)系統(tǒng)YASKAWA Cockpit,均有很高的知名度。
北京石油化工學(xué)院的周燦豐等人[6]將采集到的焊接機器人過程數(shù)據(jù)和虛擬現(xiàn)實技術(shù)相結(jié)合,實現(xiàn)對危險環(huán)境下遙操作焊接機器人的監(jiān)視。哈爾濱焊接研究院有限公司的李榮等人[7]針對機器人焊接激光制造,開發(fā)了數(shù)字化的控制系統(tǒng),能夠完成各種焊接數(shù)據(jù)采集,并提供數(shù)據(jù)接口供企業(yè)平臺使用。中車青島四方機車車輛股份有限公司的李亞南等人[8]將焊接群控系統(tǒng)運用到高速列車轉(zhuǎn)向架的生產(chǎn)中,能夠在線監(jiān)控轉(zhuǎn)向架的焊接生產(chǎn)狀態(tài)并優(yōu)化生產(chǎn)過程。文獻[9]和文獻[10]介紹了唐山松下產(chǎn)業(yè)機器有限公司開發(fā)的智能焊接云管理系統(tǒng)——iWeldCloud,并將其運用到高速列車焊接生產(chǎn)車間中,提高了生產(chǎn)過程的智能化水平。
機器人本體的健康狀態(tài)也是一個十分重要的因素,機器人定期維護可以很大程度上減少機器人故障對生產(chǎn)質(zhì)量和生產(chǎn)效率的影響。一般地,機器人維護按照時間維度劃分可以分為日、周、月和年檢查等,不同焊接工藝、不同品牌的機器人需檢修的項目各有差別,需要根據(jù)實際情況綜合確定,統(tǒng)一管理各種機器人維護信息便具有很高的實際價值[11-12]。
綜上所述,雖然目前各大機器人廠商基本都有推出支持各自機器人的焊接數(shù)據(jù)采集系統(tǒng),但是費用昂貴。且目前對機器人數(shù)據(jù)采集系統(tǒng)的研究也多局限于單一品牌的機器人設(shè)備,難以同時兼容其他品牌,不能滿足采用“多機器人廠商、中小生產(chǎn)規(guī)模”為焊接生產(chǎn)模式的企業(yè)的要求。此時需要一個能夠兼容不同廠商機器人的管控系統(tǒng),迅速接入生產(chǎn)現(xiàn)場已有或新采購的機器人設(shè)備。該系統(tǒng)著重研究如何開發(fā)一個通信系統(tǒng)基礎(chǔ)框架,配合機器人管控系統(tǒng),能夠靈活、高效、快速地接入不同廠商的機器人設(shè)備,完成焊接機器人生產(chǎn)狀態(tài)實時監(jiān)控和相關(guān)管理,一定程度上可以提高焊接機器人使用率和生產(chǎn)效率。
焊接機器人數(shù)據(jù)采集與管控系統(tǒng)由硬件和軟件兩部分組成,硬件主要包括現(xiàn)場的各個品牌的工業(yè)機器人、焊機、PLC、工控機和變位機等焊接系統(tǒng)相關(guān)設(shè)備,以及支持現(xiàn)場數(shù)據(jù)通信的各個采集計算機。軟件主要包括數(shù)據(jù)通信系統(tǒng)和機器人管控系統(tǒng),實現(xiàn)數(shù)據(jù)通信、設(shè)備基本信息錄入、歷史生產(chǎn)數(shù)據(jù)回溯、實時狀態(tài)監(jiān)控、設(shè)備定期維護和通信模塊更新等功能。系統(tǒng)結(jié)構(gòu)組成如圖1所示。

圖1 焊接機器人數(shù)據(jù)采集與管控系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)采集與管控系統(tǒng)架構(gòu)圖如圖2所示,系統(tǒng)首先通過通信子程序采集到不同車間的各個焊接機器人的過程數(shù)據(jù),隨后將采集到的數(shù)據(jù)處理、轉(zhuǎn)發(fā)并存儲,最后通過系統(tǒng)應(yīng)用層面開發(fā),將數(shù)據(jù)組織、處理、加工,并按照需求展示。數(shù)據(jù)的來源包括但不限于機器人控制柜、PLC、焊接電源或工控機等現(xiàn)場硬件設(shè)備。

圖2 焊接機器人數(shù)據(jù)采集與管控系統(tǒng)架構(gòu)
該系統(tǒng)的數(shù)據(jù)通信模塊從不同品牌的焊接機器人通信接口不同等實際問題出發(fā),針對不同的焊接工藝方式,首先提取出不同焊接工藝所共有的數(shù)據(jù),例如焊接電流,并制定一份基礎(chǔ)的傳輸協(xié)議。該協(xié)議預(yù)留相應(yīng)的數(shù)據(jù)位,用于存放不同品牌機器人或不同焊接方式特有的數(shù)據(jù),例如激光焊接的離焦量。將常用的機器人通信接口,例如OPC UA等,每個接口開發(fā)唯一的數(shù)據(jù)通信子程序,即所有采用OPC UA通信接口的機器人,采用相同的通信子程序。每個機器人都會單獨編寫一個配置文件,通信子程序通過配置文件完成初始化,按要求完成通信任務(wù),也方便后續(xù)通信程序的遠程更新。數(shù)據(jù)通信模塊采用C/S架構(gòu)開發(fā),通過Netty框架搭建NIO服務(wù)器,采用TCP/IP協(xié)議接收各個現(xiàn)場設(shè)備發(fā)送過來的實時數(shù)據(jù)。實時數(shù)據(jù)主要包括焊接電流、焊接電壓、送絲速度、焊接速度、氣體流量、狀態(tài)信息、故障信息和計件信息等。
機器人管控系統(tǒng)的服務(wù)器采用B/S架構(gòu)開發(fā),通過Spring MVC框架搭建機器人管控系統(tǒng),局域網(wǎng)內(nèi)的客戶機通過瀏覽器可訪問系統(tǒng),實現(xiàn)對機器人設(shè)備基本信息的統(tǒng)一管理、機器人狀態(tài)實時監(jiān)控、歷史生產(chǎn)數(shù)據(jù)展示和機器人維修與故障管理等。
除此之外,由于現(xiàn)場設(shè)備隨著運行時間的增加,產(chǎn)生的數(shù)據(jù)量會逐漸增大,采用支持分布式存儲的列式數(shù)據(jù)庫ClickHouse存儲實時數(shù)據(jù),該數(shù)據(jù)庫在聚合查詢等方面效率非常高,方便后續(xù)的集群擴展和實時分析處理。機器人基本信息等數(shù)據(jù)通過傳統(tǒng)的關(guān)系型數(shù)據(jù)庫MySQL存儲。同時采用物聯(lián)網(wǎng)領(lǐng)域常用的MQTT協(xié)議的消息隊列,為機器人實時監(jiān)控頁面提供實時數(shù)據(jù),以及傳遞相關(guān)控制指令等。
系統(tǒng)硬件部分由各個不同的焊接機器人系統(tǒng)和便攜式PC組成,如圖3所示。其中機器人系統(tǒng)主要包含機器人本體、焊接電源、機器人控制柜、工控機和變位機等相關(guān)配套設(shè)備。每臺機器人設(shè)備都會額外配備便攜式的PC,數(shù)據(jù)通信子程序運行于該便攜式PC上。將數(shù)據(jù)通信的軟件環(huán)境和機器人自身運行的軟件環(huán)境分離,便于調(diào)試。該便攜式PC具有雙網(wǎng)口,其中一個接入機器人內(nèi)部局域網(wǎng),完成數(shù)據(jù)的上傳和下載,另一個接入到車間局域網(wǎng),將每臺機器人設(shè)備的數(shù)據(jù)發(fā)送到遠程服務(wù)器,并且接收遠程服務(wù)器下發(fā)的指令。現(xiàn)場采用雙屏蔽網(wǎng)線連接各個設(shè)備,最大程度保持通信不受現(xiàn)場惡劣的環(huán)境干擾。

圖3 焊接機器人工作間示意圖
除此之外,每個車間可根據(jù)需求分配相應(yīng)數(shù)量的管理計算機,管理計算機一方面可供現(xiàn)場管理員查看機器人工作狀態(tài),另一方面可以中轉(zhuǎn)接收本車間的各個現(xiàn)場設(shè)備的數(shù)據(jù),并將數(shù)據(jù)預(yù)處理后統(tǒng)一轉(zhuǎn)發(fā)到服務(wù)器端進行持久化存儲。避免了大量TCP長連接直接連接到采集服務(wù)器,減輕了服務(wù)器的壓力。
整個系統(tǒng)的服務(wù)器出于安全性要求,部署在內(nèi)網(wǎng),外網(wǎng)無法訪問,所有接入內(nèi)網(wǎng)的終端設(shè)備根據(jù)各自用戶權(quán)限登錄,實現(xiàn)對現(xiàn)場設(shè)備的遠程管理與監(jiān)控。服務(wù)器主要負(fù)責(zé)接收、存儲并處理從機器人采集到的數(shù)據(jù),響應(yīng)各個客戶機的請求,完成不同功能的數(shù)據(jù)展示。
焊接機器人管控系統(tǒng)軟件部分是整個系統(tǒng)的核心,合理規(guī)劃軟件各個模塊的功能設(shè)計,才能更好地完成系統(tǒng)的開發(fā),系統(tǒng)軟件設(shè)計主要由以下幾個模塊組成。
數(shù)據(jù)通信模塊在該系統(tǒng)中扮演非常重要的角色,是軟件與各個機器人之間數(shù)據(jù)通信的橋梁,主要負(fù)責(zé)完成軟件與各個現(xiàn)場機器人通信。整個通信模塊可以分為3層,如圖4所示。

圖4 數(shù)據(jù)通信模塊架構(gòu)
第1層包含所有與各個機器人直接通信的子程序,每個機器人的子程序單獨部署,運行在圖3中便攜式PC上。通過該子程序和配置文件,解決不同品牌機器人接口協(xié)議和數(shù)據(jù)存儲格式差異的問題,并將統(tǒng)一結(jié)構(gòu)的數(shù)據(jù)發(fā)送到第2層。此外,第1層和第2層之間采用TCP長連接并加入心跳機制,確保連接的穩(wěn)定性。第2層和第3層均采用Java語言開發(fā)的基于Netty框架實現(xiàn)NIO服務(wù)器,分開部署,用于非阻塞地接收其上游的通信子程序發(fā)送過來的實時數(shù)據(jù)。其中第2層主要完成數(shù)據(jù)預(yù)處理等工作,可為每個從指定第2層軟件中轉(zhuǎn)的數(shù)據(jù)加上對應(yīng)的標(biāo)簽,方便后續(xù)對數(shù)據(jù)聚合計算等;第3層將實時數(shù)據(jù)批量持久化存儲到ClickHouse數(shù)據(jù)庫,也負(fù)責(zé)接收上位機指令,并下發(fā)到機器人對應(yīng)的通信子程序上。除此之外,第3層軟件還將實時數(shù)據(jù)及時發(fā)布到MQ,為實時監(jiān)控頁面提供實時數(shù)據(jù)源。
將通信模塊第2層和第3層分開設(shè)計便于后續(xù)擴展,將維持大量現(xiàn)場設(shè)備TCP長連接的任務(wù)分配到第2層,而第2層可根據(jù)要求,動態(tài)地擴展軟件數(shù)量。通過上述方案能夠更高效、更穩(wěn)定地完成軟件與機器之間的通信。
為了統(tǒng)一化通信子程序的開發(fā)流程,編寫了常用工業(yè)通信協(xié)議的通信子程序模板,包括但不限于TCP/IP,OPC和OPC UA等。可通過配置文件配置所需采集的數(shù)據(jù)和格式,采用軟件的方式去差異化。與此同時,機器人管控系統(tǒng)集成了通信子程序更新模塊,能夠遠程更新各個機器人通信子程序,方便程序的更新維護。
該系統(tǒng)主要涉及到2類數(shù)據(jù)的存儲,分別為實時數(shù)據(jù)和關(guān)系型數(shù)據(jù),其中實時數(shù)據(jù)存儲在ClickHouse數(shù)據(jù)庫,其余數(shù)據(jù)的均存儲于MySQL數(shù)據(jù)庫。
3.2.1實時數(shù)據(jù)
實時數(shù)據(jù)指焊接機器人每秒上傳的過程數(shù)據(jù),包含焊接電流、焊接電壓和工作狀態(tài)等。隨著設(shè)備的增加和運行時間的積累,數(shù)據(jù)量會很大。并且對于故障次數(shù)統(tǒng)計等類似功能,需要查詢所有歷史數(shù)據(jù)。綜合各方面考慮,采用支持在線分析處理查詢的ClickHouse列式數(shù)據(jù)庫存儲實時數(shù)據(jù),該數(shù)據(jù)庫聚合查詢效率非常高,能夠高效完成查詢計劃,同時支持分布式擴展。
ClickHouse建表時采用MergeTree引擎,數(shù)據(jù)按日期分區(qū),并采用時間,設(shè)備編號聯(lián)合字段進行排序,處于開機狀態(tài)的每臺設(shè)備每秒會被采集1條數(shù)據(jù),隨后按照設(shè)定時間間隔,統(tǒng)一將實時數(shù)據(jù)批量寫入數(shù)據(jù)庫,完成數(shù)據(jù)持久化存儲。ClickHouse的實時數(shù)據(jù)表結(jié)構(gòu)設(shè)計為列式數(shù)據(jù)庫常用的“大寬表”的形式,即將所有實時數(shù)據(jù)字段設(shè)計在一張表中。表設(shè)計之初盡可能地包含了焊接和機器人可能涉及的各種數(shù)據(jù),并且提前預(yù)留了部分字段,方便后續(xù)擴展。實時數(shù)據(jù)表結(jié)構(gòu)見表1,由于原表中包含的字段數(shù)量很多,此處選取了其中部分不同類型的字段展示。

表1 實時數(shù)據(jù)表
3.2.2關(guān)系型數(shù)據(jù)
關(guān)系型數(shù)據(jù)涉及范圍廣,主要包括用戶登錄和用戶權(quán)限等管理系統(tǒng)的功能信息,以及機器人基本信息、故障信息、檢修維修、人員信息等焊接機器人應(yīng)用的相關(guān)功能信息,將上述信息存儲在關(guān)系型數(shù)據(jù)庫MySQL中。由于涉及的表較多且復(fù)雜,文中以機器人基本信息表中部分字段為例,介紹表的設(shè)計思路和功能實現(xiàn),機器人基本信息數(shù)據(jù)見表2。表中類似于設(shè)備狀態(tài)這類字段存儲的int值,通過關(guān)聯(lián)MySQL其他數(shù)據(jù)表可以查到狀態(tài)的具體內(nèi)容。

表2 機器人基本信息數(shù)據(jù)
除此之外,為了提高查詢性能,將機器人劃分為焊接、待機、故障、示教和待檢修5個狀態(tài),并對應(yīng)地在MySQL中建立5張運行狀態(tài)表。后臺通過定時任務(wù),以30 min為1個周期,將存放在ClickHouse的實時數(shù)據(jù),以機器人編號維度進行聚合,將各個機器人不同的狀態(tài)信息統(tǒng)計并存儲到MySQL的上述5個表中。狀態(tài)表中的字段根據(jù)生產(chǎn)數(shù)據(jù)模塊需要展示的內(nèi)容確定。以焊接狀態(tài)為例,可統(tǒng)計出表3中的數(shù)據(jù),用于初步統(tǒng)計該30 min內(nèi)的焊接狀態(tài)的數(shù)據(jù)。

表3 焊接狀態(tài)
將機器人實時數(shù)據(jù)分別統(tǒng)計到指定的狀態(tài)表中,一方面精簡了數(shù)據(jù)量,即在每一個狀態(tài)表中,每臺設(shè)備每30 min只有1條數(shù)據(jù);另一方面對于3.3.2節(jié)中,一部分歷史數(shù)據(jù)回溯功能的實現(xiàn)可以直接通過查詢MySQL中的狀態(tài)表完成。因為實時數(shù)據(jù)存放的Click House數(shù)據(jù)庫并發(fā)性能不高,需處理各種數(shù)據(jù)查詢。將聚合查詢頻率較高的相關(guān)數(shù)據(jù)按30 min間隔預(yù)先查詢,并存儲到各個MySQL狀態(tài)表中。上述方法一定程度可緩解ClickHouse并發(fā)性能不足導(dǎo)致的問題,同時將處理后的數(shù)據(jù)存儲到MySQL,與其他關(guān)系型數(shù)據(jù)進行聯(lián)合查詢時能有更高的查詢效率。
機器人管控系統(tǒng)服務(wù)器軟件對采集到的機器人的數(shù)據(jù)進行匯總和展示,通過各個功能模塊相互協(xié)調(diào)工作,實現(xiàn)具體的業(yè)務(wù)功能。機器人管控系統(tǒng)采用B/S架構(gòu),使用Java語言根據(jù)Spring MVC框架開發(fā),系統(tǒng)的數(shù)據(jù)層由Mybatis持久層框架構(gòu)建,基于Tomcat容器運行,前后端數(shù)據(jù)通過異步JavaScript和XML技術(shù)(AJAX)的方式完成交互,數(shù)據(jù)采用JSON格式進行傳輸。機器人管控系統(tǒng)主要軟件模塊的調(diào)用關(guān)系如圖5所示。

圖5 管控系統(tǒng)主要模塊調(diào)用關(guān)系
3.3.1機器人基本信息錄入模塊
機器人基本信息主要包括設(shè)備信息和維護信息,其中設(shè)備信息主要包括機器人廠商、機器人型號、班組和機器人IP等機器人基本信息,用于記錄機器人基本屬性,便于統(tǒng)一管理;而維護信息又可以分為2部分,分別為故障信息和檢修信息。故障信息包括每個型號機器人故障代碼信息和對應(yīng)故障解決方案等。故障信息在機器人入廠聯(lián)網(wǎng)的時候可以手動或excel導(dǎo)入,后面通過實時數(shù)據(jù)中故障代碼可以定位到故障原因和解決方案。而檢修信息用于機器人定期檢修模塊,可以為每個型號的機器人設(shè)定不同的定期檢修時間間隔,可以包括日常、周、月、年等自定義時間粒度,為定期維護模塊提供時間基準(zhǔn)。
3.3.2機器人生產(chǎn)數(shù)據(jù)模塊
機器人生產(chǎn)數(shù)據(jù)模塊主要包括機器人歷史數(shù)據(jù)回溯模塊和機器人實時狀態(tài)監(jiān)控模塊。其中,機器人歷史數(shù)據(jù)回溯模塊用來查詢過去某一時段內(nèi),各個機器人產(chǎn)生的各種生產(chǎn)數(shù)據(jù),以報表的形式展示出來。主要包括機器人的焊接時間、開機時間、焊接效率、焊絲消耗、電能消耗、氣體消耗和生產(chǎn)計件等焊接生產(chǎn)數(shù)據(jù)。除此之外,還能對所有機器人歷史時間內(nèi)出現(xiàn)的故障進行統(tǒng)計,并能夠定位到故障發(fā)生的具體時間,方便后續(xù)排查。
機器人實時狀態(tài)監(jiān)控模塊用來遠程監(jiān)控所有機器人的實時工作狀態(tài),管理人員可以通過生產(chǎn)大屏進行實時監(jiān)控。可以實現(xiàn)現(xiàn)場所有聯(lián)網(wǎng)機器人的匯總監(jiān)控,通過點擊其中的某一個機器人可對該設(shè)備具體數(shù)據(jù)進行實時展示,包括實時焊接數(shù)據(jù),機器人實時運行數(shù)據(jù),故障記錄和機器人基本信息等。除此之外,當(dāng)機器人出現(xiàn)故障或待檢修狀態(tài)時,會在監(jiān)控頁面的設(shè)備列表中置頂展示,便于管理者重點排查。
3.3.3機器人維護模塊
機器人維護模塊可以細分為定期檢修和故障維修2個部分。其中,機器人定期檢修系統(tǒng)能夠?qū)崟r統(tǒng)計各個廠商的機器人是否到達各自設(shè)定的檢修時間點,統(tǒng)一管理所有機器人設(shè)備的定期檢修信息。此模塊根據(jù)實際錄入的檢修的相關(guān)數(shù)據(jù),可以查看每個機器人距離下次檢修時間的剩余時長。當(dāng)機器人工作時間到達設(shè)定的強制檢修時限時,系統(tǒng)會發(fā)送鎖定信號。機器人執(zhí)行完當(dāng)前任務(wù)后會進入待檢修狀態(tài),該狀態(tài)會鎖定機器人,直至檢修人員在現(xiàn)場完成檢修,即可重置機器人狀態(tài)。因此需要將檢修人員的數(shù)據(jù)錄入系統(tǒng),為指定機器人分配檢修人員。存在需要檢修的機器人時,指定的維修人員登錄到系統(tǒng)可以查看當(dāng)天需要檢修的設(shè)備,根據(jù)對應(yīng)的設(shè)備檢修手冊對設(shè)備進行檢修。檢修完成之后,在現(xiàn)場每個機器人的便攜式PC上輸入自己的確認(rèn)密碼,后臺對比密碼無誤后,發(fā)送指定命令修改機器人狀態(tài),同時記錄維修人員相關(guān)信息,方便后續(xù)追溯。
故障維修模塊實現(xiàn)原理和定期檢修模塊類似,唯一區(qū)別在于處于故障維修中的每臺機器人是不可預(yù)見的。當(dāng)機器人運行過程中遇到故障,采集系統(tǒng)將機器人狀態(tài)更新為故障,記錄相關(guān)故障信息,并將該設(shè)備添加到維修人員待維修設(shè)備中,可通過電子郵件的方式實現(xiàn)通知。維修人員登錄系統(tǒng)能夠看到當(dāng)前需要該維修人員定期檢修或故障維修的設(shè)備,系統(tǒng)能直觀地展示出當(dāng)前維修人員的任務(wù)量。
3.3.4機器人通信程序更新模塊
縱觀以往通信程序維護的方式,對于每個機器人通信子程序的維護,需要工程師到現(xiàn)場按要求將程序更新到每個機器人的便攜式PC上,隨著機器人數(shù)量和種類的增加該過程會變得異常繁瑣。機器人通信程序更新模塊可在服務(wù)器端,遠程更新每臺機器人配套使用的便攜式PC上的通信子程序,能夠很大程度提高工程師更新、維護程序的效率。
更新各個機器人通信子程序主要包括2步驟,第1步先將待更新的程序上傳至服務(wù)器,服務(wù)器通過TCP/IP協(xié)議,將最新的數(shù)據(jù)通信程序發(fā)送到圖4中所示的所有數(shù)據(jù)通信軟件第2層。收到發(fā)送成功的反饋后,將需要更新程序的機器人編號通過MQ指定主題發(fā)布,各個處于第2層的數(shù)據(jù)通信軟件會訂閱該主題,從而確定與其連接的哪幾臺機器人需要更新程序;第2步就是處于第2層的各個數(shù)據(jù)通信軟件將最新的程序通過TCP/IP協(xié)議,發(fā)送到所有需要更新程序的各個機器人便攜式PC上,也就是圖4所示的第1層。并通過遞增序號的方式命名文件,運行在各個現(xiàn)場設(shè)備的第1層數(shù)據(jù)通信程序在下次啟動時,會自動尋找最新的程序運行,實現(xiàn)程序更新。如果需更新程序的便攜式PC成功接收文件,則會通過MQ發(fā)布消息,通知上位機程序更新成功,否則提示更新失敗的設(shè)備編號。
該系統(tǒng)主要用于對不同廠商的焊接機器人進行統(tǒng)一的遠程管控,包含內(nèi)網(wǎng)服務(wù)器1臺,機器人若干,現(xiàn)場采集PC若干。主服務(wù)器采用Windows Server 2012系統(tǒng),機器人廠商主要包括KUKA,OTC,AMET和焊研威達等,現(xiàn)場采集PC主要采用Windows 10操作系統(tǒng),每個PC包含至少2個以太網(wǎng)接口,機器人管控系統(tǒng)主要界面如圖6所示。

圖6 焊接機器人管控系統(tǒng)界面
(1)系統(tǒng)的數(shù)據(jù)通信模塊能夠接入不同品牌的焊接機器人,也能夠接入PLC等現(xiàn)場設(shè)備。通過開發(fā)的模塊化基礎(chǔ)通信框架,可靈活、快速地適配新入廠的設(shè)備,高效地、穩(wěn)定地完成數(shù)據(jù)的采集。并且能實現(xiàn)通信程序遠程更新功能,方便工程師維護管理。
(2)機器人管控系統(tǒng)可對不同品牌、不同通信協(xié)議的機器人進行統(tǒng)一管理和實時狀態(tài)監(jiān)控。除此之外,系統(tǒng)還具有歷史數(shù)據(jù)的分析展示和機器人定期維護等功能。根據(jù)實際使用效果來看,系統(tǒng)能夠長時間穩(wěn)定運行,提高了現(xiàn)場設(shè)備管理效率,降低機器人故障發(fā)生的次數(shù),一定程度上提高了生產(chǎn)率。