陳 浩 成群林 姜 恒 王學遠
(上海航天精密機械研究所,上海201600)
摘要:為了便于機器人自動化焊接設備記錄焊接過程參數(shù),設計了一種基于歐姆龍Host Link通信協(xié)議和lab VIEW開發(fā)平臺的實時監(jiān)控系統(tǒng)。該系統(tǒng)利用PLC采集焊接過程實時數(shù)據(jù);通過Host Link通信協(xié)議,將數(shù)據(jù)上傳至上位計算機;最終,由上位機監(jiān)控軟件實現(xiàn)數(shù)據(jù)及曲線的顯示、存儲等功能。應用結(jié)果表明,該系統(tǒng)測量結(jié)果準確、操作簡單、穩(wěn)定性好,具有一定的推廣價值。
關鍵詞:自動化焊接監(jiān)控系統(tǒng) PLC Host Link串口通信現(xiàn)場總線Lab VIEW機器人
中圖分類號:TP274;TH86DOI:10. 16086/j. cnki. issnl000 - 0380. 201604013
0引言
隨著焊接領域內(nèi)自動化水平的不斷提高,采用工業(yè)機器人進行自動化焊接操作已是大勢所趨。焊接機器人由于具有通用性強、工作可靠等特點,可以克服傳統(tǒng)手工焊接質(zhì)量不穩(wěn)定的缺點,從而增加產(chǎn)量、提高質(zhì)量。
為了方便機器人自動化焊接設備記錄焊接過程參數(shù),確保生產(chǎn)過程的實時可控,并可用于后續(xù)焊接工藝的優(yōu)化,本文針對已有的Plasma - MIG復合焊接自動化設備,在研究歐姆龍Host Link通信協(xié)議的基礎上,以虛擬儀器編程軟件Lab VIEW為上位機開發(fā)平臺,設計了一套實時監(jiān)控系統(tǒng),以進行焊接過程狀態(tài)和參數(shù)的實時監(jiān)控。該系統(tǒng)不但確保了焊接參數(shù)采集顯示的實時性和準確性,而且具有通用性強、方便移植推廣等特點。
1 總體方案設計
1.1復合焊接系統(tǒng)概述
Plasma - MIG復合焊接自動化設備主要由MOTOMAN焊接機器人、歐姆龍PLC、Fro nius TIG焊接電源以及MIG焊接電源等部分組成。其中,PLC作為復合焊接系統(tǒng)的控制核心,直接控制TIG、MIG兩臺焊接電源的狀態(tài)和參數(shù);同時,協(xié)調(diào)焊接機器人和兩臺焊接電源的運行,接收焊接機器人的操作命令,協(xié)調(diào)兩臺焊接電源電弧的起弧時序以及送絲、送氣等動作;最終,實現(xiàn)機器人自動化焊接。PLC與焊接電源和機器人的通信依靠現(xiàn)場總線實現(xiàn)。
PLC作為現(xiàn)場總線網(wǎng)絡的主站,連接兩臺焊接電源,通過循環(huán)執(zhí)行其內(nèi)部程序,將待設焊接參數(shù)從存儲區(qū)傳送到焊接電源內(nèi)置寄存器。由焊機內(nèi)部專家數(shù)據(jù)庫對參數(shù)進行智能化微調(diào)之后,輸出其實際工作值,PLC將其實時讀取并保存至相應存儲區(qū)。整個工作過程中,PLC存儲區(qū)和焊機寄存器對應點位的數(shù)據(jù)一一對應。
1.2監(jiān)控系統(tǒng)工作原理
對于歐姆龍PLC,上位機與之通信的過程實際是與其通信單元Host Link之間交換命令和響應的過程。上位機可對PLC傳送程序指令,控制PLC數(shù)據(jù)區(qū)及其工作情況,PLC對上位機發(fā)送的指令代碼進行分析,進行相應的操作后,向上位機反饋相應的響應代碼。基于此原理,編寫上位機軟件對下位機PLC的存儲區(qū)域進行數(shù)據(jù)的寫入與讀取操作,即可控制并獲取現(xiàn)場
焊接設備的狀態(tài)和參數(shù),實現(xiàn)對焊接系統(tǒng)的實時監(jiān)控。對于1:1的上位連接系統(tǒng),即一臺上位機與一臺PLC之間的通信,在硬件層面,可通過RS - 232串行接口連接PC與PLC。
圖1為機器人焊接與監(jiān)控系統(tǒng)的總體結(jié)構示意圖。
1.3通信協(xié)議格式
在一次交換中,傳輸?shù)拿罡袷胶蛻饠?shù)據(jù)稱之為一幀。命令幀通過用戶編寫的上位機通信程序?qū)崿F(xiàn);PLC的Host Link單元根據(jù)上位機發(fā)來的命令幀自動生成響應幀,并返回給上位機。
歐姆龍PLC與上位機之間的通信依賴于其特有的Host Link通信協(xié)議,基于該協(xié)議的通信指令分為C-Mode指令和FINS指令兩類。C- Mode指令專用于Host Link單元的串行通信,而FINS指令還可用于多種網(wǎng)絡通信,其不依賴于固定的硬件傳播途徑。此外,F(xiàn)INS指令支持PLC內(nèi)部所有存儲區(qū)域的外部訪問,可實現(xiàn)更為豐富的PLC監(jiān)控功能。用于串行通信時,F(xiàn)INS指令必須結(jié)合Host Link協(xié)議實現(xiàn),即在FINS數(shù)據(jù)幀前后加上Host Link的指令頭、結(jié)構校驗序列碼(FCS)和指令終止符。
完整的通信幀格式如圖2所示。
幀中部分關鍵指令代碼具體含義說明如下。
FINS命令碼:讀取和寫入操作所對應的固定代碼。
正文:具體操作內(nèi)容,包括讀寫存儲器區(qū)域的代碼、區(qū)域起始地址、數(shù)據(jù)長度等。
FCS:幀校驗序列,用來檢查在傳送幀數(shù)據(jù)時是否發(fā)生錯誤。具體算法是從幀數(shù)據(jù)的開始到幀正文結(jié)束(FCS之前),所有數(shù)據(jù)字符的ASCII碼執(zhí)行異或操作。
2 Lab VIEW程序設計
在Lab VIEW中,虛擬儀器軟件架構(virtualinstrument software architecture,VISA)是應用于儀器編程的標準I/O應用程序接口。其本身并不具有儀器編程能力,而是調(diào)用低層驅(qū)動器的高層應用程序編程接口(application programming interface,API)。在VISA函數(shù)模塊中,關于串口通信的VI主要有VISA串口配置、串口讀取、串口寫入、串口字節(jié)數(shù)、清空緩存區(qū)、串口關閉。
在Lab VIEW程序中,Host Link串口通信的一般流程如圖3所示。
2.1串口通信程序設計
(1)串口參數(shù)配置。
按照實際通信需求,通過VISA串口配置Ⅵ初始化串口,設定VISA資源名稱,即與PLC通信的上位機串口號、波特率、數(shù)據(jù)位、校驗方式以及停止位等通信參數(shù)。
(2) FCS校驗碼計算。
將待計算字符串轉(zhuǎn)化為由各字符的ASCII碼組成的數(shù)組序列,通過For循環(huán)函數(shù)體對數(shù)組成員進行異或運算。執(zhí)行完所有循環(huán)后,將運算結(jié)果轉(zhuǎn)換為十六進制數(shù)表示的字符串,即待求的FCS碼。程序框圖如圖4所示。
將上述FCS碼計算程序編制成“FCS”子VI,其中的“待計算字符串”和“FCS”接口分別設為外部輸入和輸出端口,供上級VI調(diào)用。
(3)數(shù)據(jù)讀取。
歐姆龍PLC的I/O存儲區(qū)主要存儲輸入、輸出數(shù)據(jù)和中間變量等,可以通過FINS命令直接訪問。通常情況下,上位機需要從PLC中讀取的數(shù)據(jù)也位于I/O存儲區(qū)中。
當讀取PLC的I/O存儲區(qū)時,在命令幀的正文內(nèi)容部分,F(xiàn)INS命令碼代表讀取操作,而存儲區(qū)域代碼和存儲區(qū)域地址共同指定具體的I/O存儲區(qū),數(shù)據(jù)單元數(shù)量指定從起始地址向后偏移的數(shù)據(jù)區(qū)域長度。
數(shù)據(jù)讀取程序框圖如圖5所示。
將幀內(nèi)容組合之后,輸入“FCS校驗碼計算”子VI程序進行計算。最終,由幀內(nèi)容、校驗碼和結(jié)束碼共同構成完整的命令幀:@ OOFAOOOOOOOOO+通道號+通道數(shù)+FCS+*+↙。
通過“VISA寫入”函數(shù),將幀命令輸入到指定的緩沖區(qū),并通過串行傳遞方式傳送給PLC。在讀取響應幀之前設置一定的延時,為數(shù)據(jù)傳遞和硬件響應預留時間,以確保數(shù)據(jù)讀寫的準確完整。在用“VISA讀取”函數(shù)讀取PLC反饋的響應幀后,從中截取目標數(shù)據(jù)(包括模擬量數(shù)據(jù)和開關量數(shù)據(jù)),供后續(xù)處理。
將上述數(shù)據(jù)讀取程序編制成“READ”子VI,供上級VI調(diào)用。
(4)數(shù)據(jù)寫入。
將數(shù)據(jù)寫入PLC的1/0存儲區(qū)時,幀位構成與讀取數(shù)據(jù)操作基本相似。
程序總體與讀取數(shù)據(jù)程序類似,不同之處在于,需將待寫入數(shù)據(jù)轉(zhuǎn)換成符合命令幀格式要求的十六進制數(shù)表示的字符,并將存儲區(qū)域代碼設為“字節(jié)”模式對應的編號。若成功寫入數(shù)據(jù),上位機可通過“VISA讀取”函數(shù),從串口接收緩沖區(qū)中讀取到相應包含響應信息的響應幀。
對于以字節(jié)為單位的數(shù)字量數(shù)據(jù),寫入程序框圖如圖6所示。
對于以位為單位的開關量(布爾量)數(shù)據(jù),則需要將其轉(zhuǎn)化為2位十六進制數(shù)表示的字符串,并將存儲區(qū)域代碼設為“位”模式對應的編號。其他與數(shù)字量數(shù)據(jù)寫入相同。
將上述模擬量和開關量數(shù)據(jù)寫入程序分別編制成“WRITE( byte)”和“WRITE( bit)”子VI,供上級VI程序調(diào)用。
2.2監(jiān)控系統(tǒng)設計
在完成上位機監(jiān)控軟件串口通信程序各模塊設計的基礎上,對監(jiān)控系統(tǒng)總體進行設計。
在對PC主機串口進行初始化配置之后,主程序通過While循環(huán)體實現(xiàn)整個系統(tǒng)的持續(xù)運行。在While循環(huán)體內(nèi)設置一個事件結(jié)構,檢測前面板上“開始監(jiān)控”、“退出系統(tǒng)”控件的動作,并根據(jù)相應的控件動作執(zhí)行不同的事件分支。
在“開始監(jiān)控”事件分支下,通過While循環(huán)體控制監(jiān)控操作的運行和停止。在順序結(jié)構內(nèi),按順序安排寫入和讀取數(shù)據(jù)操作。在寫入操作部分,調(diào)用數(shù)據(jù)寫入子VI“WRITE( byte)”和“WRITE( bit)”,將前面板中的焊接參數(shù)開關量寫入到PLC中相應的存儲區(qū)域,繼而傳送給焊接電源,以實現(xiàn)對其狀態(tài)的控制和參數(shù)的設定。在讀取操作部分,調(diào)用數(shù)據(jù)讀取子VI“READ”,讀取PLC中采集到的現(xiàn)場焊接設備狀態(tài)和參數(shù);在對響應幀中數(shù)據(jù)進行相應的后續(xù)計算處理后,將開關狀態(tài)量和一般參數(shù)量傳遞至前面板中的顯示控件,并通過“數(shù)據(jù)記錄文件寫入”函數(shù),將系統(tǒng)運行過程中均勻時間點采集到的若干組相應數(shù)據(jù)保存至設定的文件路徑。每一次循環(huán)執(zhí)行完之后,檢測前面板中“停止監(jiān)控”控件的值,以判斷是否繼續(xù)執(zhí)行該循環(huán)體。
在“退出系統(tǒng)”事件分支下,按順序調(diào)用“VISA關閉”和“停止執(zhí)行VI”函數(shù),實現(xiàn)安全退出監(jiān)控系統(tǒng)程序的功能。
3系統(tǒng)試驗
試驗流程如圖7所示。
設計完成監(jiān)控系統(tǒng)之后,在Lab VIEW前面板中配置相應的串口參數(shù),即可運行該系統(tǒng)程序。開始監(jiān)控后,在控制區(qū),可對兩臺焊接電源分別進行消報警操作,并進行手動測氣和送絲退絲測試。在狀態(tài)信息顯示區(qū),系統(tǒng)讀取焊機的狀態(tài)開關量,并通過指示燈顯示。在參數(shù)設定區(qū),輸入待設焊接參數(shù),在參數(shù)顯示區(qū)顯示其經(jīng)焊機智能化微調(diào)后的實際值;同時,繪制其關于時間的參數(shù)曲線,可將參數(shù)保存至所設文件路徑。試驗完成后,停止監(jiān)控并退出系統(tǒng)。
試驗過程中,監(jiān)控系統(tǒng)獲取的復合焊接系統(tǒng)參數(shù)大致波形如圖8所示。
4結(jié)束語
對于現(xiàn)場工業(yè)設備,以PLC為下位機進行控制并采集現(xiàn)場設備狀態(tài)和參數(shù),以Lab VIEW為上位機開發(fā)臺;針對歐姆龍PLC特有的Host Link通信協(xié)議,利用Lab VIEW軟件強大的數(shù)據(jù)運算和分析能力實現(xiàn)PC主機與PLC之間的RS - 232串口通信,以便于對PLC的內(nèi)存單元進行讀寫操作;最終,實現(xiàn)對焊接過程的實時監(jiān)控。
本文以典型的Plasma - MIG復合焊接系統(tǒng)為例,基于PLC與Lab VIEW的Host Link串口通信協(xié)議,設計了相應的實時監(jiān)控系統(tǒng),并在試驗中取得了良好的應用效果。該設計方法亦可修改移植到其他上位機平臺。整個實時監(jiān)控系統(tǒng)的設計思想,可應用于工業(yè)現(xiàn)場的其他場合。