基于PMAC的數(shù)控程序的實現(xiàn)


 FANUC-0I數(shù)控系統(tǒng)仿真界面中,某些GM、T等代碼需要轉(zhuǎn)換成可供PMAC識 別的數(shù)控代碼?;?/span>PMAC加工中心數(shù)控系統(tǒng)利用VB 6.0開發(fā)數(shù)控G代碼編譯程序處理 模塊,主要用于FANUC-0I數(shù)控系統(tǒng)仿真界面中G代碼的轉(zhuǎn)換,現(xiàn)以基于PMAC的宏程 序編程在數(shù)控機床上的應用為例進行介紹。

1. FANUC系統(tǒng)宏程序

FANUC系統(tǒng)提供兩種用戶宏程序,即用戶宏程序功能A和用戶宏程序功能B[31]由 于用戶宏程序功能A的宏程序需要使用G65Hm格式的宏指令來表達各種數(shù)學運算和邏輯 關(guān)系,極不直觀,且可讀性非常差,因而導致在實際工作中很少人使用它[31]。由于絕大部 分的FANUC系統(tǒng)都支持用戶宏程序功能B,因而重點介紹用戶宏程序功能B的相關(guān)知識。

1.1變量及賦值

格式:# ijk;

FANNC系統(tǒng)宏程序的變量是用變量符號#和后面的變量號指定,變量號是用以區(qū)分各 變量。=就是變量的賦值指令,=左邊是被賦值的變量,=右邊是一個數(shù)值表達式[32]。 表達式中包含的運算符有:+、-、*、/、[]以及一些數(shù)學運算函數(shù),也可以包括變量。常 用的數(shù)學運算函數(shù)有:正弦SIN[]、正切TAN[]、平方根SQRT[]、余弦COS[]、反正切 ATAN[]、OR、反余弦ACOS[]、AND[]、反正弦ASIN[]、異或XOR和絕對值函 數(shù)ABS[]等。

1. 2無條件轉(zhuǎn)移GOTO語句

格式:GOTO n;

n是目標程序段的標號,本指令將無條件地轉(zhuǎn)移到標有順序號(行號n的程序段[32];

1.3條件轉(zhuǎn)移指令IF語句

格式1: IF [<條件表達式>]GOTO n;

格式2: IF [<條件表達式>]THEN;

[]中是一個條件表達式,條件表達式中可以包含的運算符有:等于EQ、不等于NE、 大于GT、大于等于GE、小于LT、小于等于LE[33]。如果[]中的條件表達式成立,格式1 中程序?qū)⑥D(zhuǎn)移(跳轉(zhuǎn)到標有順序號(行號n的程序段,否則,順序執(zhí)行下一條指令, 如圖3-3所示[33]。如果[]中的條件表達式成立,格式2中程序?qū)?zhí)行預先指定的宏程序語 句,而且只執(zhí)行一個宏程序語句。

1. 4循環(huán)指令WHILE

格式: WHILE [<條件表達式>] DO m

……

END m

[]里是程序執(zhí)行的判斷條件。DOEND命令后的m是循環(huán)編號;二者之間的程序是 被循環(huán)執(zhí)行的語句,其中允許嵌套另一個WHILE循環(huán)。如果[]中的判斷條件成立,DO END命令之間的程序會不斷運行,否則,將運行END命令后面的程序,如圖3-4所示。

   1.5嵌套

格式1:D0循環(huán)可以多重嵌套,如圖3-5所示。 格式2:條件轉(zhuǎn)移可以跳出循環(huán)的外面,如圖3-6所示。

2.基于PMAC的數(shù)控宏程序的實現(xiàn)

在基于PMAC構(gòu)成的數(shù)控系統(tǒng)中,PMACG代碼作為特殊子程序來調(diào)用。例如在 運動程序中遇到G65代碼,它將認為這是調(diào)用子程序Program 1000中N65000程序段。 為了增加程序的可讀性,我們采用GOSUB{數(shù)值}命令,此命令使運動程序跳轉(zhuǎn)型到同一 運動程序段中{數(shù)值}指定的行號(N0),當程序遇到GOSUB后的RETURN命令后馬 上返回。CALL {數(shù)值}命令與此相似,只是它可以跳轉(zhuǎn)到另一個運動程序,比如CALL 7 將執(zhí)行PROG 7并返回,可用于用戶宏程序功能A的宏程序G65(G66)。用戶宏程序功 能A的宏程序的調(diào)用格式是G65(G66)P_L_[參數(shù)],其中P值為宏程序的程序號,為調(diào)用次數(shù)[34]

FANUC數(shù)控系統(tǒng)的宏程序在PMAC上無法實現(xiàn)直接運行,因此需要將宏程序轉(zhuǎn)化成 PMAC能識別的代碼格式。

2.1進行指令替換,

PMAC能識別的加工程序指令和FANUC機床的編程語言稍有差別。為適應機床操作 人員的習慣,需要將機床操作人員輸入的程序中的某些指令替換成PMAC能識別的指令, 轉(zhuǎn)換后再進行下載、運行。

例如“EQ”需要替換成“=”,“#”需要替換成“vall”,這一過程通過 VB 軟件來進行,

程序代碼如下:

stra1 = Replace(stra1, "EQ", "=", 1, -1, 0)

stra1 = Replace(stra1, "#", "vall", 1, -1, 0)

另外還有一些不能通過替換直接修改的指令,如循環(huán)指令 WHILE,在 FANUC 機床

中,用法為:

WHILE [ <條件表達式>] DO m

……

END m

在 PMAC 中應用需要改為:

WHILE [<條件表達式>]

..….

END WHILE

故需要vb軟件將DO m刪除,將ENDm替換為END WHILE,程序的嵌套通過距離 最近的的未配對的WHILEEND WHILE來實現(xiàn)。

2.2增加程序的可讀性

PMAC中參數(shù)的存儲變量都是PQ等固定字母加數(shù)字組成的,例如p201,因此變量 名稱沒有特定含義,加工程序易讀性較差,VB軟件在進行加工程序處理時可自動在加工 程序之前加上定義,增強可讀性,例如定義變量p201vail:

Text2.Text = "#define val1 p201" & vbCrLf & Text2.Text

為了 PMAC能夠識別程序代碼,需要按照PMAC程序代碼格式對程序進行轉(zhuǎn)換。例 如在經(jīng)過校驗的運動程序開頭添加清空緩沖區(qū)指令,把程序號00007轉(zhuǎn)換為open prog clear,在程序結(jié)尾處加上關(guān)閉緩沖區(qū)指令’’close”,VB程序代碼如下:

t1 (0) = "define tbuf 1" & vbCrLf & "open prog " & zzz & " clear"

Text2.Text = t1 (0) & Text2.Text & vbCrLf & " close "

對于PMAC可以直接識別的代碼,把原程序代碼進行復制即可。例如G、M、T、D 代碼,+、-、*、/運算代碼,SIN()、COS等數(shù)學運算函數(shù)代碼,XY、Z等代碼[2]。

[1] VB軟件界面設(shè)計

為對上述構(gòu)想進行程序驗證,采用VB軟件編寫數(shù)控界面。左上角的窗口用來給操作 人員輸入程序。右上角的窗口用來顯示轉(zhuǎn)換后的PMAC能識別的程序。點擊“宏程序橢圓” 轉(zhuǎn)換按鈕,在PMAC程序窗口出現(xiàn)轉(zhuǎn)換后的結(jié)果,即PMAC可識別的控制卡代碼[35]。如 圖3-7所示。

下面列出實現(xiàn)宏程序功能的關(guān)鍵VB源代碼:

Private Sub 宏程序橢圓_Click()

stra1 = Text1(0).Text

hcxpd = 0

If (InStr(stra1, "#")) Then hcxpd = 1

stra1 = Replace(stra1, "#", " vall ", 1, -1, 0)

……

stra1 = Replace(stra1, "]", ")", 1, -1, 0)

t1 = Split(stra1, ";")

t2 = Split(t1(0), " ")

n = t2(1)

cxh = Replace(n, "0", "", 1, -1, 0)

zzz = Replace(n, "0", "", 1, -1, 0)

t1(0) = "define tbuf 1" & vbCrLf & "open prog " & zzz & " clear"

Text2.Text = ""For i = 1 To ( UBound (t1) - 1)

t1(i) = Mid(t1(i), 8, 255)

Text2.Text = Text2. Text & vbCrLf & t1(i)

Next i

Text2.Text = t1(0) & Text2. Text & vbCrLf & "close"

If hcxpd = 1 Then

For i = 1 To 10

Text2.Text = "#define val" & i & " p20" & i - 1 & vbCrLf & Text2.Text

Next i

For i = 11 To 12

Text2.Text = "#define val" & i & " p2" & i - 1 & vbCrLf & Text2.Text

Next i

End If

End Sub

2.4將宏程序下載到PMAC中和運行程序

下載PMAC程序,需要先將轉(zhuǎn)換后的G代碼程序存入文件中,文件后綴pmc,之后 通過PmacDownloadA指令將上述程序下載到PMAC中,“Download代碼”按鈕可以將轉(zhuǎn) 換后的程序下載到PMAC中。

點擊“運行”按鈕,通過PmacGetResponseA指令將運動命令下載到PMAC中,即可

實現(xiàn)PMAC的宏程序加工。其中關(guān)鍵的VB源代碼如下:

retum_value PmacGetResponseA(DeviceNumberresponse255, ”#lb” cxh r”)其 中cxh為程序號。

本文由伯特利數(shù)控整理發(fā)表文章均來自網(wǎng)絡僅供學習參考,轉(zhuǎn)載請注明!

 

相關(guān)內(nèi)容可查閱:主頁(加工中心)、產(chǎn)品頁(CNC加工中心)、文章頁(數(shù)控加工中心

 

本文采摘自“基于PMAC的加工中心開放式數(shù)控系統(tǒng)研究”,因為編輯困難導致有些函數(shù)、表格、圖片、內(nèi)容無法顯示,有需要者可以在網(wǎng)絡中查找相關(guān)文章!

標簽: 加工中心  數(shù)控加工中心  CNC加工中心  立式加工中心  線軌加工中心  高速加工中心  
分類: 加工中心  
上一篇VB環(huán)境下PMAC卡的初始化
下一篇數(shù)控加工程序仿真圖形的生成

加工中心  數(shù)控加工中心  CNC加工中心  立式加工中心  線軌加工中心  高速加工中心  相關(guān)內(nèi)容

——

11

2024-12

U600S五軸加工中心視頻

此視頻詳細介紹了U600S高性能五軸加工中心各種參數(shù)及說明!… [了解更多]

05

2024-11

六角亭五軸加工工藝

本文以組合式六角亭模型為實例,分析工藝難點與加工可行性,指出該模型的加工難點是模型形狀不規(guī)則和整體剛性差,并通過設(shè)計新的工藝方案解決加工難點,完成了模型整體的加工。新的加工工藝有助于提高加工效率和精度,為五軸數(shù)控加工提供了一個典型案例,對于五軸加工中心數(shù)控加工也具有指導作用和重要… [了解更多]

05

2024-11

自適應控制方法在混聯(lián)五軸加工中心中的應用

宇匠數(shù)控 備注:為保證文章的完整度,本文核心內(nèi)容由PDF格式顯示,如未有顯示請刷新或轉(zhuǎn)換瀏覽器嘗試,手機瀏覽可能無法正常使用!本文摘要:通過對混聯(lián)五軸加工中心自適應深度學習控制方法的 研 究,可 知 此 方 法 的 創(chuàng) 新 之 處 在 于:1)建 立 了 機 床 的 運 動 學 … [了解更多]

05

2024-11

五軸加工中心和五軸鉆攻中心在機測量探頭補

在機測量技術(shù)由于其成本低、檢測效率高、無需二次裝夾等優(yōu)勢被廣泛用于零件加工測量當中,使得五軸加工中心和五軸鉆攻中心,同時又兼具測量功能。在機測量系統(tǒng)的構(gòu)成如圖1所示,硬件部分主要是由高精度探頭、信號接收器、機床整個本體,軟件部分由機床控制系統(tǒng)、測量軟件等組成[8]。待零件加工完成… [了解更多]

05

2024-11

五軸加工中心進給系統(tǒng)動態(tài)誤差影響因素

?加工精度是影響機床性能和產(chǎn)品質(zhì)量的主要難題,也是制約國家精密制造能力的重要因素。本文以五軸加工中心為對象,針對提升機床精度進行了研究。并且隨著科技的發(fā)展,精密的儀器和零件在生產(chǎn)實踐中占據(jù)的分量逐漸增加,在數(shù)控機床這種精密機器精度不斷提高的同時,必須控制內(nèi)外界環(huán)境的隨機影響因素在… [了解更多]


產(chǎn)品中心

——