黃敦華, 李 勇, 季 君
(北京電子科技職業學院 機電工程學院,北京 100176)
若工業機器人要實現多種不同的控制功能,比如多機器人協同運行、機器人信息交互、機器人狀態監控等,在這些要求下,系統僅僅用PLC控制機器人難以滿足設計要求。系統采用了TCP自定義、Profinet通信協議,構建了基于OPC的“Server-多主站-多從站”多功能工業機器人控制系統硬件網絡結構;提出了應用OPC Client軟件控制機器人的技術方案,由于OPC規范基于OLE/COM技術,同時OLE/COM的擴展遠程OLE自動化與DCOM技術支持TCP/IP等多種網絡協議,因此可以將OPC Client和Server在物理上分開[1],分布于網絡不同節點上。通過自定義TCP建立Client軟件與OPC Server的通信連接,完成機器人控制系統的集中管理與控制;通過Profinet建立OPC Server與主站PLC的通信連接,完成機器人控制系統的信息實時交互;通過Profinet建立主站PLC與各從站設備的通信連接,完成從站設備的多功能控制。
系統采用TCP、Profinet這兩種先進的通信連接,保證通信的穩定可靠,構建了貼近現場實際應用的Server、主站層和從站層的體系結構[2],Server與主站層之間通過Profinet協議通信,主站層與從站層之間也通過Profinet協議通信,這樣設計系統會擁有相當好的兼容性,“Server-多主站-多從站”多功能工業機器人控制系統的硬件網絡結構如圖1所示。

圖1 “Server-多主站-多從站”硬件網絡結構圖
1.1.1Server
OPC技術采用客戶/服務器模型,建立了一套在軟件開發商和硬件生產商之間需要遵守的規則[3]。Server應用SIMATIC NET PC Software(西門子OPC Server),利用組態軟件本身集成的OPC驅動來建立客戶端訪問連接,便于系統網絡組態設計;Client軟件通過TCP與OPC Server進行通信連接及信息傳輸[4];OPC Server與主站層多個S7-1200 PLC之間采用Profinet通信協議進行連接及數據交互。簡而言之,通過Server可將Client軟件命令信息發送給主站層,并將主站層信息反饋至Client軟件[5]。
1.1.2主站層
主站層由工程師PC機、多臺CPU1215C PLC主站控制器、DI/DO擴展模塊、TIA Portal軟件等組成,TIA Portal是西門子工業自動化集團發布的一款全新的全集成自動化軟件,也是業內首個采用統一的工程組態和軟件項目環境的自動化軟件,幾乎適用于所有自動化任務。主站層工程師PC機完成硬件網絡組態、控制程序設計,實施先進系統控制策略[6]。主站層與Server之間采用Profinet通信協議進行連接與數據交互,主站層與從站層之間采用Profinet通信協議進行連接與多功能控制。
1.1.3從站層
從站層由多臺ABB IRB120工業機器人和SEW伺服驅動器組成,從站層與主站層之間采用Profinet通信協議進行連接,實現多功能工業機器人自動控制。從站層接受主站層發送的控制命令,并反饋數據信息到主站層[7]。
硬件網絡組態采用“Server-多主站-多從站”的設計架構,遵循“先Server,其次主站,最后從站”的硬件組態原則[8],在OPC Server(IP地址:192.168.1.100;子網掩碼:255.255.255.0)的Profinet連接上掛上5臺S7-1200 PLC;在其中4臺S7-1200 PLC主站的Profinet連接上分別各自掛上一臺ABB IRB120工業機器人,在另一臺S7-1200 PLC主站的Profinet連接上掛上2臺SEW伺服驅動器[9];硬件網絡組態要求所有主站、從站設備與OPC Server在同一網段,“Server-多主站-多從站”硬件網絡組態如圖2所示。

圖2 “Server-多主站-多從站”硬件網絡組態
1.2.1OPCServer與主站PLC網絡組態
在TIA Portal軟件“設備和網絡”中添加常規PC系統“PC Station”;在“設備視圖”中“用戶應用程序”添加“OPC 服務器”;在“設備視圖”中“Communications modules”添加“PROFINET常規IE”;設置OPC Server的IP地址和子網掩碼,在OPC Server的Profinet連接上添加5臺CPU 1215C DC/DC/DC控制器,并設置CPU控制器的IP地址和子網掩碼。
1.2.21200PLC與ABB工業機器人主-從站硬件網絡組態
在S7-1200PLC主站的Profinet連接上添加1臺ABB工業機器人從站(ABB工業機器人PROFINET的GSD文件為GSDML-V2.33-ABB Robotics-RobotDevice-20171011.),并設定從站的IP地址、子網掩碼,ABB工業機器人與1200PLC的IP地址必須在同一個網段,子網掩碼必須相同[10]。除了IP地址之外,Profinet通信另外一個必須配置的參數為IO device name(I/O設備名稱),可以使用默認,在PLC端直接配置給機器人端即可。
1200PLC與ABB工業機器人主-從站的關鍵技術點是建立Profinet通信映射區的大小與對應關系,根據實際應用數據的需求量來創建通信映射區的大小[11]。系統中每臺1200PLC與ABB機器人的通信映射區設定為8 bytes輸入/8 bytes輸出。譬如1200PLC輸入映像區I地址為IB2 ~IB9(主站接受數據),輸出映像區Q地址為QB2 ~QB9(主站發送數據),1200PLC與ABB工業機器人硬件網絡組態輸入/輸出映像區配置如圖3所示。

圖3 1200PLC與ABB工業機器人硬件網絡組態輸入/輸出映像區配置
ABB工業機器人也需進行相關配置[12]。先選擇機器人網口,ABB機器人Profinet通信可以用機器人里的WAN口或者LAN3口[13];接著配置與PLC通信時的輸入/輸出對應映像區,為2 bytes;還有“Station Name”這個選項是用來與PLC通信時的PROFINET I/O子站的名稱,必須與PLC配置一樣。
1.2.31200PLC與SEW伺服驅動器主-從站硬件網絡組態
在一臺S7-1200PLC主站的Profinet連接上添加2個SEW伺服從站,并設定好從站的IP地址、子網掩碼,同樣SEW伺服和1200PLC的IP地址在同一網段,子網掩碼相同。系統中1200PLC與SEW伺服驅動器的通信映射區設定為12 bytes輸入/12 bytes輸出。譬如1200PLC輸入映像區I地址為IB68~IB79(主站接受數據),輸出映像區Q地址為QB68 ~QB79(主站發送數據),1200PLC與SEW伺服驅動器硬件網絡組態輸入/輸出映像區配置如圖4所示。

圖4 1200PLC與SEW伺服驅動器硬件網絡組態輸入/輸出映像區配置
1200PLC與SEW伺服驅動器主-從站的關鍵技術點是數據通信報文,報文核心參數是PO1,包括驅動器的使能、啟動、停止、復位等,具體定義如圖5所示。

圖5 SEW伺服驅動器PO1通信報文
當SIMATIC NET PC Software安裝成功后,即可進行PC站硬件配置,點擊Station Configuration Editor進入配置窗口。選擇一號插槽,點擊Add按鈕,在添加組件窗口中選擇OPC Server,點擊OK即完成,同樣方法選擇二號插槽添加IE General,配置完成后通過西門子OPC Scout可監控各主站PLC實時數據。PC站硬件配置如圖6所示。

槽1-OCP Server槽2-IE General此配置要和TIA中的OPCServer的PC station對應1-表示PC Station和S7-1200的通信連接已經建立
根據系統“集中管理,分散控制”的原則,Client軟件通過OPC Server集中管理各1200PLC主站;主站1200PLC通過Profinet通信向各從站發送輸出指令[14],從站層工業機器人控制器、伺服驅動器執行具體的分散控制功能,并向各自主站反饋實時數據信息。整體系統程序流程圖如圖7所示。
在TIA Portal軟件平臺上,采用模塊化編程技術與OPC Server數據交換技術;采用先進的控制策略與工業機器人、伺服驅動器自動控制模式,設計出了主站層各S7-1200PLC的自動控制程序,包括主程序OB1、子程序FB1-FB2、子程序FC1-FC2、故障中斷程序、數據處理轉換等模塊化程序,數據處理轉換程序循環地接受各對應從站發送過來的數據信息,也循環不斷地向各對應從站發送控制指令,并通過全局數據塊DB實時監控交互數據與系統故障信息。
從站層主要進行ABB工業機器人的控制程序設計,關鍵技術點是建立對應主站PLC的數據接收/發送映像區及機器人運行控制流程。

圖7 “Server-多主站-多從站”多功能工業機器人控制系統程序流程圖
2.2.1ABB機器人數據接收/發送映像區建立(連接WAN口)
(1) 控制面板,配置,主題選擇Communication;
(2) 進入IP Setting;
(3) 點擊ProfinetNetwork;
(4) 修改IP并選擇對應網口;
(5) 重啟;
(6) 控制面板,配置,主題I/O,PROFINET Internal Device;
(7) 配置輸入/輸出字節數,和PLC設置一致;
(8) 配置界面下,進入Industry Network,PROFINET;
(9) 設置Station名字,這個名字要和PLC端對機器人的Station設置一樣;
(10) 添加Signal,Device選擇PROFINET Internal Device。
2.2.2ABB機器人運行控制流程
ABB機器人Auto On模式(PLC輸入)→機器人Motors On(PLC輸出)→機器人Motors On State(PLC輸入)→機器人PP to Main(PLC輸出)→機器人工作模式選擇(PLC輸出)→機器人工藝路徑規劃及機器人與S7-1200PLC數據實時交互(Profinet通信協議)。
本文設計實現了基于OPC Server的多功能工業機器人控制系統。系統基于OPC Server采用了Profinet、TCP、OPC Server、主-從站、機器人控制、伺服驅動等多種先進技術,搭建了“Server-多主站-多從站”網絡控制架構,實現了“集中管理,分散控制”的通信化、網絡化和多功能化的先進機器人控制策略。系統的結構設計應用于工業現場,整個通信網絡性能穩定、可靠,通過實踐應用證明了其時效性。