黃楷歌,郭樹青,文 猛,岳玲玲
(1.河南機電職業學院,河南鄭州 451192;2.宇通客車股份有限公司,河南鄭州 450000)
工業機器人作為主控制系統,需要與底層設備PLC 進行通信,目前智能生產線控制的思路:主站通過PLC 向工業機器人發送信號,工業機器人接收信號并執行任務,完成任務后向PLC發送反饋信息。PROFINET 通信依靠自身優勢,有效保證了PLC與工業機器人之間的數據傳輸的高效性和穩定性。
PROFINET 是一種基于以太網標準的工業通信模式,具有可靠的實時性、強大的抗干擾性、高速低成本等優點,是極具競爭力的自動化現場總線。PROFINET 分為PROFINET IO 和PROFINET CBA 兩種。其中,PROFINET IO 用于分布式IO 自動化控制系統,有效實現多個節點之間并行傳輸數據,大大提高了傳輸速率。
PROFINET IO 系統由IO 控制器、IO 設備及IO 監視器3個部分組成:①IO 控制器:PROFINET IO 系統的主站,執行自動化控制任務,同時與連接的現場IO 設備通過輸入和輸出信號實現數據交換;②IO 設備:PROFINET IO 系統的從站,指一個或多個分布式現場設備,例如:遠程IO、機器人等;③IO 監視器:用于調試、監視及診斷的編程設備、HMI 設備及PC 機。
智能生產線基料上料站,通過西門子PLC S7-1200(CPU 1215C)主站發送信號,KUKA 機器人(KR3 R540)接收信號,將物料從基料盤搬運至AGV 小車送往下一站,等待接收PLC 信號。闡述S7-1200 與KUKA 機器人之間的PROFINET IO 通信配置。
PROFINET IO 總線通信時,組態第三方設備時需要安裝對應設備的GSD 文件。生產商基于標準通信接口開發對應的GSD文件,包括生產廠商和設備的名稱、硬件和軟件的版本狀況等,保證了不同設備之間可以靈活進行PROFINET 通信。
(1)在博途軟件中新建一個項目并打開,點擊上方的菜單欄中的“選項”>“管理通用站描述文件”安裝KUKA 機器人GSD 文件(圖1)。

圖1 安裝GSD 文件
(2)安裝成功后,在右側的“硬件目錄”>“其他現場設備”>“PROFINET IO”>“I/O”>“KUKA Roboter GmbH”選擇“KRC4-ProfiNet_3.3”雙擊添加到“網絡視圖”界面。
3)聯合速度控制能夠有效降低車輛制動的熱量集聚和工作溫度,防止制動器的熱衰退和高溫磨損,有效保護車輛制動器,延長剎車片更換里程,降低了人員的工作強度。
(3)先點擊剛添加的“KRC4”的圖標,然后點擊下方菜單欄中的“屬性”>“PROFINET 接口[X1]”>“以太網地址”將KUKA硬件組件分配到PROFINET 子網中。
(4)修改下面的“IP 協議”中的IP 地址,保證和PLC 地址在同一子網且不沖突。在“PROFINET”中選擇“自動生成PROFINET設備名稱”,自動生成的設備名稱為“KPC4”,修改IP 地址(圖2)。

圖2 修改IP 地址
(5)雙擊“KRC4”的圖標進入KUKA 硬件組件的“設備視圖”,點擊右側的“設備數據”并展開。在這里可以設置PLC 與KUKA機器人之間PROFINET 通信IO 地址。
(6)刪除64 個安全IO。按照以上步驟設置完成后重新編譯下載到PLC。這時下載完成后PLC 因為機器人端的PROFINET通信配置還沒有完成,提示下位組件錯誤而亮紅燈報錯。
KUKA 機器人的PROFINET 通信配置需要借助KUKA 的線下編程軟件WorkVisual,它集合了配置、編程、調試和診斷等多種功能。
(1)將編程的電腦、PLC、機器人設置成同一網段。雙擊WorkVisual 圖標,在彈出的“WorkVisual 項目瀏覽器”中點擊“搜索”,搜索到項目后點擊右下角“打開”。
(2)打開項目后,在左側的“項目結構”中選擇打開的項目右鍵“設為激活的控制系統”,在展開的目錄中右鍵“總線結構”點添加,在彈出的窗口里選擇“PROFINET”點擊“OK”。
(3)雙擊左側剛添加的“PROFINET”。因為在PLC 添加的KUKA 硬件組件中刪除了安全IO,所以“Number of safe I/Os”中選擇“0”,下面的“Number of IOs”與PLC 中保持一致為“256”。按照說明對PROFINET 進行設置,其他保持默認。最后點擊“OK”。
(4)在界面的左側欄中選擇“數字輸入端”或者“數字輸出端”,右側欄中點擊上方的“現場總線”然后選擇“PROFINET”進行信號的映射,注意輸入(IN)對輸入(Input)、輸出(OUT)對輸出(Output)。
(5)映射完信號后,首先點擊右上方功能欄中的“生產代碼”,接著點擊“安裝”下載到機器人。
完成S7-1200 與KUKA 機器人之間的PROFINET IO 通信配置,然后進行通信信號的確認工作,保證PLC 與機器人之間能正常實現數據交換。
(1)PLC 的輸出(OUT)對應機器人側的輸入(IN),PLC 輸入(IN)對應機器人側的輸出(OUT)。機器人的信號按照順序依次排列,PLC 側的信號給定的地址頭自動生成地址尾一共256位(bit)。假設給定的PLC 這邊的輸入、輸出地址頭都是22(即從I22.0、Q22.0 開始),則機器人輸入信號$IN[1]~$IN[7]分別對應PLC 輸出信號Q22.0~Q22.6,則PLC 輸入信號I22.0~I22.6 分別對應機器人輸出信號$OUT[1]~ $OUT[7],以此類推。
(2)在機器人示教器上,可以在主菜單中選擇“顯示”>“輸入/輸出端”>選擇“數字輸入”或者“輸出端”來監控、置位/復位輸入輸出。
首先KUKA 機器人需要安裝PROFINET 軟件包,然后完成PLC 與機器人的通信配置。設置完成后將配置文件下載到機器人柜進行更新,然后對PLC 和機器人進行通信測試。根據設置的映射地址,機器人強制輸入信號IN[1]在博圖中在線查看PLC輸出信號Q22.0 是否接收到,反過來PLC 強制輸入信號I22.0 看機器人端輸出信號OUT[1]能否接收到,收發測試正常說明組態成功,通信調試完成。
案例:某智能生產線基料上料站,料盤在伸出位時按下設備上的“啟動”按鈕,PLC 給機器人$IN[7]“機器人取料”信號,機器人先去料盤利用氣爪上的物料傳感器$IN[11]檢測取料位是否有料,檢測到物料并取料放到一個固定位置,未檢測到物料機器人移動至下一位置取料檢測,直到檢測到物料或者料盤無料縮回。
PLC 程序設計是在博圖V15 環境下完成,PLC 給機器人取料信號($IN[7]),當機器人抓取物料快上到安全點后,發送取料完成信號($OUT[7]),將PLC 給的取料信號復位掉,S7-1200 LAD 程序如圖3 所示。

圖3 S7-1200 LAD 程序
在編寫類似的程序時,根據程序的功能和機器人的動作可以將程序劃分成一個個子程序,方便編寫和調取。料盤上一共有12 個取料位置。將1 號位置取料的子程序命名為Pos_1()、2 號位置取料的子程序命名為Pos_2(),以此類推12 號位置取料的子程序命名為Pos_12()。
機器人等待PLC 發送的取料信號$IN[7],若傳感器$IN[11]檢測到有料,則通過發送有料信號,機器人進行取料,完成后向PLC反饋取料完成信號$OUT[7];若物料,則運動到下一個取料位置。根據程序設置取料順序進行取料,取料位置1 為例,主要代碼如下:
編寫好程序邏輯架構,然后通過示教器對取料、等待、放料等工位逐一示教,示教完成后在低速空載下對自動程序進行驗證,保證PLC 與機器人之間的信號正常通信和示教點的合理性,并隨時修改不合適的示教點。反復測試無誤后帶載測試,料盤各取料位置都帶料測試,驗證無誤后調試完成。
PROFINET 通信具有實時性、安全性、低故障的特性,廣泛運用于環境惡劣的工業現場。基于智能生產線基料上料站,介紹了西門子PLC S7-1200 與KUKA 機器人之間的PROFINET 通信配置與調試方法。