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