徐洪健 趙波/上海三一精機(jī)有限公司研究院電氣所
基于FANUC數(shù)控系統(tǒng)的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
徐洪健 趙波/上海三一精機(jī)有限公司研究院電氣所
本文以FANUC數(shù)控系統(tǒng)為基礎(chǔ),分析數(shù)控機(jī)床數(shù)據(jù)采集的需求,對(duì)現(xiàn)場(chǎng)數(shù)控機(jī)床運(yùn)行情況、NC、PMC和報(bào)警等重要數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,形成可靠完善的數(shù)據(jù)采集技術(shù),確保生產(chǎn)安全高效,產(chǎn)品質(zhì)量?jī)?yōu)良。重點(diǎn)是完成數(shù)據(jù)采集系統(tǒng)用戶界面的開(kāi)發(fā)。采用原型法設(shè)計(jì)數(shù)據(jù)采集系統(tǒng),使用C#語(yǔ)言在。NET框架上開(kāi)發(fā)用戶界面,應(yīng)用FANUC的FOCAS庫(kù)函數(shù)實(shí)現(xiàn)PC機(jī)與CNC的通訊和實(shí)時(shí)數(shù)據(jù)的采集,應(yīng)用SQLServer數(shù)據(jù)庫(kù)對(duì)相關(guān)數(shù)據(jù)進(jìn)行存放。
數(shù)控系統(tǒng);數(shù)據(jù)采集;用戶界面
本課題所開(kāi)發(fā)的數(shù)據(jù)采集系統(tǒng)以FANUC 0i-TD數(shù)控系統(tǒng)為實(shí)驗(yàn)對(duì)象。FANUC0i-TD數(shù)控系統(tǒng)裝配有高可靠性、高性價(jià)比的納米CNC,帶有納米插補(bǔ)功能,并且配有高速、大容量的PMC,支持100Mbps的內(nèi)嵌式以太網(wǎng)。
通過(guò)內(nèi)嵌式以太網(wǎng)可將CNC與PC機(jī)連接起來(lái),即可進(jìn)行NC程序的傳輸、機(jī)械的控制和運(yùn)行狀態(tài)的監(jiān)視、機(jī)械的調(diào)整和維護(hù)。其基本功能包括:
1.基于FTP(File Transfer Protocol)文件傳輸功能的NC程序的傳輸可通過(guò)CNC畫面的操作來(lái)傳輸NC程序。電腦側(cè)使用FTP服務(wù)器·軟件,所以,可以與Windows環(huán)境以外的主機(jī)傳輸NC程序。
2.基于FOCAS1/Ethernet的機(jī)械控制和監(jiān)視可利用 i CELL和 CIMPLICITY(FANUC數(shù)控系統(tǒng)機(jī)床集中管理軟件),創(chuàng)建進(jìn)行機(jī)械的控制和監(jiān)視的系統(tǒng)。此外,也可通過(guò)CNC主導(dǎo)信息通知功能,利用NC程序、或者梯圖程序發(fā)出的指令,從CNC自發(fā)地向電腦的應(yīng)用程序通知信息(CNC/PMC數(shù)據(jù))。
3.可以在線進(jìn)行基于FANUC LADDER-Ⅲ以及SERVO GUIDE的機(jī)械的調(diào)整和維護(hù)、梯形圖程序的維護(hù)和伺服電機(jī)的調(diào)整。
在數(shù)據(jù)采集系統(tǒng)中,F(xiàn)ANUC數(shù)控系統(tǒng)與PC機(jī)的通訊通過(guò)FANUC以太網(wǎng)功能(Ethernet Function)實(shí)現(xiàn)。FANUC以太網(wǎng)功能主要包含:NC數(shù)據(jù)傳送、遠(yuǎn)程控制等功能。其主要通過(guò)TCP/IP協(xié)議實(shí)現(xiàn),使用時(shí)在CNC系統(tǒng)上只需設(shè)定CNC的IP、TCP和UDP端口等信息,在PC機(jī)人機(jī)界面中設(shè)置IP和端口號(hào)即可。
采用FANUC數(shù)控系統(tǒng)的機(jī)床均具有以太網(wǎng)功能,它的通訊協(xié)議是TCP/IP(Transmission ControlPtotocol/Internet Protool)協(xié)議,TCP/IP采用四層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來(lái)完成自己的需求。這四層分別為:
1.應(yīng)用層:應(yīng)用程序間溝通的層,如簡(jiǎn)單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪問(wèn)協(xié)議(Telnet)等。
2.傳輸層:提供了節(jié)點(diǎn)間的數(shù)據(jù)傳輸服務(wù),如傳輸控制控制協(xié)議(TCP)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等。
3.互聯(lián)網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。
4.網(wǎng)絡(luò)接口層:對(duì)實(shí)際的網(wǎng)絡(luò)媒體的管理,定義如何使用實(shí)際網(wǎng)絡(luò)(如Ethernet、Serial Line等)來(lái)傳送數(shù)據(jù)。
a)數(shù)據(jù)采集系統(tǒng)的構(gòu)架分析
在FANUC數(shù)控機(jī)床上開(kāi)通FOCAS功能,將數(shù)控系統(tǒng)和PC機(jī)通過(guò)網(wǎng)線連接,分別在CNC和數(shù)據(jù)采集軟件中設(shè)置相關(guān)數(shù)據(jù),實(shí)現(xiàn)通訊。在數(shù)據(jù)采集軟件上實(shí)現(xiàn)對(duì)NC各個(gè)軸坐標(biāo)、主軸轉(zhuǎn)速、進(jìn)給速度等信息的查看,實(shí)現(xiàn)對(duì)主軸伺服參數(shù)實(shí)時(shí)線性顯示,對(duì)報(bào)警記錄和用戶登錄信息在數(shù)據(jù)庫(kù)中進(jìn)行記錄。
b)FOCAS技術(shù)
FOCAS可以通過(guò)HSSB或以太網(wǎng)(TCP/IP)接口在PC和CNC之間完成交換數(shù)據(jù)和信息共享,它的主要功能包括以下幾部分:
1.CNC:NC控制的伺服軸、主軸相關(guān)數(shù)據(jù)的讀寫
2.CNC:加工程序相關(guān)的操作
3.CNC:讀寫CNC文件數(shù)據(jù)
4.CNC:讀取刀具壽命管理信息
5.CNC:讀取歷史信息記錄
6.CNC:讀取伺服、主軸數(shù)據(jù)
7.CNC:讀取數(shù)據(jù)服務(wù)器、DNC1、DNC2、OSI-Ethernet(只能使用高速串行總線HSSB)相關(guān)信息
8.CNC:讀取波形診斷數(shù)據(jù)
9.CNC:讀取沖床CNC相關(guān)數(shù)據(jù)
10.CNC:讀寫激光器CNC相關(guān)數(shù)據(jù)
11.CNC:讀寫伺服學(xué)習(xí)控制相關(guān)數(shù)據(jù)(只能使用HSSB)
12.CNC:讀寫其他數(shù)據(jù)
這些數(shù)據(jù)包括連續(xù)工作狀態(tài)數(shù)據(jù)、診斷數(shù)據(jù)、A/D轉(zhuǎn)換數(shù)據(jù)、報(bào)警信息和操作提示信息等等。
13.PMC:讀寫PMC相關(guān)數(shù)據(jù)
這些數(shù)據(jù)包括G、F、Y、A、R、T、C、D地址等。
PMC:讀寫PROFIBUS-DP相關(guān)內(nèi)容
如后圖1FOCAS功能
FOCAS函數(shù)庫(kù)功能非常強(qiáng)大,但在軟件的實(shí)際設(shè)計(jì)中,只取用數(shù)據(jù)采集相關(guān)的函數(shù),不對(duì)其他函數(shù)進(jìn)行使用,原因是對(duì)原函數(shù)對(duì)數(shù)據(jù)的處理并不滿足需求。因此,在報(bào)警解決信息與報(bào)警錄入到歷史信息中,采用自行編程,更加貼近實(shí)際,滿足需求。
在使用C#編程中,嵌入FANUC提供FOCAS的fwlib32.dll文件和fwlib32.cs類庫(kù),實(shí)現(xiàn)與CNC的通訊和數(shù)據(jù)采集。
DLL文件為動(dòng)態(tài)鏈接庫(kù)(Dynamic Link Library),是Microsoft Windows最重要的組成要素之一。動(dòng)態(tài)鏈接庫(kù)是不能直接執(zhí)行的,也不能接收消息,它只是一個(gè)獨(dú)立的文件,其中包含能被程序或其他DLL調(diào)用來(lái)完成一定操作的方法。但這方法不是執(zhí)行程序本身的一部分,而是根據(jù)進(jìn)程的需要按需載入,才能發(fā)揮作用。FOCAS中的fwlib32.dll中的方法就是通過(guò)fwlib32.cs的調(diào)用實(shí)現(xiàn),用戶通過(guò)使用fwlib32.cs類庫(kù)就可以調(diào)用這些方法,使用非常方便。
c)功能設(shè)計(jì)與實(shí)現(xiàn)
除了純粹的數(shù)據(jù)采集,系統(tǒng)還需要對(duì)采集的數(shù)據(jù)進(jìn)行存儲(chǔ)和處理,方便進(jìn)一步應(yīng)用。軟件具體功能設(shè)計(jì)如下:
如后圖2軟件功能結(jié)構(gòu)
數(shù)據(jù)采集是指PC機(jī)與CNC進(jìn)行連接,將CNC中信息采集到PC機(jī)上。軟件所采集的數(shù)控機(jī)床數(shù)據(jù)分為報(bào)警信息、CNC中各個(gè)軸坐標(biāo)、主軸的I/O點(diǎn)狀態(tài)和主軸伺服參數(shù)。
軟件以監(jiān)測(cè)為主,通過(guò)報(bào)警信息可以直接了解到數(shù)控機(jī)床是否正常運(yùn)行及機(jī)床運(yùn)行不正常的原因。通過(guò)各個(gè)軸的位置坐標(biāo)信息和進(jìn)給速度可以了解到機(jī)床加工狀態(tài)。主軸的性能決定加工的質(zhì)量和切削效率的重要因素,所以對(duì)主軸的數(shù)據(jù)采集尤為重要。所以對(duì)PMC中與主軸相關(guān)的檔位、主軸松拉刀和風(fēng)冷油冷等信號(hào)進(jìn)行采集;對(duì)主軸伺服功率繪制線性圖,實(shí)時(shí)了解其穩(wěn)定性。
數(shù)據(jù)處理功能:
數(shù)據(jù)處理指數(shù)據(jù)庫(kù)表的建立,對(duì)用戶和歷史報(bào)警等信息進(jìn)行管理,實(shí)現(xiàn)增加、刪除、查詢、刷新等操作;實(shí)現(xiàn)對(duì)現(xiàn)報(bào)警的存儲(chǔ)和將現(xiàn)報(bào)警添加到歷史報(bào)警記錄中;對(duì)報(bào)警的解決辦法進(jìn)行管理,實(shí)現(xiàn)自主寫入解決辦法。
用戶可以查看用戶數(shù)量及各用戶的用戶名與密碼,更可以實(shí)現(xiàn)用戶的增加刪除與查詢功能。
用戶可查看當(dāng)前報(bào)警的詳細(xì)信息,包括報(bào)警序號(hào),報(bào)警內(nèi)容及報(bào)警解決辦法;也可以查看歷史報(bào)警,并對(duì)歷史報(bào)警信息進(jìn)行查詢、刪除和刷新的操作,而且用戶可以通過(guò)相關(guān)操作將處理完的現(xiàn)報(bào)警信息轉(zhuǎn)入到歷史報(bào)警信息中。
可視化功能:
可視化通過(guò)人機(jī)界面的設(shè)計(jì)實(shí)現(xiàn),實(shí)現(xiàn)用戶登錄,顯示NC、PMC、主軸伺服參數(shù)與報(bào)警信息,幫助等功能。對(duì)主軸伺服系數(shù)等進(jìn)行記錄并顯示實(shí)時(shí)曲線。
第一部分是登陸界面。通過(guò)驗(yàn)證后才可以進(jìn)入到主界面,驗(yàn)證成功后隱去登陸界面,顯示數(shù)據(jù)采集主界面。
第二部分是數(shù)據(jù)采集主界面。在主界面中,用戶可以查看到報(bào)警信息的報(bào)警序號(hào)和報(bào)警描述;監(jiān)測(cè)到NC各個(gè)軸的實(shí)際坐標(biāo)與機(jī)器坐標(biāo)與主軸轉(zhuǎn)速和進(jìn)給速度;查看主軸各I/O點(diǎn)狀態(tài)與主軸伺服參數(shù)。輔助功能是機(jī)床運(yùn)轉(zhuǎn)狀態(tài)和系統(tǒng)時(shí)間。配有“報(bào)警詳情”按鈕、“用戶管理”按鈕、“系統(tǒng)配置”按鈕、“幫助”按鈕,方便用戶進(jìn)一步操作。
第三部分是用戶管理界面,用戶通過(guò)點(diǎn)擊主界面的“用戶”按鈕進(jìn)入。在此界面中,用戶可以查看和修改用戶數(shù)量及各用戶的用戶名與密碼。
第四部分是報(bào)警界面,用戶通過(guò)點(diǎn)擊主界面的“詳情”按鈕進(jìn)入。在此界面中,可查看當(dāng)前報(bào)警的詳細(xì)信息,包括報(bào)警序號(hào),報(bào)警內(nèi)容及報(bào)警解決辦法;也可以查看歷史報(bào)警,并對(duì)歷史報(bào)警信息進(jìn)行查詢、刪除和刷新的操作,而且用戶可以通過(guò)“確認(rèn)”按鈕將處理完的現(xiàn)報(bào)警信息轉(zhuǎn)入到歷史報(bào)警信息中。
第五部分是系統(tǒng)界面,用戶通過(guò)點(diǎn)擊主界面的“系統(tǒng)”按鈕進(jìn)入。此界面分為兩部分:
1.連接:用于設(shè)置PC機(jī)的IP地址,與數(shù)控機(jī)床進(jìn)行匹配,實(shí)現(xiàn)相互通訊。軟件預(yù)設(shè)初始IP地址為192.168.1.11,端口號(hào)為8193,用戶也可根據(jù)需要更改。
2.報(bào)警錄入:用于對(duì)報(bào)警的序號(hào)、報(bào)警描述和解決辦法進(jìn)行增加,刪除、查詢與刷新的操作。
第六部分是幫助界面,用戶通過(guò)點(diǎn)擊主界面的“幫助”按鈕進(jìn)入。此界面介紹了本采集系統(tǒng)的功能與操作說(shuō)明。
如后圖3界面部分效果圖
該界面軟件可廣泛應(yīng)用在Fanuc版本的人機(jī)交互界面中,主要面向高端數(shù)控機(jī)床。彌補(bǔ)了Fanuc自身軟件在人機(jī)交互方面專機(jī)化特點(diǎn)的不足。
該界面軟件能夠直接顯示,而且始終顯示機(jī)床重要信息,比如機(jī)床主軸、刀具當(dāng)前狀況信息,托盤、工位當(dāng)前加工工件信息等等。能第一時(shí)間將系統(tǒng)信息傳遞給操作者,避免繁瑣操作。采用該界面軟件,可以豐富機(jī)床信息的顯示方式,如圖片、文字,而不再是單一地以LED燈的方式顯示,人機(jī)交互性可明顯提高,用戶體驗(yàn)好。
[1]曹錦江,汪木蘭,左健民。PC機(jī)與FANUC數(shù)控系統(tǒng)遠(yuǎn)程通信軟件的開(kāi)發(fā)[J].中國(guó)制造業(yè)信息化,2006,07: 53-55+61.
[2]林勤花NET平臺(tái)下基于LINQ三層架構(gòu)的應(yīng)用 [J].電腦與信息技術(shù),2013,01: 63-65.
圖1 FOCAS功能
圖2 軟件功能結(jié)構(gòu)
圖3 界面部分效果圖