杜永聰, 徐 磊
上海發(fā)那科機(jī)器人有限公司 上?!?01906
發(fā)那科機(jī)器人噴涂系統(tǒng)圖形用戶界面軟件的開發(fā)與應(yīng)用
杜永聰,徐磊
上海發(fā)那科機(jī)器人有限公司上海201906
介紹了發(fā)那科機(jī)器人噴涂系統(tǒng)圖形用戶界面軟件PAINTworks的設(shè)計(jì),分析了軟件的開發(fā)環(huán)境及其與各底層設(shè)備之間的通信方法,并給出了軟件開發(fā)中的一些實(shí)用技術(shù)。
機(jī)器人;噴涂;圖形用戶界面;軟件;設(shè)計(jì);應(yīng)用
現(xiàn)階段國內(nèi)機(jī)器人噴涂系統(tǒng)[1-3]應(yīng)用的圖形用戶界面(GUI)大部分采用人機(jī)界面產(chǎn)品,或Intouch[4]、WinCC[5]、Cimplicity、Fatory Talk View等電腦端組態(tài)軟件進(jìn)行快速開發(fā),特點(diǎn)是開發(fā)周期短。
但是,不同客戶所要求開發(fā)的軟件不同,需要采用不同的開發(fā)軟件環(huán)境,并針對(duì)不同的可編程序控制器(PLC)來開發(fā)相關(guān)界面和接口。實(shí)際情況是,每款組態(tài)軟件由于機(jī)制不同,開發(fā)出的界面存在不同,不能很好地推行標(biāo)準(zhǔn)化操作與人機(jī)交互方式。
發(fā)那科基于VB.Net開發(fā)了PAINTworks軟件,可以實(shí)現(xiàn)與發(fā)那科機(jī)器人[6]及不同品牌PLC的通信,開發(fā)人員只需要關(guān)注客戶要求的不同PLC接口即可,而不需要重新開發(fā)GUI。PAINTworks軟件實(shí)現(xiàn)了系統(tǒng)操作標(biāo)準(zhǔn)化,并且能夠同時(shí)與PLC和發(fā)那科機(jī)器人進(jìn)行通信,具有較高的迭代性,提升了用戶體驗(yàn)。
發(fā)那科GUI軟件PAINTworks的主要功能是配置系統(tǒng)參數(shù),修改機(jī)器人工藝參數(shù),監(jiān)控噴房狀態(tài)和機(jī)器人輸入輸出信號(hào),進(jìn)行流量、轉(zhuǎn)速、空氣、高壓等測(cè)試[7],生成生產(chǎn)報(bào)告、報(bào)警報(bào)告、停機(jī)報(bào)告和修改記錄等。軟件架構(gòu)如圖1所示。
軟件基于VB.Net 2008和.Net Framework 3.5平臺(tái)開發(fā),可以運(yùn)行在32位或64位Windows 7操作系統(tǒng)中。
如圖2所示,計(jì)算機(jī)端通過以太網(wǎng)網(wǎng)絡(luò)[8]訪問其它終端設(shè)備,計(jì)算機(jī)端運(yùn)行GUI軟件PAINTworks,實(shí)現(xiàn)對(duì)PLC和機(jī)器人的監(jiān)控與操作。計(jì)算機(jī)端與其它以太網(wǎng)設(shè)備之間的通信內(nèi)容見表1。其中,PAINTworks通過Libnodave庫與西門子PLC進(jìn)行通信,讀寫PLC變量,達(dá)到監(jiān)控目的。PAINTworks
圖1 PAINTworks軟件架構(gòu)
圖2 系統(tǒng)網(wǎng)絡(luò)示意圖
通過PCDK軟件提供的庫與機(jī)器人進(jìn)行通信,監(jiān)控機(jī)器人變量、報(bào)警、輸入輸出等信息,通過文件傳輸協(xié)議與機(jī)器人進(jìn)行文件操作。
PAINTworks與各PLC之間的通信采用了不同的技術(shù),見表2。
以與西門子PLC通信為例,介紹接口實(shí)現(xiàn)。
Libnodave庫提供與西門子S7-200、300、400系列PLC數(shù)據(jù)交換的方法,也可以與VIPA Speed 7中央處理器(CPU)及SAIA S7兼容PLC進(jìn)行數(shù)據(jù)交換。數(shù)據(jù)包括PLC程序的所有內(nèi)存區(qū)域和變量,如標(biāo)記、輸入輸出映射區(qū)、數(shù)據(jù)塊、定時(shí)器、計(jì)數(shù)器等。
另外,Libnodave庫也提供了編程軟件的部分功能,如讀取診斷信息,從PLC中讀取程序塊,向PLC中寫程序塊,啟動(dòng)和停止PLC。Libnodave庫是GPL和LGPL許可下的免費(fèi)軟件,可以運(yùn)行在UNIX和Windows操作系統(tǒng)上。
表1 系統(tǒng)通信內(nèi)容
表2 PAINTworks與PLC通信技術(shù)
想要使用Libnodave庫建立與PLC的連接,首先需要配置計(jì)算機(jī)串口或建立一個(gè)TCP[9]連接。以TCP連接為例,建立一個(gè)連接,讀取變量的流程如下:
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);∥初始化連接對(duì)象
res =daveConnectPLC(dc);∥建立連接
res=daveReadBytes(dc, AREA, area_Number, start_address, length, buffer);
res=daveWriteBytes(dc, AREA, area_Number, start_address, length, buffer);∥交換數(shù)據(jù)
daveDisconnectPLC(dc);∥斷開連接
daveDisconnectAdapter(di);∥斷開適配器
PAINTworks通過PCDK與發(fā)那科機(jī)器人通信。PCDK專用于發(fā)那科機(jī)器人控制器與以太網(wǎng)通信,包含機(jī)器人服務(wù)器、機(jī)器人網(wǎng)絡(luò)鄰居和FTP,其各部分功能如圖3所示。
圖3 PCDK功能示意圖
噴房監(jiān)控界面是GUI的主界面,如圖4所示,主要包括監(jiān)控噴房所有元器件狀態(tài)、機(jī)器人控制器狀態(tài)、機(jī)器人狀態(tài)、車身隊(duì)列信息、各機(jī)器人工藝參數(shù),以及噴房系統(tǒng)、輸調(diào)漆系統(tǒng)、輸送鏈系統(tǒng)互鎖信號(hào)狀態(tài)。在界面上也可以修改隊(duì)列信息,操作機(jī)器人移動(dòng)特殊點(diǎn)。
噴房監(jiān)控所涉及到的控件布局在UserControl控件界面中,軟件為每個(gè)不同的噴房設(shè)計(jì)了不同的UserControl控件界面。在一汽大眾新增內(nèi)表面噴涂機(jī)器人項(xiàng)目中,設(shè)計(jì)有如下5個(gè)界面: ① uctlBC1Booth;② uctlCC1Booth;③ uctlBC2Booth;④ uctlCC2Booth;⑤ uctlPrimeBooth。
當(dāng)應(yīng)用PAINTworks時(shí),只要通過參數(shù)配置不同的站名,程序便自動(dòng)選取不同的噴房界面進(jìn)行顯示。程序設(shè)計(jì)了接口來對(duì)應(yīng)5個(gè)不同的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中有很多參數(shù)與變量,有些存儲(chǔ)在PLC中,有些存儲(chǔ)在數(shù)據(jù)庫中,有些則存儲(chǔ)在機(jī)器人中。對(duì)數(shù)據(jù)進(jìn)行劃分,PAINTworks中的數(shù)據(jù)及存取位置見表3。
圖4 噴房監(jiān)控界面截圖
表3 PAINTworks數(shù)據(jù)劃分
XML是一種標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,可用于傳輸和存儲(chǔ)數(shù)據(jù)。它與Access、Oracle和SQL Server等數(shù)據(jù)庫不同,不提供數(shù)據(jù)分析能力,但是極其簡(jiǎn)單,編輯方便,適合存儲(chǔ)小數(shù)據(jù)量的系統(tǒng)配置參數(shù),不需要安裝額外的管理軟件,使用記事本即可編輯。工作站的配置參數(shù)設(shè)計(jì)如下:
對(duì)于類似生產(chǎn)記錄的數(shù)據(jù),由于數(shù)據(jù)量不斷增加,并且需要保存幾個(gè)月以上,這時(shí)XML就不適用了。PAINTworks使用了SQL Server數(shù)據(jù)庫來存取大量記錄數(shù)據(jù),包括生產(chǎn)記錄、報(bào)警記錄和變更記錄。
PAINTworks軟件可以直接方便地與PLC和發(fā)那科機(jī)器人進(jìn)行通信,不需要組態(tài)軟件通過中間件來實(shí)現(xiàn)與發(fā)那科機(jī)器人的通信,能夠降低項(xiàng)目采購組態(tài)軟件的成本,具有一定優(yōu)勢(shì),且對(duì)機(jī)器人行業(yè)應(yīng)用GUI開發(fā)具有借鑒意義。PAINTworks軟件已成功在一汽大眾、通用汽車、長安汽車、廣汽乘用車[10]等客戶現(xiàn)場(chǎng)應(yīng)用。
[1] 徐磊,杜永聰,黃文斌.水性涂料機(jī)器人噴涂線控制系統(tǒng)的設(shè)計(jì)與開發(fā)[J].上海電氣技術(shù),2015,8(3): 13-17.
[2] 周宜,張宜勝,顧玉興.機(jī)器人噴涂生產(chǎn)線控制系統(tǒng)的設(shè)計(jì)和應(yīng)用[J].上海電氣技術(shù),2009,2(2): 6-10,37.
[3] 舒章鈞.FANUC機(jī)器人在駕駛室自動(dòng)噴涂線上的應(yīng)用及電氣控制[C].2014中國汽車工程學(xué)會(huì)年會(huì),上海,2014.
[4] 湯雪華,齊亮,陳江洪,等.基于InTouch組態(tài)軟件的油壓機(jī)監(jiān)控裝置的設(shè)計(jì)與應(yīng)用[J].上海電氣技術(shù),2009,2(2): 20-24.
[5] 張凱.基于WinCC的單晶硅提拉生長系統(tǒng)應(yīng)用研究[J].上海電氣技術(shù),2009,2(2): 32-37.
[6] 陳炎欽,金玉嵌,周翔.FANUC機(jī)器人激光跟蹤系統(tǒng)在電控柜焊接中的應(yīng)用[J].上海電氣技術(shù),2014,7(4): 31-35.
[7] 李梁.基于FANUC P500淺析噴涂機(jī)器人換色系統(tǒng)[J].現(xiàn)代涂料與涂裝,2015,18(10): 53-55.
[8] 余穎,張琦明.基于PC平臺(tái)的開放型工廠能源管理系統(tǒng)的實(shí)現(xiàn)[J].上海電氣技術(shù),2010,3(3): 16-21.
[9] 譚福生,楊軍,申純太.基于TCP/IP協(xié)議激光測(cè)距儀數(shù)據(jù)讀取及在Labview的實(shí)現(xiàn)[J].上海電氣技術(shù),2010,3(1): 1-4.
[10] 郭磊,曲銀燕.通用汽車公司北美工廠新建轎車涂裝線參觀小結(jié)[J].材料保護(hù),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—),男,碩士,工程師,主要從事涂裝機(jī)器人自動(dòng)化控制系統(tǒng)軟件開發(fā)與應(yīng)用工作,E-mail: duyongcong@shanghai-fanuc.com.cn