程 偉
(蘇州健雄職業(yè)技術(shù)學院,江蘇 太倉 215411)
智能制造單元系統(tǒng)集成應(yīng)用平臺以汽車行業(yè)的輪轂為產(chǎn)品對象,由總控、倉儲、工具、打磨、加工、檢測、執(zhí)行、分揀等8 個單元組成,安裝在伺服驅(qū)動的導(dǎo)軌上的ABBIRB120 工業(yè)機器人抓取汽車輪轂?zāi)P?,根?jù)工作站流程系統(tǒng)要求,執(zhí)行不同的相對應(yīng)的動作[1]。設(shè)備使用了3 只西門子S7-1 200 CPU1212C DC/DC/DC控制器,三只PLC 之間可以使用西門子S7 單邊通信進行數(shù)據(jù)交換[2]。工業(yè)機器人控制柜使用ABB 標準I/O 板,例如:DSQC651,對氣動控制閥進行控制。如果需要PLC 與工業(yè)機器人之間傳輸更多的數(shù)據(jù),就需要選擇通信的方式,本次測試使用TCP 以太網(wǎng)通信。
1)硬件連接。PLC 的IP 地址設(shè)定為:192.168.0.2,使用網(wǎng)線連接到工業(yè)機器人控制柜的X2 服務(wù)端口(連接PC),工業(yè)機器人的IP 地址設(shè)置為:192.168.0.100。
2)開放式用戶通信指令。使用發(fā)送并建立連接指令TSEND_C、接收數(shù)據(jù)指令TRCV,如圖1 所示。發(fā)送并建立連接指令TSEND_C,每秒鐘觸發(fā)一次,將DB200 的256 byses 數(shù)據(jù)發(fā)送給工業(yè)機器人[3]。接收數(shù)據(jù)指令TRCV,接收來自工業(yè)機器人的數(shù)據(jù),并保存到DB201 的256 byses 數(shù)據(jù),將ADHOC 設(shè)定為1以接收不定長數(shù)據(jù)[4]。
3)在TSEND_C 指令的組態(tài)中,設(shè)置連接參數(shù),如圖2 所示。本地設(shè)定為PLC,連接類型設(shè)定為TCP,本地端口的默認值為2 000,本文設(shè)置為2020。伙伴設(shè)定為“未指定”,輸入工業(yè)機器人的IP 地址192.168.0.100,并設(shè)定為伙伴(工業(yè)機器人)主動建立連接。
4)PLC 發(fā)送給Robot 的數(shù)據(jù)。數(shù)據(jù)塊編號為DB200,數(shù)據(jù)塊屬性中取消“優(yōu)化的塊訪問”,定義了長度256 個無符號短整數(shù)類型的數(shù)組。DB200 的配置,如圖3 所示。
5)PLC 接收Robot 的數(shù)據(jù)。數(shù)據(jù)塊編號為DB201,屬性中取消“優(yōu)化的塊訪問”,定義了長度256 個無符號短整數(shù)類型的數(shù)組。DB201 的配置,如圖4 所示。
6)使用數(shù)據(jù)塊比變量表更方便監(jiān)控。使用數(shù)據(jù)塊,可以更方便對變量進行監(jiān)控,方便數(shù)據(jù)修改,方便了程序的調(diào)試。如果在變量表中新建內(nèi)部存儲器變量M,在線調(diào)試時變量表只能監(jiān)視,還需要在監(jiān)控表中添加變量后,才可以對變量進行監(jiān)控和修改變量的數(shù)值。
1)硬件配置。工業(yè)機器人控制柜安裝的ABB 標準I/O 板,例如:DSQC651,DSQC651 板可以連接8 個數(shù)字輸入信號、8 個數(shù)字輸出和2 個模擬輸出信號。本文使用的工業(yè)機器人控制柜沒有PROFINET 接口,無法進行PROFINET 通信。所以使用網(wǎng)線連接到X2接口,PLC 與工業(yè)機器人使用TCP 通信。
2)通信程序,如圖5 所示。已新建Socket 套字節(jié)soc1,首先使用SocketClose 指令,關(guān)閉套接字。再使用SocketCreate 指令,創(chuàng)建新套接字。SocketConnect 指令,連接遠程計算機,連接到相應(yīng)IP 地址和端口的PLC 控制器[5]。
3)定時中斷。ITimer 指令,定時中斷指令,設(shè)定為每秒鐘執(zhí)行一次中斷int1。CONNECT 指令,將中斷與軟中斷程序相連,將中斷int1 與中斷程序sr 相連接。
4)中斷錯誤的處理。IError 中斷錯誤指令,使用TYPE_ALL 指定任意類型,執(zhí)行中斷int2。CONNECT指令,將中斷與軟中斷程序相連,將中斷int2 與中斷程序err 相連接。中斷程序err 將重新連接中斷,以恢復(fù)定時中斷程序。
5)中斷程序sr,發(fā)送和接收數(shù)據(jù),如圖6 所示。發(fā)送數(shù)據(jù)SocketSend 指令,向遠程計算機發(fā)送數(shù)據(jù),工業(yè)機器人發(fā)送給PLC 數(shù)據(jù),256 字節(jié)的數(shù)組ap。接收數(shù)據(jù)SocketReceive 指令,接收來自遠程計算機的數(shù)據(jù),工業(yè)機器人接收PLC 數(shù)據(jù),256 字節(jié)的數(shù)組pa。
6)中斷錯誤處理程序err,如圖7 所示。工業(yè)機器人在手動模式調(diào)試時,當使能開關(guān)松開時,將發(fā)生定時中斷錯誤,需要重新觸發(fā)定時中斷以恢復(fù)通信。當發(fā)生中斷錯誤時,執(zhí)行中斷程序err,首先使用IDelete指令,取消中斷,取消中斷int1。然后重新建立連接,重新觸發(fā)定時中斷,通信恢復(fù)正常。
PLC 可以與工業(yè)機器人控制柜X2 接口(PC)、X6接口(WAN)進行TCP 通信,連接X2 接口(PC)更方便一下,如果連接到X6 接口(WAN)還需要重啟工業(yè)機器人系統(tǒng)來完成IP 地址設(shè)定。PLC 使用TCP 開放式用戶通信,工業(yè)機器人主動建立連接,工業(yè)機器人使用定時中斷來發(fā)送和接收數(shù)據(jù)。如果工業(yè)機器人控制柜安裝有PROFINET 接口,可以在西門子TIA Portal 博途軟件中安裝相應(yīng)的GSD 文件,實現(xiàn)PLC 與工業(yè)機器人的PROFINET 通信。