免费99精品国产自在在线_玖玖免费_毛片网在线观看_午夜视频网站_96久久久久久_精品久久久久久久久久久

  為機(jī)床工具企業(yè)提供深度市場(chǎng)分析                     

用戶名:   密碼:         免費(fèi)注冊(cè)  |   申請(qǐng)VIP  |  

English  |   German  |   Japanese  |   添加收藏  |  
廣州數(shù)控
數(shù)控系統(tǒng)

車床 銑床 鉆床 數(shù)控系統(tǒng) 加工中心 鍛壓機(jī)床 刨插拉床 螺紋加工機(jī)床 齒輪加工機(jī)床
磨床 鏜床 刀具 功能部件 配件附件 檢驗(yàn)測(cè)量 機(jī)床電器 特種加工 機(jī)器人

數(shù)控系統(tǒng)

電工電力 工程機(jī)械 航空航天 汽車 模具
儀器儀表 通用機(jī)械 軌道交通 船舶

搜索
熱門關(guān)鍵字:

數(shù)控機(jī)床

 | 數(shù)控車床 | 數(shù)控系統(tǒng) | 滾齒機(jī) | 數(shù)控銑床 | 銑刀 | 主軸 | 立式加工中心 | 機(jī)器人
您現(xiàn)在的位置:數(shù)控系統(tǒng)網(wǎng)> 加工與維修>基于 FANUC 機(jī)床數(shù)控系統(tǒng)界面軟件二次開(kāi)發(fā)的研究
基于 FANUC 機(jī)床數(shù)控系統(tǒng)界面軟件二次開(kāi)發(fā)的研究
2023-9-15  來(lái)源: 上海機(jī)床廠有限公司  作者: 顧凱端

  
     1.引言 
 
     數(shù)控系統(tǒng)及其人機(jī)界面的出現(xiàn)使機(jī)床加工操作變得便捷與高效,而隨著行業(yè)發(fā)展,對(duì)加工精度、加工效率和工藝柔性的要求越來(lái)越高,數(shù)控通用人機(jī)界面已無(wú)法滿足這些需求,因此對(duì)機(jī)床數(shù)控系統(tǒng)人機(jī)界面軟件的二次開(kāi)發(fā)成了數(shù)控機(jī)床生產(chǎn)廠家的重要任務(wù)。
  
     目前市場(chǎng)上的數(shù)控機(jī)床人機(jī)界面多為嵌入式,面板尺寸小,操作工行動(dòng)受到場(chǎng)地的局限,無(wú)法遠(yuǎn)距離實(shí)時(shí)進(jìn)行工藝參數(shù)調(diào)整、監(jiān)控等操作,從生產(chǎn)效率和安全性來(lái)說(shuō)都存在一定的缺陷,自動(dòng)化、生產(chǎn)效率受到了限制。FANUC 和SIEMENS 等國(guó)外數(shù)控廠商進(jìn)口的數(shù)控系統(tǒng),其隨系統(tǒng)提供的人機(jī)界面是面向通用數(shù)控操作場(chǎng)景的,無(wú)法方便地制定機(jī)床配套工藝,不能滿足用戶的定制化需求。數(shù)控廠商在其配套的通用人機(jī)界面的基礎(chǔ)上,提供了人機(jī)界面開(kāi)發(fā)接口,機(jī)床制造廠家就可以對(duì)人機(jī)界面進(jìn)行二次開(kāi)發(fā),擴(kuò)展人機(jī)界面功能,提高人機(jī)界面軟件的專用性、易用性,以更大限度地發(fā)揮機(jī)床的價(jià)值。
  
     本文選取 FANUC Series 0i-MF 數(shù)控系統(tǒng)作為二次開(kāi)發(fā)基礎(chǔ)平臺(tái),采用面向?qū)ο蟮姆椒ㄟM(jìn)行軟件框架設(shè)計(jì),二次開(kāi)發(fā)接口為 FOCAS 庫(kù)(即FANUC Open CNC API Specifications, 簡(jiǎn) 稱FOCAS),利用 QT 提供基礎(chǔ)編程庫(kù),確定程序達(dá)到的功能有顯示界面、軟硬件通訊、機(jī)床參數(shù)寫入、機(jī)床參數(shù)讀取以及系統(tǒng)報(bào)警監(jiān)視等,實(shí)現(xiàn)對(duì)數(shù)控系統(tǒng)的二次開(kāi)發(fā)。
  
     2. 開(kāi)發(fā)工具和總體框架 
  
     2.1 開(kāi)發(fā)環(huán)境的選擇
  
     FANUC 0i-MF 數(shù)控系統(tǒng)提供了二次開(kāi)發(fā)接口(即 FOCAS),包含了數(shù)控連接和數(shù)控?cái)?shù)據(jù)、PMC 數(shù)據(jù)讀寫功能,以及界面開(kāi)發(fā)接口,即意味著基于此數(shù)控系統(tǒng)的人機(jī)界面二次開(kāi)發(fā)自由度很大,架構(gòu)選取自由。可運(yùn)行 FOCAS 庫(kù)的操作系統(tǒng)目前主要是 Microsoft Windows,Windows操作系統(tǒng)使用簡(jiǎn)單,系統(tǒng)穩(wěn)定,用戶群體大,開(kāi)發(fā)工具豐富,所以是 FANUC 數(shù)控二次開(kāi)發(fā)首選。
 
     軟件功能與界面庫(kù)可選用 MFC、.NET 和 Qt,MFC 雖然由微軟開(kāi)發(fā)功能強(qiáng)大,但已經(jīng)過(guò)時(shí)不再維護(hù),所以不建議選用,.NET 是微軟主力開(kāi)發(fā)庫(kù),但性能遜色于 C++ 開(kāi)發(fā)的應(yīng)用程序,Qt作為 C++ 語(yǔ)言開(kāi)發(fā)的功能界面庫(kù),既能方便地進(jìn)行界面開(kāi)發(fā),又有 C++ 便捷的底層訪問(wèn)能力,其可靠性和寬松的開(kāi)源協(xié)議使得 Qt 庫(kù)在工業(yè)界得到了廣泛的應(yīng)用。結(jié)合 Windows 操作系統(tǒng)、FOCAS 庫(kù)和 Qt 編程庫(kù)的選取,微軟的 VisualStudio 就是較合適的開(kāi)發(fā)工具了,安裝有 Qt 插件的 Visual Studio 2015 可方便地創(chuàng)建 Qt 應(yīng)用程序解決方案,借助開(kāi)發(fā)工具強(qiáng)大的功能,可輕松開(kāi)展 FANUC 機(jī)床數(shù)控系統(tǒng)界面軟件的二次開(kāi)發(fā)工作。測(cè)試環(huán)境可選用 FANUC 數(shù)控系統(tǒng)實(shí)體機(jī)或 FANUC CNC Guide。開(kāi)發(fā)環(huán)境及工具如表 1 所示。

表 1 開(kāi)發(fā)環(huán)境與工具表


     2.2 總體框架的確立
 
     由于要實(shí)現(xiàn)的二次開(kāi)發(fā)的功能較為明確,所以采用清晰的分層架構(gòu),分層架構(gòu)結(jié)構(gòu)簡(jiǎn)單明了,各層職責(zé)分明。分層架構(gòu)主要分為通信層、功能層、界面層。通信層負(fù)責(zé)軟件功能層與數(shù)控系統(tǒng)的之間的數(shù)據(jù)交互,功能層負(fù)責(zé)軟件的功能實(shí)現(xiàn),向下與通信層交互數(shù)據(jù),向上給界面層提供功能接口,界面層向下負(fù)責(zé)對(duì)功能層的調(diào)用,向上負(fù)責(zé)與操作者的交互。二次開(kāi)發(fā)的軟件總體框架圖如圖 1 所示。


圖 1 總體框架圖

     3. 開(kāi)發(fā)過(guò)程及結(jié)果 
  
     3.1 硬件連接
  
     首先進(jìn)行硬件連接,把 FANUC 0i-MF 數(shù)控單元的以太網(wǎng)網(wǎng)口(ETHERNET)通過(guò)網(wǎng)線連接至 PC 屏,達(dá)成將人機(jī)操作界面屏幕放大、分離式操作的目的 ; 其次,建立與數(shù)控單元的通訊連接,如利用 Visual Studio 2015 導(dǎo)入 FOCAS動(dòng)態(tài)鏈接庫(kù),編寫程序調(diào)用功能函數(shù),與測(cè)試端 NC Guide 進(jìn)行通訊 ; 再次,利用 FOCAS 庫(kù)函數(shù)設(shè)計(jì)機(jī)床參數(shù)數(shù)據(jù)寫入功能 ; 最后利用 QtDesigner 設(shè)計(jì)軟件界面。
  
     3.2 界面分析
  
     界面設(shè)計(jì)是整體框架的基礎(chǔ),本文設(shè)計(jì)的人機(jī)界面采用多個(gè)窗口組合展示機(jī)床狀態(tài),展示程序號(hào)、三根軸四種坐標(biāo)系的展示窗口、機(jī)床加工狀態(tài)以及通訊設(shè)置按鈕和界面切換按鈕。
  
     人機(jī)界面利用單行文本框,采用統(tǒng)一格式,把數(shù)據(jù)名標(biāo)注在文本框左側(cè),用于直觀地顯示讀取的信息。合理布局四個(gè)坐標(biāo)顯示窗口的空隙和比例大小。為增加人機(jī)交互友好,下方控件按鈕分別對(duì)應(yīng)調(diào)用通訊窗口和不同類型的坐標(biāo)窗口切換,通過(guò)信號(hào)與槽的機(jī)制進(jìn)行實(shí)現(xiàn)。
  
     本文針對(duì)的數(shù)控系統(tǒng)是 FANUC 0i-MF 系列,僅支持以太網(wǎng)通訊,而在 FOCAS 控件庫(kù)中,已經(jīng)完成了對(duì)通訊協(xié)議的開(kāi)發(fā)并將其封裝,作為開(kāi)發(fā)者,需要做的是導(dǎo)入 FOCAS 控件庫(kù),調(diào)用以太網(wǎng)通訊函數(shù),其會(huì)通過(guò)代理函數(shù),向功能函數(shù)發(fā)送請(qǐng)求,自動(dòng)建立通訊。
 
     為體現(xiàn)面向?qū)ο蟮脑O(shè)計(jì)方法,將窗口封裝成單個(gè)類,通過(guò)在機(jī)床總界面依次創(chuàng)建窗口,在槽中利用枚舉類的邏輯判斷來(lái)刪除或插入窗口達(dá)到切換窗口坐標(biāo)顯示的目的,實(shí)現(xiàn)人機(jī)交互。
  
     3.3 人機(jī)界面框架設(shè)計(jì)
  
     人機(jī)界面設(shè)計(jì)分為硬件連接和軟件設(shè)計(jì)兩部分,其中硬件連接用于實(shí)現(xiàn)人機(jī)界面的分離式設(shè)計(jì),通過(guò)外部接口,將 FANUC 0i-MF 控制單元與上位機(jī) PC 屏的網(wǎng)口相連。軟件部分負(fù)責(zé)實(shí)現(xiàn)數(shù)控機(jī)床監(jiān)控狀態(tài)的功能,見(jiàn)圖 2。


圖 2 軟硬件連接流程圖

     人機(jī)界面模塊分為通訊層、功能層和界面層,見(jiàn)圖 3,通訊層負(fù)責(zé)建立通訊和斷開(kāi)通訊。功能層主要負(fù)責(zé)對(duì)不同類型三軸坐標(biāo)和加工狀態(tài)的讀寫。界面層分為通訊窗口、坐標(biāo)顯示窗口和機(jī)床窗口這三部分。

  

圖 3 人機(jī)界面程序框架

 
     3.4 軟件二次開(kāi)發(fā)設(shè)計(jì)
 
     在 VS2015 開(kāi)發(fā)環(huán)境下,使用 Qt5 作為開(kāi)發(fā)庫(kù),使用 VS 中的 QT GUI 框架開(kāi)發(fā)機(jī)床人機(jī)界面,利用 FOCAS 1/2 Library 提供的函數(shù)作為接口,首先利用以太網(wǎng)建立通訊連接,然后建立數(shù)據(jù)寫入的接口連接,實(shí)現(xiàn)對(duì)機(jī)床狀態(tài)的讀取,最后完成界面層的布局,使用多對(duì)話框窗口水平或垂直布局,參照 FANUC 系統(tǒng)原始操作界面,能夠來(lái)回切換坐標(biāo)顯示窗口,完成對(duì)數(shù)據(jù)的顯示(即可視化)。接下來(lái)參考圖 4 所示的機(jī)床界面監(jiān)控總體框架從通訊層、功能層和界面層逐一分析。
  

圖 4 機(jī)床界面監(jiān)控總體框架

     3.4.1 通訊層
  
     機(jī)床界面要能夠動(dòng)態(tài)顯示機(jī)床數(shù)據(jù),則須使界面與 CNC 系統(tǒng)通訊。FANUC 提供了 FOCAS通訊協(xié)議 , 使 PC 端與 FANUC 系統(tǒng)建立了通訊。在用戶 PC 端的開(kāi)發(fā)環(huán)境應(yīng)用程序中,調(diào)取 FANUC 提供的 FWLIB32/64.DLL 動(dòng)態(tài)鏈接庫(kù),由于 HSSB 需額外購(gòu)買硬件來(lái)建立連接,因此沒(méi)有采用 HSSB 庫(kù),而是選擇以太網(wǎng)庫(kù)。
  
     FWLIB32/64.DLL 鏈接庫(kù)包含了 FOCAS 的控件庫(kù),其目的是將目標(biāo)包裝,通過(guò)句柄來(lái)獲取目標(biāo)對(duì)象的屬性。在以太網(wǎng)庫(kù)中,通過(guò)將 CNC 的 IP地址參數(shù)傳遞給 CNC allclibhndl3 函數(shù)來(lái)創(chuàng)建TCP/IP 連接。
  
     以太網(wǎng)板中的數(shù)據(jù)窗口函數(shù)會(huì)通過(guò) TCP/IP棧數(shù)據(jù)傳輸與用戶 PC 端進(jìn)行以太網(wǎng)連接。兩者在連接過(guò)程中用戶 PC 端會(huì)將數(shù)據(jù)窗口函數(shù)的代理函數(shù)向以太網(wǎng)板發(fā)送打包請(qǐng)求,包括獲取數(shù)據(jù)屬性、數(shù)據(jù)數(shù)量等,以太網(wǎng)板響應(yīng)請(qǐng)求、反饋發(fā)送數(shù)據(jù)內(nèi)容、錯(cuò)誤代碼等。CNC 與以太網(wǎng)板通過(guò) OPEN CNC I/F 在局部網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)傳輸。
  
     以太網(wǎng)的通訊 功 能 在 基 類 為 QDialog 的 對(duì)話 框 窗 口 類 LoginDiolag 獲取參數(shù)和在機(jī)床界面 FanucFrm 類中對(duì)通訊的槽定義來(lái)實(shí)現(xiàn)。
 
     根據(jù) FOCAS 庫(kù)的 FWLIB64.h 頭文件和文獻(xiàn)手冊(cè),可以看到需要連接和斷開(kāi)以太網(wǎng)連接要使用函數(shù) “cnc_allclibhndl3” 和 “cnc_freelibhnd”。
  
      cnc_allclibhndl3 其功能是分配庫(kù)的句柄并使用指定 IP 地址或主機(jī)名連接 CNC,實(shí)現(xiàn)以太網(wǎng)通信,需要以下參數(shù) :
  
     (1)輸入 :ipaddr,使用字符串方式來(lái)確定需要連接的 CNC 測(cè)試端的 IP 地址或者是主機(jī)名。
     (2)輸入 :port,確定 TCP 需要連接的端口,通常固定為 8193.
     (3)輸入 :timeout,設(shè)定超時(shí)的時(shí)間,若設(shè)為0則忽略超時(shí),庫(kù)函數(shù)會(huì)一直等待。
     (4)輸出 :FlibHndl,指定一個(gè)包含庫(kù)句柄信息的指針型或者整型變量。
  
     cnc_freelibhndl 其功能是當(dāng)程序終止時(shí)需要釋放庫(kù)句柄,防止數(shù)據(jù)累積報(bào)錯(cuò),即為中斷通訊連接,該函數(shù)需要輸入 FlibHndl 參數(shù),當(dāng)程序結(jié)束時(shí),需要釋放的庫(kù)句柄。
  
     由此可以看出,程序以建立以太網(wǎng)通訊算作開(kāi)始,以中斷通訊連接、釋放庫(kù)函數(shù)作為結(jié)束,這兩者分別調(diào)用 cnc_allclibhndl3 與 cnc_freelibhndl 都在通訊層實(shí)現(xiàn)。
  
     通訊函數(shù)需要庫(kù)句柄、CNC 測(cè)試端的 IP 地址、端口號(hào)等其他參數(shù)傳遞給 CNC 以太網(wǎng)通信函數(shù)進(jìn)行連接。在 FWLIB64 庫(kù)文件中,查FANUC 樣例手冊(cè) ,可找到以太網(wǎng)通訊對(duì)應(yīng)的 cnc 函數(shù)cnc_allclibnd3。在該函數(shù)中輸入對(duì)應(yīng)的參數(shù)即可建立連接。通過(guò) cnc_freelibhndl 斷開(kāi)連接、輸入 IP 地址、端口號(hào)、時(shí)間延時(shí)等,要得知通訊連接是否建立成功可通過(guò)接受返回值來(lái)判斷彈出何種類型的提示窗。
  
     3.4.2 功能層
  
     需要實(shí)現(xiàn)的功能有顯示程序狀態(tài),顯示三軸的絕對(duì)坐標(biāo)系、相對(duì)坐標(biāo)系、剩余行程距離,顯示伺服軸轉(zhuǎn)速,顯示加工狀態(tài)。
  
     根據(jù) FOCAS 提供的 FWLIB64.DLL 中,要實(shí)現(xiàn)上述機(jī)床狀態(tài)的監(jiān)控主要分為三部分 :
  
    (1)使用 FOCAS 庫(kù)函數(shù),從 CNC 測(cè)試端讀取機(jī)床參數(shù)。
    (2)將從 CNC 測(cè)試端的機(jī)床參數(shù)數(shù)值賦值給變量,通過(guò)傳輸,利用程序中讀寫的變量在界面層顯示。
    (3)將數(shù)據(jù)上傳。從機(jī)床數(shù)據(jù)讀取、機(jī)床數(shù)據(jù)用變量賦值寫入,數(shù)據(jù)動(dòng)態(tài)更新依次進(jìn)行。其中機(jī)床數(shù)據(jù)讀取使用 DataCollection 類,機(jī)床數(shù)據(jù)用變量賦值寫入用 MachinePosition 類。
  
    要從 CNC 測(cè)試端讀取數(shù)據(jù),調(diào)用使用FOCAS 提供的 FWLIB64.h 頭文件中的 cnc 函數(shù)獲取參數(shù)數(shù)值 ; 其次,是要想辦法把儲(chǔ)存在該函數(shù)里變量中的數(shù)值傳遞給與界面顯示文本相關(guān)的函數(shù)。
 
    以獲取絕對(duì)坐標(biāo)系的 X,Y,Z 三軸數(shù)值為例,使用數(shù)據(jù)采集類的成員函數(shù) “voidabsolute(unsigned short h)” 作為讀取 cnc 測(cè)試端參數(shù)的指令,其參數(shù)句柄 h 就好比鑰匙,在調(diào)用 absolute 函數(shù)后把實(shí)參全局句柄 h 賦給absolute 函數(shù)的形參未定義的短句柄 h 后,解鎖指令,進(jìn)行讀取。
  
     在 absolute 函數(shù)中,需要讀取絕對(duì)坐標(biāo)系的三軸坐標(biāo)數(shù)值,根據(jù) FOCAS 庫(kù)函數(shù),應(yīng)使用cnc 函 數(shù) “cnc_absolute”。
  
    cnc_absolute: 讀 取 用 “ 軸 ” 指 定 軸 的 絕對(duì)位置數(shù)據(jù)。絕對(duì)位置存儲(chǔ)在 “ODBAXIS” 的“data[0]” 中。其參數(shù)有 :
  
   (1)輸入 :FlibHndl,指定庫(kù)句柄。
   (2)輸入 :axis,指定要讀取的軸數(shù),其中ALL_AXES 對(duì) 所 有 軸(ALL_AXES:-1),1,..,m 對(duì)單個(gè)軸(m: 控制軸數(shù))。
   ( 3 )輸 入 : length ,指 定 數(shù) 據(jù) 塊 的 長(zhǎng)度(ODBAXIS 結(jié)構(gòu)的大小)。
   (4)輸出 : 指向 ODBAXIS 結(jié)構(gòu)的指針,包括控制軸的絕對(duì)位置數(shù)據(jù)。
  
    參照手冊(cè)提供的 cnc_absolute 參數(shù),在調(diào)用時(shí),可以一次獲取一系列數(shù)控軸的坐標(biāo)數(shù)值,最后只讀取需要的目標(biāo)軸的數(shù)值即可。
 
    使用ret儲(chǔ)存返回值,用于判斷輸入的參數(shù)是否報(bào)錯(cuò),若無(wú)錯(cuò)誤,應(yīng)為 EW_OK。之后, 用 浮 點(diǎn) 型 變 量 absoluteXf、absoluteYf、absoluteZf 分別儲(chǔ)存從 CNC 測(cè)試端獲取的 X,Y,Z 軸的數(shù)值,使用 Data[0] 讀取單個(gè)軸的數(shù)值,從而避免了 Y 軸和 Z 軸出現(xiàn)重復(fù)讀取的問(wèn)題。最后,獲取的數(shù)據(jù)成功儲(chǔ)存在變量 absoluteXf、absoluteYf、absoluteZf 中。
 
     如此就能實(shí)現(xiàn)對(duì)機(jī)床三軸絕對(duì)坐標(biāo)系的監(jiān)控功能,而接下來(lái)的相對(duì)坐標(biāo)系、機(jī)床坐標(biāo)系、剩余行程距離、進(jìn)給速率、循環(huán)時(shí)間等數(shù)據(jù)的讀取邏輯和讀取絕對(duì)坐標(biāo)系的流程相同。
  
     3.4.3 界面層
  
     通過(guò) Qt 特有的信號(hào)與槽機(jī)制,采取通過(guò)對(duì)槽進(jìn)行默認(rèn)命名格式自動(dòng)將控件信號(hào)與槽關(guān)聯(lián) ;也可以利用 connect 函數(shù),手動(dòng)建立信號(hào)與槽的連接,一個(gè)信號(hào)可指定一個(gè)或者多個(gè)槽函數(shù)接收。首先針對(duì)通訊窗口界面進(jìn)行設(shè)計(jì),利用QT Designer 編輯窗口界面 ui,根據(jù) cnc_allclibhndl3 函數(shù)的對(duì)應(yīng)參數(shù),分別添加單行編輯框 QLineEdit,并在左側(cè)添加標(biāo)簽,注釋對(duì)應(yīng)需要輸入的內(nèi)容,分別為 IP 地址、端口號(hào)和延時(shí),使用水平布局和空格調(diào)整布局 ; 其次,要實(shí)現(xiàn)參數(shù)與文本連接的第一步首先是要獲取編輯框輸入的數(shù)值,設(shè)計(jì)一個(gè)函數(shù)專門用來(lái)讀取編輯框數(shù)值,其中通過(guò)不同編輯框?qū)?yīng)的指針變量名分別指向?qū)?yīng)編輯框的文本獲取函數(shù) “text”,從而獲取用戶輸入的內(nèi)容。

     之后利用 getIPStr 函數(shù)作為 cnc_allclibhndl3的參數(shù),即可實(shí)現(xiàn)將輸入的數(shù)值傳遞給 cnc 函數(shù)。要能夠讓 cnc 函數(shù)讀取到用戶輸入的數(shù)值,需要利用 connect 機(jī)制,在 cnc_allclibhndl3 前添加條件。設(shè)計(jì) “連接” 和 “斷開(kāi)” 按鈕,同時(shí)以太網(wǎng)通訊的槽 onslot_Connect 的定義中,添加前置條件和調(diào)用 cnc 函數(shù)。
 
     接下來(lái)是三軸坐標(biāo)系顯示窗口,包括 :
  
    (1)利用 QT Designer 編輯 GUI。
    (2)根據(jù)需求,創(chuàng)建四個(gè)坐標(biāo)界面,分別用對(duì)象名 absolute_frm、relative_frm、machine_frm、left_frm,依次對(duì)應(yīng)絕對(duì)、相對(duì)、機(jī)床和綜合坐標(biāo)系窗口。需要標(biāo)明對(duì)象窗口所顯示的坐標(biāo)系的類型是什么。利用 TextLable 的對(duì)象名調(diào)用文本設(shè)置函數(shù),使得設(shè)計(jì)命名函數(shù) SetPosName有命名文本的功能。
    (3)將文本框的數(shù)值同功能層獲取函數(shù)進(jìn)行關(guān)聯(lián),分為兩步,通過(guò)對(duì)象調(diào)用命令函數(shù),以及調(diào)用獲取函數(shù)。
  
     以絕對(duì)坐標(biāo)系為例,定義數(shù)據(jù)采集對(duì)象,使用指針 dcThread 指向采集對(duì)象,并分配起始地址,如此可以通過(guò)調(diào)用 dcThread 指針達(dá)到等同于調(diào)用 DataCollection 的效果。
  
     利用 dcThread 調(diào)用命令函數(shù) ,如void absolute(h),將全局句柄放入作為參數(shù),即開(kāi)始讀取 CNC 測(cè)試端的絕對(duì)坐標(biāo)系數(shù)值,并將數(shù)值賦值給中間函數(shù) setAbs 的變量,再由中間函數(shù)的變量賦值給獲取函數(shù) getAbs 的參數(shù)。若直接將儲(chǔ)存 cnc_absolute 讀取數(shù)值的變量作為文本內(nèi)容,則會(huì)因?yàn)轭惖牟煌鵁o(wú)法讀取。
  
     想要將編輯框數(shù)據(jù)與 cnc 函數(shù)獲取的數(shù)值同步,定義變量 ax,ay,az,調(diào)用 getAbs 函數(shù),并將 ax,ay,az 代入?yún)?shù),并由 getAbs 的默認(rèn)參數(shù)賦值給變量。由此,可以通過(guò) “setText”函數(shù)設(shè)置默認(rèn)文本,將變量作為參數(shù)放入其中,實(shí)現(xiàn)動(dòng)態(tài)讀取數(shù)據(jù)、界面更新的效果。而相對(duì)坐標(biāo)系、機(jī)床坐標(biāo)系、剩余行程距離的三軸坐標(biāo)顯示原理和絕對(duì)坐標(biāo)系相同。
  
     3.5 結(jié)果顯示
  
     機(jī)床顯示界面是一個(gè)總體界面,它集合了機(jī)床狀態(tài)監(jiān)控的各種內(nèi)容。其主要目的有兩種 :

    (1) 動(dòng)態(tài)顯示機(jī)床進(jìn)給速率、轉(zhuǎn)速、加工件數(shù)、循環(huán)時(shí)間、運(yùn)行時(shí)間,將功能層與界面層關(guān)聯(lián)。
    (2) 將三軸坐標(biāo)顯示窗口嵌入機(jī)床顯示界面,通訊窗口利用按鈕與機(jī)床顯示界面關(guān)聯(lián)。
  
     機(jī)床進(jìn)給速率、轉(zhuǎn)速、加工件數(shù)、循環(huán)時(shí)間、運(yùn)行時(shí)間動(dòng)態(tài)讀取原理和三軸坐標(biāo)系顯示窗口中絕對(duì)坐標(biāo)系的原理相同。
  
     三軸坐標(biāo)顯示窗口嵌入機(jī)床顯示界面需要實(shí)現(xiàn)界面層分析中所述要求,能夠全部顯示以及能夠單獨(dú)顯示。為此,可以通過(guò)點(diǎn)擊不同按鈕作為觸發(fā)條件,并集 “和” 進(jìn)行判斷,由此來(lái)切換顯示窗口。經(jīng)過(guò)調(diào)試,動(dòng)態(tài)顯示的機(jī)床界面如圖 5 所示。

  

圖 5 動(dòng)態(tài)顯示的機(jī)床界面

     4. 結(jié)語(yǔ) 
  
     使用 VS2015 和 Qt 跨平臺(tái)開(kāi)發(fā),以 FANUC0i-F 為具體測(cè)試對(duì)象,進(jìn)行了基于 FANUC 數(shù)控系統(tǒng)機(jī)床軟件的二次開(kāi)發(fā)工作,結(jié)論如下 :在硬件方面,通過(guò)硬件外部接口與 PC 端的連接,達(dá)成了遠(yuǎn)程操作顯示界面、分離操作的目的。目前 CNC 側(cè)和 PC 屏電腦間采用局域網(wǎng)傳輸,今后可以考慮使用廣域網(wǎng)傳輸,進(jìn)一步增加通訊距離 , 豐富應(yīng)用場(chǎng)景。


     在軟件方面,使用 C++ 編程語(yǔ)言、DLL 動(dòng)態(tài)鏈接庫(kù)調(diào)用、FOCAS 庫(kù)函數(shù)、QT 庫(kù)框架編程實(shí)現(xiàn)了以太網(wǎng)通訊的功能,成功通過(guò)內(nèi)部接口完成通訊 ; 實(shí)現(xiàn)了機(jī)床坐標(biāo)動(dòng)態(tài)讀取、進(jìn)給速率、轉(zhuǎn)速的實(shí)時(shí)讀取 ; 能夠?qū)\(yùn)行時(shí)間、加工件數(shù)、循環(huán)時(shí)間進(jìn)行計(jì)數(shù) ; 實(shí)現(xiàn)了對(duì)機(jī)床基本功能狀態(tài)的監(jiān)控 ; 實(shí)現(xiàn)了通過(guò)按鈕關(guān)聯(lián)通訊窗口、彈出隱藏以及嵌入式等操作,簡(jiǎn)化了機(jī)床界面。

    投稿箱:
        如果您有機(jī)床行業(yè)、企業(yè)相關(guān)新聞稿件發(fā)表,或進(jìn)行資訊合作,歡迎聯(lián)系本網(wǎng)編輯部, 郵箱:skjcsc@vip.sina.com
主站蜘蛛池模板: 久久久网 | 久久久久久久国产视频 | 欧美区国产 | 黄色在线观看网站 | 色网站在线观看 | 一区二区av在线 | 精品久久久久久亚洲综合网 | 日本视频在线 | 欧美日韩一区二区视频在线观看 | a免费视频| 欧美国产精品一区 | 国产精品视频久久久 | 黄色片免费在线观看 | av中文字幕在线播放 | 成人在线视频网 | 国产精品亚洲视频 | 午夜精品| 中文字幕免费看 | 久热精品免费 | 久久机热| 中文字幕高清 | 精品国产黄a∨片高清在线 91精品国产91久久久 | 天天操天天碰 | 欧美亚洲三级 | 午夜视频福利在线观看 | 欧美一区二区三区免费观看视频 | 欧美日韩精品一区二区三区蜜桃 | 亚洲一区在线视频 | 91精品国产综合久久久久久 | 国产精品成人一区二区三区 | 超碰一区 | 精品久久国产老人久久综合 | 国产中文字幕一区 | 久9re热视频这里只有精品 | 青青草原综合久久大伊人精品 | 免费久草| 免费大片黄 | 女人久久久 | 久久久www成人免费精品 | 欧美影| 中文字幕一区二区三区四区五区 |