劉文光 張銘銘
(1.濟南職業(yè)學(xué)院,山東濟南250103;2.青島市中心醫(yī)院,山東青島266042)
OPC UA是一個開放的跨平臺架構(gòu),由全世界30多家知名制造企業(yè)聯(lián)合開發(fā),具有較高的安全性和可靠性,為自動化生產(chǎn)系統(tǒng)提供了新的信息模型和抽象體系結(jié)構(gòu),將復(fù)雜的數(shù)據(jù)類型嵌入到服務(wù)器地址空間中,支持大量的通用服務(wù),已成為工業(yè)4.0階段的通信標(biāo)準(zhǔn)[1]。
本測試?yán)肙PC UA通信實現(xiàn)如下功能:將ABB工業(yè)機器人的IRC5控制器設(shè)為OPC UA服務(wù)器,利用UaExpert作為OPC UA客戶端,在RobotStudio仿真環(huán)境下實現(xiàn)ABB工業(yè)機器人系統(tǒng)和客戶端的通信,同時還可實現(xiàn)在客戶端控制工業(yè)機器人啟停,讀取工業(yè)機器人運行狀態(tài)信息。
在RobotStudio中創(chuàng)建ABB工業(yè)機器人系統(tǒng),選擇系統(tǒng)選項“616-1 PC interface”和“623-1 Multitasking”。
新建RAPID例行程序控制TCP的運動軌跡,利用clock型程序數(shù)據(jù)clock1記錄TCP每個周期的運動時間。添加num型可變量nCycleTime,利用功能ClkRead()將clock1中記錄的周期時間值賦給nCycleTime。
添加虛擬輸入輸出vdi_start、vdi_stop、vdo_motoron、vdo_start和vdo_stop,其中vdo_start和vdo_stop的Access Level 設(shè)置為All,使得所有本地客戶端和遠程客戶端都擁有對vdo_start和vdo_stop的寫入權(quán)限。添加2個Cross Connection:start1和stop1,如圖1、圖2 所示。添加兩個System Input:vdi_start_Start和vdi_stop_Stop,將虛擬輸入vdi_start與系統(tǒng)輸入Start關(guān)聯(lián),將虛擬輸入vdi_stop與系統(tǒng)輸入Stop關(guān)聯(lián)。添加1個System Output:vdo_motoron_MotorOn,將虛擬輸出vdo_motoron與系統(tǒng)輸出Motors On關(guān)聯(lián)。
圖1 Cross Connection:start1
新建bool型可變量flag1。新建例行程序set_flag1()和reset_flag1()。在set_flag1()中 將flag1 賦 值 為TRUE,在reset_flag1()中將flag1賦值為FALSE。添加4個Event Routine:START_set_flag1 、RESTART_set_flag1 、STOP_reset_flag1 和QSTOP_reset_flag1。START_set_flag1和RESTART_set_flag1分別用于啟動和重啟時將flag1賦值為TRUE,STOP_reset_flag1和QSTOP_reset_flag1分別用于停止和急停時將flag1賦值為FALSE。
圖2 Cross Connection:stop1
添加Task t2,在Task t2中編寫程序?qū)崿F(xiàn)啟停控制,程序調(diào)試無誤后將其Type設(shè)為Semistatic。
打開IRC5 OPC UA Server Config Tool,單擊,單擊Add New Alias,單擊。勾選System Name,單擊,單擊。單擊,在彈出的OPC Server restart窗口中單擊。單擊,輸入獲取OPC Server數(shù)據(jù)讀寫權(quán)限的用戶名和密碼,在Username對話框中輸入Default User,在Password對話框中輸入robotics。單擊,記錄下IRC5的URL。
如需開發(fā)OPC UA客戶端,可從UaExpert中查看節(jié)點的通用屬性,NodeId用于在地址空間中唯一確定和定位一個節(jié)點;NodeClass定義節(jié)點類別;BrowseName用于瀏覽地址空間時標(biāo)識節(jié)點;DisplayName表示節(jié)點名稱;Description表示節(jié)點的本地化描述;WriteMask 定義節(jié)點屬性是否可被修改;UserWriteMask定義當(dāng)前用戶是否可修改節(jié)點屬性[2]。
本測試實現(xiàn)了作為OPC UA服務(wù)器的ABB工業(yè)機器人IRC5控制器與作為OPC UA客戶端的UaExpert之間的通信,可以在OPC UA客戶端遠程監(jiān)控ABB工業(yè)機器人。下一步的工作,可探索實現(xiàn)不同廠家的工業(yè)機器人、PLC、各種嵌入式設(shè)備之間數(shù)據(jù)通信的統(tǒng)一操作。