黃敦華, 李 勇, 季 君
(北京電子科技職業(yè)學(xué)院 機(jī)電工程學(xué)院,北京 100176)
若工業(yè)機(jī)器人要實(shí)現(xiàn)多種不同的控制功能,比如多機(jī)器人協(xié)同運(yùn)行、機(jī)器人信息交互、機(jī)器人狀態(tài)監(jiān)控等,在這些要求下,系統(tǒng)僅僅用PLC控制機(jī)器人難以滿足設(shè)計(jì)要求。系統(tǒng)采用了TCP自定義、Profinet通信協(xié)議,構(gòu)建了基于OPC的“Server-多主站-多從站”多功能工業(yè)機(jī)器人控制系統(tǒng)硬件網(wǎng)絡(luò)結(jié)構(gòu);提出了應(yīng)用OPC Client軟件控制機(jī)器人的技術(shù)方案,由于OPC規(guī)范基于OLE/COM技術(shù),同時(shí)OLE/COM的擴(kuò)展遠(yuǎn)程O(píng)LE自動(dòng)化與DCOM技術(shù)支持TCP/IP等多種網(wǎng)絡(luò)協(xié)議,因此可以將OPC Client和Server在物理上分開(kāi)[1],分布于網(wǎng)絡(luò)不同節(jié)點(diǎn)上。通過(guò)自定義TCP建立Client軟件與OPC Server的通信連接,完成機(jī)器人控制系統(tǒng)的集中管理與控制;通過(guò)Profinet建立OPC Server與主站PLC的通信連接,完成機(jī)器人控制系統(tǒng)的信息實(shí)時(shí)交互;通過(guò)Profinet建立主站PLC與各從站設(shè)備的通信連接,完成從站設(shè)備的多功能控制。
系統(tǒng)采用TCP、Profinet這兩種先進(jìn)的通信連接,保證通信的穩(wěn)定可靠,構(gòu)建了貼近現(xiàn)場(chǎng)實(shí)際應(yīng)用的Server、主站層和從站層的體系結(jié)構(gòu)[2],Server與主站層之間通過(guò)Profinet協(xié)議通信,主站層與從站層之間也通過(guò)Profinet協(xié)議通信,這樣設(shè)計(jì)系統(tǒng)會(huì)擁有相當(dāng)好的兼容性,“Server-多主站-多從站”多功能工業(yè)機(jī)器人控制系統(tǒng)的硬件網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 “Server-多主站-多從站”硬件網(wǎng)絡(luò)結(jié)構(gòu)圖
1.1.1Server
OPC技術(shù)采用客戶/服務(wù)器模型,建立了一套在軟件開(kāi)發(fā)商和硬件生產(chǎn)商之間需要遵守的規(guī)則[3]。Server應(yīng)用SIMATIC NET PC Software(西門(mén)子OPC Server),利用組態(tài)軟件本身集成的OPC驅(qū)動(dòng)來(lái)建立客戶端訪問(wèn)連接,便于系統(tǒng)網(wǎng)絡(luò)組態(tài)設(shè)計(jì);Client軟件通過(guò)TCP與OPC Server進(jìn)行通信連接及信息傳輸[4];OPC Server與主站層多個(gè)S7-1200 PLC之間采用Profinet通信協(xié)議進(jìn)行連接及數(shù)據(jù)交互。簡(jiǎn)而言之,通過(guò)Server可將Client軟件命令信息發(fā)送給主站層,并將主站層信息反饋至Client軟件[5]。
1.1.2主站層
主站層由工程師PC機(jī)、多臺(tái)CPU1215C PLC主站控制器、DI/DO擴(kuò)展模塊、TIA Portal軟件等組成,TIA Portal是西門(mén)子工業(yè)自動(dòng)化集團(tuán)發(fā)布的一款全新的全集成自動(dòng)化軟件,也是業(yè)內(nèi)首個(gè)采用統(tǒng)一的工程組態(tài)和軟件項(xiàng)目環(huán)境的自動(dòng)化軟件,幾乎適用于所有自動(dòng)化任務(wù)。主站層工程師PC機(jī)完成硬件網(wǎng)絡(luò)組態(tài)、控制程序設(shè)計(jì),實(shí)施先進(jìn)系統(tǒng)控制策略[6]。主站層與Server之間采用Profinet通信協(xié)議進(jìn)行連接與數(shù)據(jù)交互,主站層與從站層之間采用Profinet通信協(xié)議進(jìn)行連接與多功能控制。
1.1.3從站層
從站層由多臺(tái)ABB IRB120工業(yè)機(jī)器人和SEW伺服驅(qū)動(dòng)器組成,從站層與主站層之間采用Profinet通信協(xié)議進(jìn)行連接,實(shí)現(xiàn)多功能工業(yè)機(jī)器人自動(dòng)控制。從站層接受主站層發(fā)送的控制命令,并反饋數(shù)據(jù)信息到主站層[7]。
硬件網(wǎng)絡(luò)組態(tài)采用“Server-多主站-多從站”的設(shè)計(jì)架構(gòu),遵循“先Server,其次主站,最后從站”的硬件組態(tài)原則[8],在OPC Server(IP地址:192.168.1.100;子網(wǎng)掩碼:255.255.255.0)的Profinet連接上掛上5臺(tái)S7-1200 PLC;在其中4臺(tái)S7-1200 PLC主站的Profinet連接上分別各自掛上一臺(tái)ABB IRB120工業(yè)機(jī)器人,在另一臺(tái)S7-1200 PLC主站的Profinet連接上掛上2臺(tái)SEW伺服驅(qū)動(dòng)器[9];硬件網(wǎng)絡(luò)組態(tài)要求所有主站、從站設(shè)備與OPC Server在同一網(wǎng)段,“Server-多主站-多從站”硬件網(wǎng)絡(luò)組態(tài)如圖2所示。
圖2 “Server-多主站-多從站”硬件網(wǎng)絡(luò)組態(tài)
1.2.1OPCServer與主站PLC網(wǎng)絡(luò)組態(tài)
在TIA Portal軟件“設(shè)備和網(wǎng)絡(luò)”中添加常規(guī)PC系統(tǒng)“PC Station”;在“設(shè)備視圖”中“用戶應(yīng)用程序”添加“OPC 服務(wù)器”;在“設(shè)備視圖”中“Communications modules”添加“PROFINET常規(guī)IE”;設(shè)置OPC Server的IP地址和子網(wǎng)掩碼,在OPC Server的Profinet連接上添加5臺(tái)CPU 1215C DC/DC/DC控制器,并設(shè)置CPU控制器的IP地址和子網(wǎng)掩碼。
1.2.21200PLC與ABB工業(yè)機(jī)器人主-從站硬件網(wǎng)絡(luò)組態(tài)
在S7-1200PLC主站的Profinet連接上添加1臺(tái)ABB工業(yè)機(jī)器人從站(ABB工業(yè)機(jī)器人PROFINET的GSD文件為GSDML-V2.33-ABB Robotics-RobotDevice-20171011.),并設(shè)定從站的IP地址、子網(wǎng)掩碼,ABB工業(yè)機(jī)器人與1200PLC的IP地址必須在同一個(gè)網(wǎng)段,子網(wǎng)掩碼必須相同[10]。除了IP地址之外,Profinet通信另外一個(gè)必須配置的參數(shù)為IO device name(I/O設(shè)備名稱),可以使用默認(rèn),在PLC端直接配置給機(jī)器人端即可。
1200PLC與ABB工業(yè)機(jī)器人主-從站的關(guān)鍵技術(shù)點(diǎn)是建立Profinet通信映射區(qū)的大小與對(duì)應(yīng)關(guān)系,根據(jù)實(shí)際應(yīng)用數(shù)據(jù)的需求量來(lái)創(chuàng)建通信映射區(qū)的大小[11]。系統(tǒng)中每臺(tái)1200PLC與ABB機(jī)器人的通信映射區(qū)設(shè)定為8 bytes輸入/8 bytes輸出。譬如1200PLC輸入映像區(qū)I地址為IB2 ~I(xiàn)B9(主站接受數(shù)據(jù)),輸出映像區(qū)Q地址為QB2 ~QB9(主站發(fā)送數(shù)據(jù)),1200PLC與ABB工業(yè)機(jī)器人硬件網(wǎng)絡(luò)組態(tài)輸入/輸出映像區(qū)配置如圖3所示。
圖3 1200PLC與ABB工業(yè)機(jī)器人硬件網(wǎng)絡(luò)組態(tài)輸入/輸出映像區(qū)配置
ABB工業(yè)機(jī)器人也需進(jìn)行相關(guān)配置[12]。先選擇機(jī)器人網(wǎng)口,ABB機(jī)器人Profinet通信可以用機(jī)器人里的WAN口或者LAN3口[13];接著配置與PLC通信時(shí)的輸入/輸出對(duì)應(yīng)映像區(qū),為2 bytes;還有“Station Name”這個(gè)選項(xiàng)是用來(lái)與PLC通信時(shí)的PROFINET I/O子站的名稱,必須與PLC配置一樣。
1.2.31200PLC與SEW伺服驅(qū)動(dòng)器主-從站硬件網(wǎng)絡(luò)組態(tài)
在一臺(tái)S7-1200PLC主站的Profinet連接上添加2個(gè)SEW伺服從站,并設(shè)定好從站的IP地址、子網(wǎng)掩碼,同樣SEW伺服和1200PLC的IP地址在同一網(wǎng)段,子網(wǎng)掩碼相同。系統(tǒng)中1200PLC與SEW伺服驅(qū)動(dòng)器的通信映射區(qū)設(shè)定為12 bytes輸入/12 bytes輸出。譬如1200PLC輸入映像區(qū)I地址為IB68~I(xiàn)B79(主站接受數(shù)據(jù)),輸出映像區(qū)Q地址為QB68 ~QB79(主站發(fā)送數(shù)據(jù)),1200PLC與SEW伺服驅(qū)動(dòng)器硬件網(wǎng)絡(luò)組態(tài)輸入/輸出映像區(qū)配置如圖4所示。
圖4 1200PLC與SEW伺服驅(qū)動(dòng)器硬件網(wǎng)絡(luò)組態(tài)輸入/輸出映像區(qū)配置
1200PLC與SEW伺服驅(qū)動(dòng)器主-從站的關(guān)鍵技術(shù)點(diǎn)是數(shù)據(jù)通信報(bào)文,報(bào)文核心參數(shù)是PO1,包括驅(qū)動(dòng)器的使能、啟動(dòng)、停止、復(fù)位等,具體定義如圖5所示。
圖5 SEW伺服驅(qū)動(dòng)器PO1通信報(bào)文
當(dāng)SIMATIC NET PC Software安裝成功后,即可進(jìn)行PC站硬件配置,點(diǎn)擊Station Configuration Editor進(jìn)入配置窗口。選擇一號(hào)插槽,點(diǎn)擊Add按鈕,在添加組件窗口中選擇OPC Server,點(diǎn)擊OK即完成,同樣方法選擇二號(hào)插槽添加IE General,配置完成后通過(guò)西門(mén)子OPC Scout可監(jiān)控各主站PLC實(shí)時(shí)數(shù)據(jù)。PC站硬件配置如圖6所示。
槽1-OCP Server槽2-IE General此配置要和TIA中的OPCServer的PC station對(duì)應(yīng)1-表示PC Station和S7-1200的通信連接已經(jīng)建立
根據(jù)系統(tǒng)“集中管理,分散控制”的原則,Client軟件通過(guò)OPC Server集中管理各1200PLC主站;主站1200PLC通過(guò)Profinet通信向各從站發(fā)送輸出指令[14],從站層工業(yè)機(jī)器人控制器、伺服驅(qū)動(dòng)器執(zhí)行具體的分散控制功能,并向各自主站反饋實(shí)時(shí)數(shù)據(jù)信息。整體系統(tǒng)程序流程圖如圖7所示。
在TIA Portal軟件平臺(tái)上,采用模塊化編程技術(shù)與OPC Server數(shù)據(jù)交換技術(shù);采用先進(jìn)的控制策略與工業(yè)機(jī)器人、伺服驅(qū)動(dòng)器自動(dòng)控制模式,設(shè)計(jì)出了主站層各S7-1200PLC的自動(dòng)控制程序,包括主程序OB1、子程序FB1-FB2、子程序FC1-FC2、故障中斷程序、數(shù)據(jù)處理轉(zhuǎn)換等模塊化程序,數(shù)據(jù)處理轉(zhuǎn)換程序循環(huán)地接受各對(duì)應(yīng)從站發(fā)送過(guò)來(lái)的數(shù)據(jù)信息,也循環(huán)不斷地向各對(duì)應(yīng)從站發(fā)送控制指令,并通過(guò)全局?jǐn)?shù)據(jù)塊DB實(shí)時(shí)監(jiān)控交互數(shù)據(jù)與系統(tǒng)故障信息。
從站層主要進(jìn)行ABB工業(yè)機(jī)器人的控制程序設(shè)計(jì),關(guān)鍵技術(shù)點(diǎn)是建立對(duì)應(yīng)主站PLC的數(shù)據(jù)接收/發(fā)送映像區(qū)及機(jī)器人運(yùn)行控制流程。
圖7 “Server-多主站-多從站”多功能工業(yè)機(jī)器人控制系統(tǒng)程序流程圖
2.2.1ABB機(jī)器人數(shù)據(jù)接收/發(fā)送映像區(qū)建立(連接WAN口)
(1) 控制面板,配置,主題選擇Communication;
(2) 進(jìn)入IP Setting;
(3) 點(diǎn)擊ProfinetNetwork;
(4) 修改IP并選擇對(duì)應(yīng)網(wǎng)口;
(5) 重啟;
(6) 控制面板,配置,主題I/O,PROFINET Internal Device;
(7) 配置輸入/輸出字節(jié)數(shù),和PLC設(shè)置一致;
(8) 配置界面下,進(jìn)入Industry Network,PROFINET;
(9) 設(shè)置Station名字,這個(gè)名字要和PLC端對(duì)機(jī)器人的Station設(shè)置一樣;
(10) 添加Signal,Device選擇PROFINET Internal Device。
2.2.2ABB機(jī)器人運(yùn)行控制流程
ABB機(jī)器人Auto On模式(PLC輸入)→機(jī)器人Motors On(PLC輸出)→機(jī)器人Motors On State(PLC輸入)→機(jī)器人PP to Main(PLC輸出)→機(jī)器人工作模式選擇(PLC輸出)→機(jī)器人工藝路徑規(guī)劃及機(jī)器人與S7-1200PLC數(shù)據(jù)實(shí)時(shí)交互(Profinet通信協(xié)議)。
本文設(shè)計(jì)實(shí)現(xiàn)了基于OPC Server的多功能工業(yè)機(jī)器人控制系統(tǒng)。系統(tǒng)基于OPC Server采用了Profinet、TCP、OPC Server、主-從站、機(jī)器人控制、伺服驅(qū)動(dòng)等多種先進(jìn)技術(shù),搭建了“Server-多主站-多從站”網(wǎng)絡(luò)控制架構(gòu),實(shí)現(xiàn)了“集中管理,分散控制”的通信化、網(wǎng)絡(luò)化和多功能化的先進(jìn)機(jī)器人控制策略。系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)應(yīng)用于工業(yè)現(xiàn)場(chǎng),整個(gè)通信網(wǎng)絡(luò)性能穩(wěn)定、可靠,通過(guò)實(shí)踐應(yīng)用證明了其時(shí)效性。