唐文獻,楊 洋
(江蘇科技大學(xué) 機械工程學(xué)院,鎮(zhèn)江 212003)
監(jiān)控軟件作為控制系統(tǒng)的“大腦”,它處于整個控制系統(tǒng)結(jié)構(gòu)的最上層。其能否實現(xiàn)重構(gòu)不僅決定了板件拼裝焊接線系統(tǒng)重構(gòu)的速度與成本,甚至決定了整個焊接線系統(tǒng)重構(gòu)的成敗[1,2]。
本文通過對可重構(gòu)板件拼裝焊接線系統(tǒng)進行分析,設(shè)計了基于“組冗余與項選擇”的數(shù)據(jù)可配置策略的可重構(gòu)監(jiān)控軟件。該軟件不僅可以實現(xiàn)對焊接線系統(tǒng)進行實時監(jiān)控,而且可實現(xiàn)軟件的重構(gòu)配置,為控制系統(tǒng)的快速重構(gòu)提供保障。
如圖1所示,板件拼裝焊接線控制系統(tǒng)是以基于PROFIBUS-DP的多主站網(wǎng)絡(luò)化控制系統(tǒng),分別由首尾段控制子系統(tǒng)與各焊接機器人工作站控制子系統(tǒng)組成。其中,機器人工作站控制子系統(tǒng)以內(nèi)部各控制模塊通過PROFIBUS-DP構(gòu)建的單主多從子系統(tǒng)。各子系統(tǒng)通過DP/DP Coupler網(wǎng)關(guān)與S7-300PLC通信實現(xiàn)互連。子系統(tǒng)1至子系統(tǒng)n依據(jù)焊接工藝分別對應(yīng)于焊接工位1控制子系統(tǒng)至焊接工位n控制子系統(tǒng)。如圖1所示,機器人工作站分別對應(yīng)有無變位雙工位、無變位單工位、翻轉(zhuǎn)雙工位、翻轉(zhuǎn)單工位以及回轉(zhuǎn)雙工位和回轉(zhuǎn)單工位等6種焊接機器人工作站。當焊接線系統(tǒng)重構(gòu)時,需根據(jù)具體焊接對象的焊接工藝,首先由焊接工位數(shù)與每個工位的工藝類型確定需要的機器人工作站數(shù)目與類型。然后依據(jù)工藝順序,依次選擇相應(yīng)的焊接機器人工作站實現(xiàn)焊接線結(jié)構(gòu)重構(gòu),同時引入對應(yīng)機器人工作站的控制子系統(tǒng)并通過網(wǎng)關(guān)互連,從而實現(xiàn)焊接線控制系統(tǒng)的底層重構(gòu)。

圖1 板件拼裝焊接線控制系統(tǒng)重構(gòu)示意圖
對于焊接線控制系統(tǒng),由于每一次對控制系統(tǒng)底層進行重構(gòu),都會對系統(tǒng)原有控制數(shù)據(jù)造成變化,包括機器人工作站控制子系統(tǒng)的類型與總數(shù)目的變動。這就會影響到上位機對重構(gòu)后的系統(tǒng)進行監(jiān)控,這種情況下每一次對控制系統(tǒng)的重構(gòu),就需要對監(jiān)控軟件進行重新編譯或設(shè)計,而這無疑會影響到整個系統(tǒng)的重構(gòu)速度與成本。
所以作為可重構(gòu)系統(tǒng)的監(jiān)控軟件,首要需求就在于能夠使監(jiān)控軟件滿足當焊接線系統(tǒng)發(fā)生重構(gòu)時,能夠通過監(jiān)控軟件客戶端的簡單配置操作而無需重新編譯就可實現(xiàn)監(jiān)控軟件的快速重構(gòu),從而對重構(gòu)后的焊接線系統(tǒng)進行監(jiān)控。這也是可重構(gòu)監(jiān)控軟件區(qū)別于一般的監(jiān)控軟件最大的特點。
此外,作為監(jiān)控軟件,其必須具備一般監(jiān)控軟件的主要功能,即與下位機通信、對現(xiàn)場進行實時監(jiān)控以及操作便捷性等。
所以以下三點構(gòu)成了可重構(gòu)監(jiān)控軟件的關(guān)鍵需求:1)具有可重構(gòu)配置性與可重用性;2)該監(jiān)控軟件能夠?qū)崿F(xiàn)與底層控制器的數(shù)據(jù)訪問;3)能夠讓用戶操作便捷。
與下位機通信是任何工業(yè)監(jiān)控軟件最基本的要求。由于OPC技術(shù)的優(yōu)勢與開放性特點[3,4],目前大多數(shù)上位機監(jiān)控軟件均采用OPC技術(shù)實現(xiàn)與下位機進行通信。
當景點、景區(qū)旅游高峰時,人群涌動,旅游者素質(zhì)參差不齊,難免會產(chǎn)生人為造成的垃圾,給景點、景區(qū)造成一定環(huán)境困擾。旅游類志愿者這時就有義務(wù)幫助景點、景區(qū)建立良好的旅游環(huán)境,主動分擔景區(qū)壓力,在發(fā)現(xiàn)有游客出現(xiàn)不文明行為時,主動引導(dǎo)游客妥善處理,保持景點、景區(qū)的文件建設(shè)。
監(jiān)控軟件的整個通信過程如圖2所示,上位機通過CP5611通訊卡與S7-300PLC連接實現(xiàn)PROFIBUS-DP通訊。然后以O(shè)PC.SimaticNet為OPC服務(wù)器,并采用VC++編寫OPC客戶端。從而實現(xiàn)VC客戶端通過訪問OPC.SimaticNet對S7-300PLC數(shù)據(jù)進行讀寫[5,6]。而各機器人工作站子系統(tǒng)數(shù)據(jù)均通過DP/DP Coupler網(wǎng)關(guān)與西門子S7-300PLC實現(xiàn)數(shù)據(jù)通信,這樣就間接實現(xiàn)了VC客戶端監(jiān)控軟件與底層硬件數(shù)據(jù)之間的訪問。
具體通信設(shè)計過程如圖3所示[6],由于OPC服務(wù)器中每個Item項均對應(yīng)于S7-300PLC的某個I/O地址區(qū),所以可以通過該流程采用VC++建立若干OPC通信組,并在每個OPC通信組中按照需要通信的I/O端口地址添加相應(yīng)的Item項,從而實現(xiàn)VC客戶端對S7-300PLC相應(yīng)I/O地址區(qū)的數(shù)據(jù)進行讀寫操作。

圖2 焊接線監(jiān)控軟件OPC數(shù)據(jù)通信過程示意圖

圖3 客戶端OPC通信程序設(shè)計流程圖
監(jiān)控軟件的可配置性主要體現(xiàn)在設(shè)備布局可配置、設(shè)備屬性可配置、工件加工路徑可配置、加工計劃可配置[1]。而不論是對于設(shè)備布局、屬性還是加工計劃等,歸根結(jié)底是對于數(shù)據(jù)的配置[5],因為任何配置操作都需要通過數(shù)據(jù)寫入到底層控制器以實現(xiàn)控制,任何現(xiàn)場狀況也都需要通過數(shù)據(jù)讀入到監(jiān)控軟件中以實現(xiàn)監(jiān)控。所以研究軟件的可配置,必須從數(shù)據(jù)配置性入手,探索數(shù)據(jù)的可配置策略。
監(jiān)控軟件不論是讀取S7-300PLC的數(shù)據(jù)還是向S7-300PLC寫入數(shù)據(jù),數(shù)據(jù)最終是來源于或流向底層控制設(shè)備,由于板件拼裝焊接線系統(tǒng)底層設(shè)備主要就是各機器人工作站控制子系統(tǒng)。根據(jù)控制系統(tǒng)的重構(gòu)特點,這里對底層設(shè)備配置的步驟主要有兩個方面:一個是重構(gòu)后的各工位的機器人工作站類型,另一個是重構(gòu)所需要的機器人工作站總數(shù)目。所以可以從這兩方面入手,探索監(jiān)控軟件的數(shù)據(jù)配置策略。
由于各機器人工作站系統(tǒng)與首尾段系統(tǒng)分別作為焊接線的控制子系統(tǒng),這就為通信數(shù)據(jù)的“組封裝”提供了前提。可以將各工作站需要監(jiān)控的數(shù)據(jù)通過各子系統(tǒng)主站進行處理后統(tǒng)一由各DP/DP Coupler網(wǎng)關(guān)與S7-300PLC進行交互,然后通過VC++建立若干OPC通信組實現(xiàn)將S7-300PLC中各網(wǎng)關(guān)對應(yīng)的子系統(tǒng)監(jiān)控數(shù)據(jù)進行分組封裝,以各子系統(tǒng)為單元組實現(xiàn)分組讀寫,為數(shù)據(jù)的進一步可配置奠定基礎(chǔ)。
由于每個OPC組必須與相應(yīng)的I/O地址區(qū)對應(yīng)[6],而焊接線共有6種工作站,如果以每個工作站在S7-300PLC中對應(yīng)的I/O地址區(qū)為通信組,那么根據(jù)焊接線的重構(gòu)要求,每個子系統(tǒng)都可能對應(yīng)6種工作站類型,則每個子系統(tǒng)就需要對應(yīng)6個OPC組。如圖4中OPC處理策略1所示,子系統(tǒng)1需要對應(yīng)6種OPC組,每個OPC組通信區(qū)都指向子系統(tǒng)1。那么若有n個子系統(tǒng),則需OPC組的數(shù)量為6n個(考慮到實際需要的最大工作站數(shù)目以及PROFIBUS-DP最大掛載設(shè)備數(shù),這里取n≤8),對應(yīng)于6n個OPC組,就需要編寫6n個Read數(shù)據(jù)讀函數(shù)和6n個Write數(shù)據(jù)寫函數(shù)。
如果以這種方式進行數(shù)據(jù)的配置設(shè)計,無疑將會帶來巨大繁雜性與程序的冗余性,這將給監(jiān)控軟件的開發(fā)帶來很大的困難。所以如何簡化數(shù)據(jù)配置方式,將是監(jiān)控軟件可配置開發(fā)的重點。
進一步對各工作站的通信數(shù)據(jù)以及OPC通信組進行分析,可以發(fā)現(xiàn)如果將6種工作站的通信地址區(qū)進行統(tǒng)一化,就可以將6種OPC組簡化為1種OPC組,如圖4中OPC處理策略2所示,采用“組冗余與項選擇”的數(shù)據(jù)配置策略。每個OPC組都對應(yīng)一個子系統(tǒng)通信區(qū),而每個子系統(tǒng)通信區(qū)在S7-300PLC中都采用“組冗余”的方式,即每個OPC組均包含相同數(shù)目的Item項,將通信I/O區(qū)域通用化,這樣就可以實現(xiàn)每個子系統(tǒng)對應(yīng)與一個OPC組實現(xiàn)數(shù)據(jù)交換,那么一共需n個OPC組,也即只需n個Read/Write數(shù)據(jù)讀寫函數(shù)。數(shù)據(jù)處理過程中,只需根據(jù)配置情況獲取冗余通信組中需要的Item項數(shù)據(jù)即可。數(shù)據(jù)寫過程與讀取過程類似,將控制數(shù)據(jù)寫入對應(yīng)的Item項,然后經(jīng)過對當前需寫入的Item項進行冗余擴展,通過Write函數(shù)寫入到OPC組中。

圖4 OPC處理策略示意圖
以讀取數(shù)據(jù)過程為例,如圖5所示為數(shù)據(jù)讀取過程的軟件程序配置過程。當Read函數(shù)將每個OPC組數(shù)據(jù)讀取之后,根據(jù)配置界面的配置情況,設(shè)置配置函數(shù)的參數(shù),從而獲取當前配置類型的工作站所需要的Item項數(shù)據(jù),并將其收集到數(shù)據(jù)數(shù)組中,然后調(diào)用數(shù)據(jù)處理類,對數(shù)組數(shù)據(jù)進行處理,并將處理結(jié)果通過監(jiān)控界面顯示。數(shù)據(jù)寫入過程設(shè)計思想與讀取過程類似。
如圖6所示為監(jiān)控軟件的重構(gòu)配置流程。當啟動監(jiān)控軟件后,需要進入通信與配置界面,若系統(tǒng)需要重構(gòu),則可通過在通信與配置界面上按照工位順序依次選擇需要的工作站類型進行配置,每配置一次工作站類型都需要對當前工作站進行通信測試。當所有工作站配置完畢,則可進入主監(jiān)控界面,開啟主監(jiān)控對整個焊接線進行實時監(jiān)控。若繼續(xù)焊接拼裝加工上一種或相同工藝產(chǎn)品,則無需配置,直接調(diào)用歷史數(shù)據(jù)庫,系統(tǒng)自動完成配置。

圖5 監(jiān)控軟件讀取數(shù)據(jù)可配置程序設(shè)計策略圖

圖6 監(jiān)控軟件重構(gòu)配置操作流程圖
以焊接拼裝XB6140銑床床頭箱為例,根據(jù)XB6140銑床床頭箱焊接工藝與焊接節(jié)拍的要求,需要3個無變位焊接機器人工作站單元和首尾段組成。第1焊接工位和第2工位為無變位雙工位機器人工作站,第3焊接工位與第4焊接工位均為無變位單工位焊接機器人工作站。
可以通過以下操作實現(xiàn)對XB6140銑床床頭箱焊接線監(jiān)控平臺的配置。如圖7所示為通信與配置界面,當前正在進行工作站類型的配置工作,在配置操作窗口中根據(jù)工藝順序要求,通過下拉列表按順序選擇相應(yīng)的工作站類型,點擊配置結(jié)束,即可在右窗口與配置畫面窗口中顯示配置信息,通過點擊通信測試按鈕即可測試工作站與監(jiān)控軟件的通信狀態(tài),并將通信狀態(tài)顯示在右窗口。

圖7 焊接線監(jiān)控軟件的配置與通信測試界面
配置完畢后,通過點擊配置開關(guān)來關(guān)閉整個配置過程。然后進入主監(jiān)控界面,通過點擊預(yù)啟動按鈕,可呈現(xiàn)當前配置生產(chǎn)線的監(jiān)控準備畫面,點擊啟動按鈕,通過主監(jiān)控畫面與實時數(shù)據(jù)顯示實現(xiàn)監(jiān)控軟件的實時監(jiān)控。如圖8所示為XB6140銑床床頭箱焊接線主監(jiān)控界面。

圖8 焊接線監(jiān)控軟件主監(jiān)控界面
以板件拼裝焊接線可重構(gòu)監(jiān)控軟件為研究對象,給出了監(jiān)控平臺重構(gòu)設(shè)計的工程應(yīng)用實例,同時展現(xiàn)了監(jiān)控軟件的重構(gòu)實現(xiàn)過程。
本文通過創(chuàng)建多個OPC通信組,并采用“組冗余”的思想對每個機器人工作站數(shù)據(jù)進行組封裝,實現(xiàn)了數(shù)據(jù)的分組讀寫。板件拼裝焊接線監(jiān)控軟件的可重構(gòu)關(guān)鍵在于數(shù)據(jù)可配置處理,采用的“組冗余與項選擇”的數(shù)據(jù)配置策略可實現(xiàn)監(jiān)控軟件的可重構(gòu)。該監(jiān)控軟件不僅能實現(xiàn)對焊接線運作的實時監(jiān)控,而且具有可配置、重構(gòu)便捷性等特點。
[1]王曉勇,臧鐵鋼,陳富林.制造系統(tǒng)可重構(gòu)控制技術(shù)研究[J].制造業(yè)自動化,2007,29(11):23-27.
[2]梁福軍,寧汝新.可重構(gòu)制造系統(tǒng)理論研究[J].機械工程學(xué)報,2003,39(6):36-43.
[3]何西坤,王運福,張東.基于VC++的OPC客戶端的研究與實現(xiàn)[J].計算機與網(wǎng)絡(luò),2013,39(16):62-65.
[4]蘇磊,李茜,湯偉.OPC數(shù)據(jù)訪問客戶端的研究與實現(xiàn)[J].計算機工程,2010,36(11):80-82.
[5]張國輝.可重構(gòu)的工業(yè)過程遠程監(jiān)控系統(tǒng)[J].機械設(shè)計與制造,2006(10):123-125.
[6]劉志,龍志強.基于OPC的工業(yè)PC與S7-300通信的VC實現(xiàn)[J].工業(yè)控制計算機,2008,21(5):37-38.