国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FOCAS的數(shù)控機(jī)床網(wǎng)絡(luò)化集成系統(tǒng)開發(fā)

2014-05-10 07:51:30劉培躍張亞寒
機(jī)床與液壓 2014年22期
關(guān)鍵詞:坐標(biāo)軸數(shù)控系統(tǒng)以太網(wǎng)

劉培躍,張亞寒

(石家莊職業(yè)技術(shù)學(xué)院機(jī)電工程系,河北石家莊050081)

目前國內(nèi)大部分企業(yè)對數(shù)控機(jī)床的運(yùn)行狀態(tài)監(jiān)控和動靜態(tài)數(shù)據(jù)采集管理仍然停留在單機(jī)在線或串口通信方式階段,無法實現(xiàn)集成管理,形成了信息化孤島。計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展尤其是現(xiàn)場總線以及工業(yè)以太網(wǎng)技術(shù)的發(fā)展,使企業(yè)數(shù)控設(shè)備集成監(jiān)管成為了可能。為實現(xiàn)多臺數(shù)控機(jī)床的集中管理與控制,計算機(jī)必須能獲取各數(shù)控機(jī)床的運(yùn)行數(shù)據(jù),包括[1-3]:(1)機(jī)床的運(yùn)行狀態(tài):是處于加工運(yùn)行還是待機(jī);是否有報警;正在運(yùn)行哪一個程序;是否結(jié)束了此次的加工任務(wù)等。(2)數(shù)控系統(tǒng)與機(jī)床的信息與數(shù)據(jù),如CNC 存儲的加工程序、主軸上的刀具號、已加工的工件數(shù)、加工時間、程序的運(yùn)行時間、CNC 參數(shù)、伺服參數(shù)、主軸參數(shù)、機(jī)床參數(shù)、PMC 參數(shù)、PMC的梯形圖、宏變量、報警號與信息等。就是說,計算機(jī)需能夠?qū)崟r監(jiān)視各數(shù)控機(jī)床的運(yùn)行狀況,了解對機(jī)床進(jìn)行維護(hù)的信息。另外,計算機(jī)還必須能夠做到[4]:(1)對各機(jī)床進(jìn)行必要、實時的控制如機(jī)床的暫停、急停;(2)信息與數(shù)據(jù)的上傳與在線調(diào)試,如上傳加工程序、在線調(diào)試PMC 程序等。

文中以FANUC 系統(tǒng)為例介紹基于以太網(wǎng)的數(shù)控機(jī)床集成技術(shù),使用Visual Basic 調(diào)用FOCAS 函數(shù)庫,并通過網(wǎng)絡(luò)傳輸與OpenCNC 連接,讀取和管理CNC數(shù)據(jù),開發(fā)數(shù)控機(jī)床網(wǎng)絡(luò)化集成系統(tǒng),實現(xiàn)在線監(jiān)測機(jī)床狀態(tài)、評估運(yùn)行趨勢、診斷機(jī)床故障等功能。

1 系統(tǒng)構(gòu)架及功能

數(shù)控機(jī)床網(wǎng)絡(luò)化集成系統(tǒng)結(jié)構(gòu)如圖1所示[5],計算機(jī)與配置快速以太網(wǎng)板(Fast Ethernet Board)和數(shù)據(jù)服務(wù)器板(Fast Data Server Board)的數(shù)控機(jī)床通過以太網(wǎng)連接,利用Visual Basic 開發(fā)機(jī)床機(jī)床應(yīng)用程序,通過FOCAS(FANUCOpen CNC API Specifications)提供的動態(tài)鏈接庫FWLIB32.DLL 調(diào)用和上傳機(jī)床數(shù)據(jù),并由專用數(shù)據(jù)庫管理機(jī)床數(shù)據(jù)。

圖1 系統(tǒng)構(gòu)架

系統(tǒng)的主要功能包括[6-7]:

(1)數(shù)據(jù)管理。通過計算機(jī)對聯(lián)網(wǎng)機(jī)床的NC 程序、刀具偏移數(shù)據(jù)、刀具壽命管理數(shù)據(jù)、螺距誤差補(bǔ)償數(shù)據(jù)、用戶宏變量等集中管理上傳、下載、編輯等。

(2)運(yùn)轉(zhuǎn)監(jiān)視。顯示當(dāng)前絕對軸實時坐標(biāo)、加工進(jìn)給率、主軸轉(zhuǎn)速、進(jìn)給倍率、模式、機(jī)床狀態(tài)、主軸轉(zhuǎn)速、進(jìn)給速度等NC 機(jī)床的運(yùn)轉(zhuǎn)實況和機(jī)床通電時間、運(yùn)轉(zhuǎn)時間、加工部件數(shù)、待機(jī)、暫停、手動時間分布等加工成績情況統(tǒng)計。

(3)維護(hù)維修。實現(xiàn)機(jī)床強(qiáng)制保養(yǎng),機(jī)床維修用各種數(shù)據(jù)的備份/恢復(fù),定期收集用于故障分析的CNC 履歷數(shù)據(jù),梯形圖順序的監(jiān)視器顯示和編輯,機(jī)床信號的狀態(tài)顯示、PMC 參數(shù)的顯示和更改設(shè)定等機(jī)床維修功能。

2 系統(tǒng)開發(fā)[8]

2.1 連接的建立與釋放

應(yīng)用程序需要調(diào)用FOCAS 提供的動態(tài)鏈接庫FWLIB32.DLL,并通過TCP/IP 通信協(xié)議建立計算機(jī)與CNC 之間的連接。當(dāng)連線成功時,控制器會回傳一數(shù)據(jù)類型為Integer(32)型的Handle 值,在離線時釋放。Handle 值將作為資料讀取時的鑰匙,利用此鑰匙才能正確使用其余功能語法來讀取相對應(yīng)的資料。

Visual Basic 應(yīng)用程序需調(diào)用基本連線功能函數(shù)cnc_allclibhndl3 來建立連接,并確定CNC 的IP 地址、部件號和連接時間。具體語法為:Declare Function cnc_allclibhndl3 Lib" FWLIB32.DLL"(ByVal Ipaddr As String,ByVal Port As Short,ByVal Timeout As Integer,ByRef FlibHandle As Integer)As Short。

其中:Ipaddr(String)是以字串方式指定欲連接的CNC 控制器的網(wǎng)絡(luò)位置(即IP 地址)或者主機(jī)名稱(Host Name),例如:" 192.168.0.1 " 或" CNC-1.FACTORY";Port(Short)為欲連接CNC控制器的部件號(Port Number);Timeout(Integer)代表指定連線時間,以s 為單位。上述調(diào)用的回傳值為EW_OK(0)時表示連線成功。

連接釋放時,調(diào)用cnc_freelibhndl 函數(shù),只需輸入連接成功時所返回的Handle 值,具體語法為:Declare Function cnc_freelibhndl Lib " FWLIB32.DLL"(ByVal FlibHandl As Integer)As Short。FlibHandl 為連接時返回的Handle 值,當(dāng)返回值為W_OK(0)時表示連接釋放成功。

上述操作是通過調(diào)用基本連線功能實現(xiàn)的。除此之外,F(xiàn)OCAS 共提供CNC 控制軸和控制主軸相關(guān)功能、CNC 程序相關(guān)功能、CNC 工件管理相關(guān)功能、CNC 歷史記錄相關(guān)功能、PMC 相關(guān)功能等18 類功能函數(shù)[2],借助這些函數(shù)可充分實現(xiàn)計算機(jī)與CNC 的交互,讀取或回傳所需數(shù)據(jù)。下面就該系統(tǒng)運(yùn)轉(zhuǎn)監(jiān)視模塊的坐標(biāo)軸數(shù)據(jù)讀取和數(shù)據(jù)管理模塊的宏變量的讀寫詳述開發(fā)過程。

2.2 伺服坐標(biāo)軸數(shù)據(jù)的讀取

CNC 的伺服坐標(biāo)軸表示方式分為機(jī)械、絕對和相對坐標(biāo)3 種,同時也可以顯示各坐標(biāo)軸的剩余位移量。讀取坐標(biāo)軸位置方法有多種,例如:cnc_absolute 可以讀取絕對坐標(biāo),cnc_ relative 可以讀取相對坐標(biāo)。文中使用功能較為全面的cnc_rdposition 來讀取各軸坐標(biāo)信息。

cnc_rdposition 函數(shù)需輸入查詢的CNC 的Handle地址和欲查詢的坐標(biāo)類型,回傳信息為ODBPOS 數(shù)據(jù),坐標(biāo)值讀取回傳狀態(tài)及錯誤信息?;貍鞯腛DBPOS 信息結(jié)構(gòu)包括abs、mach、rel 和dist 四項,分別表示伺服軸的絕對、機(jī)械和相對坐標(biāo),以及各軸執(zhí)行的剩余位移量。圖2 為CNC 坐標(biāo)軸讀取流程。

圖2 讀取伺服軸坐標(biāo)值流程

下面以該系統(tǒng)讀取各坐標(biāo)軸功能為例簡述開發(fā)過程。GetPositionData 為存儲各坐標(biāo)軸信息的變量,包含機(jī)械(Machine)、絕對(Absolute)、相對(Relative)坐標(biāo)值,及程序剩余位移量(DistanceToGo)等資料。數(shù)據(jù)結(jié)構(gòu)為Pos(Double)、Name(String)以及Unit(String),分別代表坐標(biāo)值、軸名稱及使用單位。示例程序如下:

Spl_number=3//設(shè)置軸數(shù);

Cnc_Handle="1111"http://設(shè)置連接Handle;

ReDimGetPositionData.Machine(spdl_number)

//重設(shè)GetPositionData.Machine(i)的大小;

Dim RefODBPOS As New ODBPOS//定義數(shù)據(jù)回傳存儲結(jié)構(gòu)ODBPOS;

Cnc_rdposition(cncHandle,1,spdl_number,RefODBPOS)//調(diào)用cnc_rdposition 函數(shù)

For I As Integer=0 To spdl_number-1 Step 1

GetPositionData.Machine(i).Parameter=tODBPOS.Pos(i).mach.data/10(tODBPOS.Pos(i).mach.dec);//存儲坐標(biāo)值進(jìn)入GetPosition Data.Machine(i).Parameter 中;

GetPositionData_Machine(i).Name=(tODBPOS.Pos(i).mach.name).ToString;//存儲軸名稱進(jìn)入Get-PositionData_Machine(i).Name;

SelectCasetODBPOS.Pos(i).mach.unit.ToString

Case”0”

GetPositionData.Machine(i).Unit=”mm”

Case”1”

GetPositionData.Machine(i).Unit=”inch”

Case”2”

GetPositionData.Machine(i).Unit=”degree”

Case Else

GetPositionData.Machine(i).Unit=””

End Select

Next//存儲坐標(biāo)單位進(jìn)入GetPositionData.Machine(i).Unit 中。

2.3 宏變量的讀取

在FANUC CNC 數(shù)控系統(tǒng)中,宏變量分為局部變量、全局變量和系統(tǒng)變量3 種,前兩項為用戶編寫數(shù)控程序時指定,最后一項為系統(tǒng)狀態(tài)變量。FOCAS規(guī)定:局部變量只能讀取,全局變量和系統(tǒng)變量既可讀又可寫。宏變量操作分為單一和多重陣列讀寫兩類,宏變量單一讀寫較為簡單,因此下面以多重陣列變量的讀取為范例介紹開發(fā)過程,見圖3。

圖3 宏變量讀取流程

Cnc_rdmacror 為多重陣列讀取函數(shù),只能用于局部和全局變量的讀取,系統(tǒng)變量不能使用。Cnc_rdmacror函數(shù)需要輸入查詢CNC 的(1)Handle 地址;(2)讀取范圍起始編號(s_number);(3)結(jié)束編號(e_number);(4)存儲回傳數(shù)據(jù)的IODBMR 資料結(jié)構(gòu);(5)IODBMR 資料大小等。若函數(shù)讀取成功,則開始回傳,依次讀出各變量編號數(shù)值,讀取DATA 資料結(jié)構(gòu)中的變量數(shù)字(mcr_val)及小數(shù)點位數(shù)(dec_val),并根據(jù)回傳數(shù)字及小數(shù)點位數(shù)換算變量實際數(shù)值,公式為(mcr_val/10dec_val))。

3 數(shù)控機(jī)床側(cè)的設(shè)置

FANUC 的以太網(wǎng)功能主要通過TCP/IP 協(xié)議實現(xiàn),使用時需在數(shù)控系統(tǒng)上設(shè)定IP、TCP 和UDP 端口數(shù)據(jù)等信息。下面以內(nèi)嵌式以太網(wǎng)為例說明設(shè)定方法[9]:首先修改20 號參數(shù)為5;按SYSTEM→公共鍵,出現(xiàn)IP 地址設(shè)定畫面,如圖4所示,當(dāng)系統(tǒng)與多臺數(shù)控機(jī)床連接時,需要填寫路由器地址,如不需要,則不用填寫;然后按下FOCAS2 鍵,進(jìn)行FOCAS2 的設(shè)置,如圖5所示,TCP 設(shè)定為8193,UDP一般設(shè)定為8192,時間間隔一般設(shè)定為10。

圖4 數(shù)控系統(tǒng)IP 地址設(shè)定

圖5 FOCAS2 設(shè)定

4 結(jié)束語

遠(yuǎn)程網(wǎng)絡(luò)化制造是數(shù)控技術(shù)發(fā)展的趨勢,數(shù)控機(jī)床管理與使用走向網(wǎng)絡(luò)化、智能化已成為必然?;谝蕴W(wǎng)、TCP 協(xié)議和Socket 編程技術(shù)的數(shù)控系統(tǒng)網(wǎng)絡(luò)化集成系統(tǒng)可以實現(xiàn)一臺服務(wù)器聯(lián)網(wǎng)管理多臺數(shù)控機(jī)床并進(jìn)行遠(yuǎn)程監(jiān)控,可以提高企業(yè)生產(chǎn)資源的生產(chǎn)效率和有效利用率,具有較高推廣和實用價值。

[1]張愛紅.數(shù)控機(jī)床網(wǎng)絡(luò)故障診斷系統(tǒng)的開發(fā)與應(yīng)用[J].機(jī)床與液壓,2011,39(11):154-156.

[2]張允剛,常春,劉偉,等.基于Socket 和多線程的遠(yuǎn)程監(jiān)控系統(tǒng)[J].控制工程,2006,13(2):175-177.

[3]莊殿錚.數(shù)控機(jī)床Internet 遠(yuǎn)程監(jiān)控中提高實時性的方法[J].組合機(jī)床與自動化加工技術(shù),2004(4):2-83.

[4]徐鳴鶴,冷春艷,熊鴻康.機(jī)床數(shù)控系統(tǒng)的組網(wǎng)與遠(yuǎn)程監(jiān)控的實現(xiàn)[J].機(jī)床與液壓,2011,39(12):85-88.

[5]尚德波.面向加工車間的網(wǎng)絡(luò)數(shù)控操作平臺研究與設(shè)計[J].制造業(yè)信息化,2009,31(9):108-110.

[6]陳賢清,黃河,古文偉,等.數(shù)控機(jī)群數(shù)據(jù)信息采集系統(tǒng)的研究與設(shè)計[J].機(jī)床與液壓,2011,39(10):99-106.

[7]鄒品軍,王宵,劉會霞.網(wǎng)絡(luò)監(jiān)聽在FANUC 機(jī)床聯(lián)網(wǎng)上的應(yīng)用[J].機(jī)床與液壓,2005(8):93-198.

[8]BEIJING FANUC 公司.FOCAS1_2 動態(tài)鏈接庫函數(shù)光盤(A02B-0207-J737#ZZ11)[CD].

[9]BEIJING FANUC 公司.以太網(wǎng)板/數(shù)據(jù)服務(wù)器板操作說明書(B-63354EN)[M].

猜你喜歡
坐標(biāo)軸數(shù)控系統(tǒng)以太網(wǎng)
用坐標(biāo)軸平移妙解斜率和(或積)為定值問題
基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設(shè)計
西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動功能開發(fā)
數(shù)控系統(tǒng)中GUI軟件平臺設(shè)計和實現(xiàn)
談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
電子制作(2017年24期)2017-02-02 07:14:44
巧用仿射變換妙解高考解析幾何題
一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
盐津县| 红安县| 平南县| 镇原县| 长宁县| 砀山县| 阿勒泰市| 沅江市| 扎鲁特旗| 云浮市| 衢州市| 天水市| 田东县| 巴彦县| 广州市| 四会市| 牟定县| 府谷县| 娱乐| 高雄县| 虹口区| 迭部县| 宁陕县| 马山县| 东平县| 文水县| 镇安县| 新野县| 竹北市| 仙桃市| 永年县| 平顶山市| 丹巴县| 盖州市| 青川县| 页游| 高阳县| 葫芦岛市| 政和县| 顺昌县| 东丰县|