杜永聰, 徐 磊
上海發那科機器人有限公司 上海 201906
發那科機器人噴涂系統圖形用戶界面軟件的開發與應用
杜永聰,徐磊
上海發那科機器人有限公司上海201906
介紹了發那科機器人噴涂系統圖形用戶界面軟件PAINTworks的設計,分析了軟件的開發環境及其與各底層設備之間的通信方法,并給出了軟件開發中的一些實用技術。
機器人;噴涂;圖形用戶界面;軟件;設計;應用
現階段國內機器人噴涂系統[1-3]應用的圖形用戶界面(GUI)大部分采用人機界面產品,或Intouch[4]、WinCC[5]、Cimplicity、Fatory Talk View等電腦端組態軟件進行快速開發,特點是開發周期短。
但是,不同客戶所要求開發的軟件不同,需要采用不同的開發軟件環境,并針對不同的可編程序控制器(PLC)來開發相關界面和接口。實際情況是,每款組態軟件由于機制不同,開發出的界面存在不同,不能很好地推行標準化操作與人機交互方式。
發那科基于VB.Net開發了PAINTworks軟件,可以實現與發那科機器人[6]及不同品牌PLC的通信,開發人員只需要關注客戶要求的不同PLC接口即可,而不需要重新開發GUI。PAINTworks軟件實現了系統操作標準化,并且能夠同時與PLC和發那科機器人進行通信,具有較高的迭代性,提升了用戶體驗。
發那科GUI軟件PAINTworks的主要功能是配置系統參數,修改機器人工藝參數,監控噴房狀態和機器人輸入輸出信號,進行流量、轉速、空氣、高壓等測試[7],生成生產報告、報警報告、停機報告和修改記錄等。軟件架構如圖1所示。
軟件基于VB.Net 2008和.Net Framework 3.5平臺開發,可以運行在32位或64位Windows 7操作系統中。
如圖2所示,計算機端通過以太網網絡[8]訪問其它終端設備,計算機端運行GUI軟件PAINTworks,實現對PLC和機器人的監控與操作。計算機端與其它以太網設備之間的通信內容見表1。其中,PAINTworks通過Libnodave庫與西門子PLC進行通信,讀寫PLC變量,達到監控目的。PAINTworks

圖1 PAINTworks軟件架構

圖2 系統網絡示意圖
通過PCDK軟件提供的庫與機器人進行通信,監控機器人變量、報警、輸入輸出等信息,通過文件傳輸協議與機器人進行文件操作。
PAINTworks與各PLC之間的通信采用了不同的技術,見表2。
以與西門子PLC通信為例,介紹接口實現。
Libnodave庫提供與西門子S7-200、300、400系列PLC數據交換的方法,也可以與VIPA Speed 7中央處理器(CPU)及SAIA S7兼容PLC進行數據交換。數據包括PLC程序的所有內存區域和變量,如標記、輸入輸出映射區、數據塊、定時器、計數器等。
另外,Libnodave庫也提供了編程軟件的部分功能,如讀取診斷信息,從PLC中讀取程序塊,向PLC中寫程序塊,啟動和停止PLC。Libnodave庫是GPL和LGPL許可下的免費軟件,可以運行在UNIX和Windows操作系統上。

表1 系統通信內容

表2 PAINTworks與PLC通信技術
想要使用Libnodave庫建立與PLC的連接,首先需要配置計算機串口或建立一個TCP[9]連接。以TCP連接為例,建立一個連接,讀取變量的流程如下:
fds.rfd=openSocket(102, IPaddress_of_CP);
fds.wfd=fds.rfd;∥配置TCP連接
di=daveNewInterface(fds, "IF1", localMPI, daveProtoXXX, daveSpeedYYY);∥用建立的連接初始化接口
res =daveInitAdapter(di);∥用初始化的接口初始化適配器
dc =daveNewConnection(di, MPI_address, Rack, Slot);∥初始化連接對象
res =daveConnectPLC(dc);∥建立連接
res=daveReadBytes(dc, AREA, area_Number, start_address, length, buffer);
res=daveWriteBytes(dc, AREA, area_Number, start_address, length, buffer);∥交換數據
daveDisconnectPLC(dc);∥斷開連接
daveDisconnectAdapter(di);∥斷開適配器
PAINTworks通過PCDK與發那科機器人通信。PCDK專用于發那科機器人控制器與以太網通信,包含機器人服務器、機器人網絡鄰居和FTP,其各部分功能如圖3所示。

圖3 PCDK功能示意圖
噴房監控界面是GUI的主界面,如圖4所示,主要包括監控噴房所有元器件狀態、機器人控制器狀態、機器人狀態、車身隊列信息、各機器人工藝參數,以及噴房系統、輸調漆系統、輸送鏈系統互鎖信號狀態。在界面上也可以修改隊列信息,操作機器人移動特殊點。
噴房監控所涉及到的控件布局在UserControl控件界面中,軟件為每個不同的噴房設計了不同的UserControl控件界面。在一汽大眾新增內表面噴涂機器人項目中,設計有如下5個界面: ① uctlBC1Booth;② uctlCC1Booth;③ uctlBC2Booth;④ uctlCC2Booth;⑤ uctlPrimeBooth。
當應用PAINTworks時,只要通過參數配置不同的站名,程序便自動選取不同的噴房界面進行顯示。程序設計了接口來對應5個不同的UserControl控件界面,具體如下:
Friend Interface BSDForm
ReadOnly Property FormName() As String
Property PLCData() As String()
Property IsRemoteZone() As Boolean
Property RobotIndex() As Integer
Property ScatteredAccessData() As String()
Property LinkIndex() As ePLCLink
Sub Initialize(Optional ByVal sParam As String = "")
Sub MakeCarMove()
Sub subUpdateSAData()
Overloads Sub Show(ByVal StartData As String())
Sub PrivilegeChange(ByVal NewPrivilege As ePrivilege)
Sub subCleanUpRobotLabels(ByVal rArm As clsArm)
Sub InitPLCData()
Sub UpdatePLCData(Optional ByVal pLink As ePLCLink = ePLCLink.None)
End Interface
PAINTworks中有很多參數與變量,有些存儲在PLC中,有些存儲在數據庫中,有些則存儲在機器人中。對數據進行劃分,PAINTworks中的數據及存取位置見表3。

圖4 噴房監控界面截圖

表3 PAINTworks數據劃分
XML是一種標記電子文件使其具有結構性的標記語言,可用于傳輸和存儲數據。它與Access、Oracle和SQL Server等數據庫不同,不提供數據分析能力,但是極其簡單,編輯方便,適合存儲小數據量的系統配置參數,不需要安裝額外的管理軟件,使用記事本即可編輯。工作站的配置參數設計如下:
對于類似生產記錄的數據,由于數據量不斷增加,并且需要保存幾個月以上,這時XML就不適用了。PAINTworks使用了SQL Server數據庫來存取大量記錄數據,包括生產記錄、報警記錄和變更記錄。
PAINTworks軟件可以直接方便地與PLC和發那科機器人進行通信,不需要組態軟件通過中間件來實現與發那科機器人的通信,能夠降低項目采購組態軟件的成本,具有一定優勢,且對機器人行業應用GUI開發具有借鑒意義。PAINTworks軟件已成功在一汽大眾、通用汽車、長安汽車、廣汽乘用車[10]等客戶現場應用。
[1] 徐磊,杜永聰,黃文斌.水性涂料機器人噴涂線控制系統的設計與開發[J].上海電氣技術,2015,8(3): 13-17.
[2] 周宜,張宜勝,顧玉興.機器人噴涂生產線控制系統的設計和應用[J].上海電氣技術,2009,2(2): 6-10,37.
[3] 舒章鈞.FANUC機器人在駕駛室自動噴涂線上的應用及電氣控制[C].2014中國汽車工程學會年會,上海,2014.
[4] 湯雪華,齊亮,陳江洪,等.基于InTouch組態軟件的油壓機監控裝置的設計與應用[J].上海電氣技術,2009,2(2): 20-24.
[5] 張凱.基于WinCC的單晶硅提拉生長系統應用研究[J].上海電氣技術,2009,2(2): 32-37.
[6] 陳炎欽,金玉嵌,周翔.FANUC機器人激光跟蹤系統在電控柜焊接中的應用[J].上海電氣技術,2014,7(4): 31-35.
[7] 李梁.基于FANUC P500淺析噴涂機器人換色系統[J].現代涂料與涂裝,2015,18(10): 53-55.
[8] 余穎,張琦明.基于PC平臺的開放型工廠能源管理系統的實現[J].上海電氣技術,2010,3(3): 16-21.
[9] 譚福生,楊軍,申純太.基于TCP/IP協議激光測距儀數據讀取及在Labview的實現[J].上海電氣技術,2010,3(1): 1-4.
[10] 郭磊,曲銀燕.通用汽車公司北美工廠新建轎車涂裝線參觀小結[J].材料保護,2007,40(1): 65-67.
(編輯: 啟德)
Introduced the software PAINTworks that applied to the design of GUI for FANUC spraying robot system, analyzed the development environment of the software and its communication methods with the underlying equipment and gave some practical techniques in software development.
Robot;Spraying;GUI;Software;Design;Application
TM571
A
1674-540X(2017)04-050-05
2017年8月
杜永聰(1988—),男,碩士,工程師,主要從事涂裝機器人自動化控制系統軟件開發與應用工作,E-mail: duyongcong@shanghai-fanuc.com.cn